우와!!!복사하니 무지 많네요…검토하기 짜쯩나면 어케하나….지송…^^;;
다름이 아니오라~…AD라는 치수기입 리습인데요…R14때 쓰던거라…2004에서 사용하려니 환경이 좀 안맞네요…첫번째질문=딤스타일을 현재 선택된 딤스타일로 자동으로 바꾸고 싶습니다..이 리습을 사용하면 자체 정의된 딤스타일로 치수가 기입이 되는데요..이치수선이 맘에 안들어서요..그래서 캐드상에서 딤스타일을 변경하고 커런트 딤스타일로 설정한 다음 이리습을 사용하면 자동적으로 현재 캐드상에서 선택된 치수스타일로 기입이 될수있을까요?..
두번째질문=이리습이 종료되면 오스냅을 몽땅 다 잡고 싶은데요…될런지..^^;;
좋은 답변 부탁드립니다..수고하세요
(defun m:AD (/ _SC _DT _ORTHO _OSM AD## DSTT AD#Q P1 P2 P3 ANG A1 A2 AA
MM MODE)
(princ (strcat “ntAD, Version ” version “,” logo “”))
(setvar “cmdecho” 0)
(setq _SC (getvar “ltscale”))
(setq _DT (getvar “dimtxt”))
(setq _ORTHO (getvar “orthomode”))
(setq _OSM (getvar “osmode”))
(if (= AD_DLI nil)(setq AD_DLI (* _DT 3)))
(setsty “sim” “simplex” “1”)
(setq m:err *error* *error* *merrmsg*)
(defun AD## ()
(setq DSTT (getreal (strcat “n>> Distance<"(rtos AD_DLI 2 1)"> : “)))
(if (numberp DSTT)(setq AD_DLI DSTT))
(AD#Q)
)
(setvar “orthomode” 0)
(defun AD#Q ()
(setvar “osmode” 1)
(initget “Dist”)
(setq P1 (getpoint (strcat
“n>> Dist<"(rtos AD_DLI)">/First extention line origin : END of”)))
(cond ((= P1 “Dist”)(AD##)))
)
(AD#Q)
(setvar “osmode” 128)
(setq P2 (getpoint P1 “n>> Second extention line origin : PER of”))
; (setq ANG (angle P1 P2)
; A1 (rtd ANG)
; A2 (rtos A1 2 0)
; )
; (if (or (/= A2 “0”) (/= A2 “360”) (/= A2 “180”) (/= A2 “90”) (/= A2 “270”))
; (setq MODE “al”))
; (if (or (= A2 “0”) (= A2 “360”) (= A2 “180”))
; (setq MODE “hor”))
; (if (or (= A2 “270”) (= A2 “90”))
; (setq MODE “ver”))
(setlay “dim”)
(setvar “osmode” 0)
(command “dim1” “AL” P1 P2 pause “”)
(setvar “osmode” 128)
(setq P3 (getpoint P2 “n>> Next extention line orgin : PER of”))
(if (/= P3 nil)
(progn
(setvar “dimse1” 1)
(while P3
(setq PP P3)
(setvar “osmode” 0)
(command “dim1” “co” P3 “”)
(setvar “osmode” 128)
(setq P3 (getpoint P3 “n>> Next extention line orgin : PER of”))
)
(setvar “dimse1” 0)
(setq NN (getpoint “n>> IF, double=mouse pick, or single=enter.”))
(if (/= NN nil)
(progn
(setvar “osmode” 0)
; (setq pp(polar pp (+ (angle p1 pp) (/ pi 2.0)) 0.1));
(setq pp(list (+ (car pp) 0.00000001) (+ (cadr pp) 0.000000001) (caddr pp)))
(command “dim1” “co” PP “”)
(setq ll(entlast))
(setvar “dimdli” AD_DLI)
(command “dim1” “bas” P1 “”)
(entdel ll)
(setvar “dimdli” 0)
)
)
)
)
(rtnlay)
(rtnsty)
(setvar “osmode” _OSM)
(setvar “orthomode” _ORTHO)
(princ)
)
(defun C:AD () (m:AD))
(princ “nt Auto Dimension loaded. Command: AD “)
(princ)