(defun c:TII ( / e en ent na pc r s1 s2)
(setq olderr *error* *error* clxerr)
; (setq os_mode (getvar “osmode”))
; (setvar “cmdecho” 0) (setvar “blipmode” 0)
; (setvar “osmode” 0) (setvar “orthomode” 0)
(if (not ext_va) (setq ext_va kl_10))
(setq e 0 fi_na “c:\mddraw\clrdcl\cen.clr” ff_op (open fi_na “r”)
clr (read-line ff_op))
(close ff_op)
(setq lay (getvar “clayer”) e 0)
(while e
(setq en (entsel “nTAP 속파이 선택: “))
(if (= en nil)
(setq e nil)
(progn
(setq ent (entget (car en)))
(setq na (cdr (assoc 0 ent)))
(if (and (/= na “CIRCLE”) (/= na “ARC”))
(setq e nil)
(progn
(setq pc (trans (cdr (assoc 10 ent)) 0 1))
(setq r (* (cdr (assoc 40 ent)) 2))
(command “insert” r PC “” “” “” “EXPLODE” “l” “” )
(subcl1 (car pc) (cadr pc))
)
);p
);i
);p
);i
);w
(command “layer” “s” lay “”)
(setq *error* olderr)
; (setvar “osmode” os_mode)
(princ)
—————————
위에 리습은 특정한 원,아크 선택했을때 그 원의 파이값 추출하여서
블럭 삽입할때 파이값의 이름을 가진 블럭을 그 자리에 삽입 하는 리습 입니다.
EX) 3.0 파이 짜리 원을 위에 리습으로 실행 시키고 그 원을 선택하면 3.0.dwg 화일이 그원점에 들어 오는 블럭입니다.
다른 리습을 조금씩 변경하여서 만들어서 엄청 허접합니다. ㅡㅡ
—–
제가 원하는 리습은
예) 3.1 파이 또는 3.4 파이 원또는 아크를 선택했을때
3.1 파이 중심에 특정 (M5.dwg) 의 블럭 이 삽입되는 3.4 파이 중심에 (M6.dwg) 이런 블럭이 삽입되는
리습을 원합니다. ^^
추가로 원한다면 ^^
3.1 파이 여러게 있을때.. 한번에 드래그해서 그 원점에 일괄로 지정된 (m5.dwg) 화일이 들어 가는 방식이면 더 좋겠습니다. ^-^
(DEFUN C:ttii()
(SETQ ENT10 (ENTSEL “nTAP 속파이 선택:”)
A10 (CAR ENT10)
B10 (ENTGET A10)
STAP1 (ASSOC 40 B10)
PINT1 (ASSOC 10 B10)
STAP2 (CDR STAP1)
STAP3 (ATOF (STAP2))
PINT2 (CDR PINT1)
STAP4 (strcat STAP2 “X”))
(command “insert” STAP4 PINT2 “” “” “” “EXPLODE” “l” “” )
위에 리습도 이렇게 해봤는데.. ㅋㅋ
영 작동을 안하네요 ^–^
(PRINC)
)