(defun c:PO( / #circle-size #text-size #font #arrow-size #layer-name
p1 p2 p3 p4 #qq
)
(setq #circle-size 4.5
#text-size 3
#font “GHS”
#arrow-size 3
#layer-name “풍선”
)
;;_________________________________________________________Sub Routine – 01
(defun PTE:start( variable-list / )
(setq *variable* (mapcar ‘getvar variable-list)
*list* variable-list
)
(vla-startundomark (vla-get-ActiveDocument (vlax-get-acad-object)))
)
;;_________________________________________________________Sub Routine – 02
(defun PTE:end ()
(mapcar ‘setvar *list* *variable*)
(vla-endundomark (vla-get-ActiveDocument (vlax-get-acad-object)))
(setq *list nil *variable* nil)
)
;;_________________________________________________________Make Style
(entmake (list (cons 0 “LAYER”)
(cons 100 “AcDbSymbolTableRecord”)
(cons 100 “AcDbLayerTableRecord”)
(cons 2 #layer-name)
(cons 70 0)
(cons 62 4)
(cons 6 “CONTINUOUS”)))
(vl-cmdf “-STYLE” “ST-text” #font “0” “” “0” “N” “N” “N”)
;;________________________________________________________Error Function
(defun *error* (s)
(PTE:end)
(setq *ERROR* nil)
)
;;======================================================================
;; M A I N – R O U T I N E
;;======================================================================
(setq #sc (getvar ‘dimscale))
(PTE:start ‘(“clayer” “orthomode” “osmode” “dimclrd” “dimasz” “cmdecho”))
(mapcar ‘setvar *list* (list #layer-name 0 0 256 #arrow-size 0))
(if (= nil #qq_t)(setq #qq_t “-“))
(setq p1 (getpoint “nLeader Start Point: “)
p2 (getpoint p1 “nLeader To Point: “)
)
(if (or (> (* 0.5 pi)(angle p1 p2)) (< (* 1.5 pi)(angle p1 p2)))
(setq p3 (polar p2 0 (* (+ #circle-size 7) (getvar ‘dimscale))))
(setq p3 (polar p2 pi (* (+ #circle-size 7) (getvar ‘dimscale))))
)
(setq p4 (polar p3 (angle p3 p2) (* #circle-size #sc)))
(vl-cmdf “leader” P1 P2 “” “” “n”)
(entmakex (list (cons 0 “CIRCLE”)
(cons 10 p3)
(cons 40 (* #circle-size #sc))))
(vl-cmdf “line” P2 P4 “”)
(setq #qq (getstring (strcat “nCIRCLE IN GOTO NUMBER <” (strcat “P” #qq_t) “> :”)))
(if (= #qq “”) (setq #qq #qq_t))
(vl-cmdf “text” “s” “ST-text” “j” “mc” P3 (* #sc #text-size) “0” (strcat “P” #qq))
(vl-cmdf “change” (ssget “l”) “” “p” “c” “풍선” “”)
(setq #qq_t #qq)
(PTE:end)
(princ)
)
위 리습을 사용시
P 땡땡땡 으로 고정되어 나오는데
P <- 다른 스펠링으로도 변경 가능했으면 하고..
지시선&풍선이 생성시 하나의 묶여있는 객체(그룹) 으로 되면 참 좋을거 같습니다
숫자는 2자리만 되어도 꽉차는데.. 원형 사이즈를 키우면 될거같긴한데
원형보단 타원으로 바꾸고 싶은데 가능하려나요
아 그리고 리습을 다 실행시킨후
연속으로 작업이 되는거 같긴한데
그 뒷작업은 항상 오류가 뜨더라구여 ㅡ.ㅡ
왜그런건지;;
연속작업 안되거나 아님 되면 숫자 증감식으로 가면 참 좋을거 같은데..