성심 성의껏 질문을 작성하여 주세요, 대충하시면 답변도 대충작성합니다.^^
① CAD 종류 : auto cad
② VERSION : 2012
③ 운영 체제 : 64bit 윈도우 7
④ 질문내용 및 스크린샷(이미지 및동영상)

단축키를 누르고 프레스 글씨 찍고 다이글씨를 찍으면 다이의 글자가 프레스글자로 바뀌는
리습 요청합니다 ... 전에 파일이 날아가버려서 답이없네요 ㅠㅠ
⑤ 파일첨부 (LISP/DWG) - DWG 첨부시 보다 정확한 답변을 얻을수 있습니다.
텍스트 변경.lsp
※ 유의사항
- ①말머리 : 말머리를 달아야 구분이 쉽겠죠^^(필수 선택)
- ②Screenshot : 이해를 돕기위해 삽입요망.
- ③파일 첨부 : 상위버전에서 테스트할 파일이 아니면 가급적 하위버전으로 저장후 첨부.
해당리습/해당파일(DWG) 도 같이 첨부하여 주세요.
- ④제 목 : 질문 내용 반영(개략적인 내용), 예) 해치를 만들고 싶어요, pline을 연결할려면?
금지어(만들어주세요? 해주세요? 안되는데 이렇게 변경해주세요? 등등)
- ⑤질문글 삭제금지 : 질문후 댓글이 달린글은 삭제금지.
여러 리플러들이 소중한 시간을 내어서 고민한후 댓글을 작성한 이상 "강력조치" 토록 하겠음.
※ 정답만이 댓글은 아닙니다. 그 답이 맞던 틀리던 그건 그 댓글로서 존중되어야 합니다.
회원님들이 글을 읽었다는것과 댓글을 달았다는건 그만큼 관심을 가지고 있고 또 그 답을 해주기 위해
검색도 해보고 도움말도 보고 고민도 하는 일련의 과정을 거치면서 나오기 때문이죠.
이에 대한 고마움과 감사함을 모르는 테러행위(?)는 없었으면 합니다.
첫댓글 단축키와 변경할 문자열은 아래 구문에서 변경해서 사용하세요~
일단 설명주신대로 동작하도록 구문 작성해두었습니다.
(defun c:pd nil (#TXCHANGE "PRESS" "DIE"))
(defun #TXCHANGE ($TXO $TXC / ss n ob)
(vl-load-com)
(or (setq ss (ssget (list (cons 1 (strcat "*" $TXO "*"))))) (quit))
(setq n (sslength ss))
(repeat n
(setq ob (vlax-ename->vla-object (ssname ss (setq n (1- n)))))
(vla-put-TextString ob (vl-string-subst $TXC $TXO (vla-get-TextString ob)))
)
(sssetfirst nil ss)
(prompt (strcat "\n" (rtos (sslength ss) 2 0) "개의 문자가 변경 되었습니다."))
(princ)
)
와 감사합니다 리습의고수시네요 !! 혹시 저 문자열 외적으로 설정안하고 아무거나 바로바로 123 -> 1 찍으면 123 되고 여러문구를 지정안하고 바로바로 하는 리습도 가능하시나요? ...넘욕심인거같지만 ㅠ
문자내용 전체를 복사하신다면 아래 주소의 리습으로 가능합니다.
http://cafe.daum.net/archimore/ISg0/306
문자내용 치환이라면 mtext일땐 좀 변수가 있을 수 있겠네요.
앞서 답변 드린 구문에 아래 줄을 추가해보세요
(defun c:tst (/ a b)
(mapcar
'(lambda (x y)
(while
(not
(and
(= (type (set x (entsel (strcat "\n" y "문자 객체 선택: ")))) 'LIST)
(wcmatch (cdr (assoc 0 (set x (entget (car (eval x)))))) "*TEXT")
)
)
(prompt "\n문자를 지정하세요.")
)
(set x (cdr (assoc 1 (eval x))))
)
'(a b) '("변경할 원본 내용을 가진 " "치환할 내용을 가진 ")
)(#TXCHANGE a b)
)
주소로 주신! 리습파일로 성공했습니다! 감사합니다!! 단축키 설정경우 F1 F2 (이에스시 옆라인) 자판 맨위에 줄에있는 F5로 하고싶은데 이런부분은 어떻게 설정하는지 알수있을까요?
@바부야 http://cafe.daum.net/archimore/ESJM/396
저는 해보지 않았지만 위 글에서 mnu파일을 받아서 아래 부분을 수정하신 다음 올리면 작동 할 것 같습니다.
***accelerators
["F5"](c:DS)
@예성 초보자라 하다가 머날라가서 방금 ㅋㅋㅋ 캐드다시 깔았네요
신경써주셔서감사합니다!. ㅅ성공햇네요 ....ㅋㅋㅋ감사합니다
감사합니다.
지금 텍스트 올렸는데 지금상태는 ex) 123 클릭 엔터 후 456 드래그 엔터 해야 123으로 바뀌는데 123 클릭후 456 찍으면 바로 바뀔수있게 수정해주실수 있으신가요?
ds 명령을 실행하고 모드(O)로 진입해서 실시간(R)로 변경해보세요~
이걸 말하시는건가요?ㅎㅎ
제가예전에 썻던거 리습자체였었는데... 또 이렇게옵션으로도 할수 있다니.. ;; 예성님클라스!굳 입니다
(defun c:t1 ()
(setvar "cmdecho" 0)
(prompt "\n SELECT OF BASE TEXT :")
(initget 1)
(setq ens (entsel))
(setq ent (entget (car ens)))
(setq dx1(cdr (assoc 1 ent)))
(while (/= nil)
(prompt "\n SELECT OF change TEXT :")
(initget 1)
(setq ens (entsel))
(setq ent (entget (car ens)))
(setq dx2 (assoc 1 ent))
(setq dx11 (cons 1 dx1))
(setq chtext (subst dx11 dx2 ent))
(entmod chtext)
(princ)
) ;while
)
간단하게 만들어 쓰고 있습니다. 참조 하세요.
Select object: ; error: bad argument type: FILE "B" 라고뜨면서
....안되네욤...;;ㅋㅋㅋㅋㅋㅋ
감사합니다~!!
잘 되는데
제가..초보자라 그런듯하네요 그래도감사합니다!
@바부야 (princ "\n dx1=" dx1) -> (princ (strcat "\n dx1=" dx1)) 바꾸면 잘 실행 됩니다..~!
(princ "\n dx1=" dx1) -> 삭제 해도 되는 부분 입니다.
(princ "ent") -> 삭제 해도 되는 부분 입니다.
위에 수정 하였습니다. ㅠㅠ
참고로 치수 됩니다. (치수 속성 "<>")
오 한솔님 감사합니다! ㅋㅋ됐네요!!
감사합니다.