(DEFUN SUB_LINE()
(SETQ SLI_10 (CDR (ASSOC 10 Q)))
(SETQ SLI_11 (CDR (ASSOC 11 Q)))
(IF (= A_KEY “VERT”)
(PROGN
(IF (= AL_DAT nil)(SETQ AL_DAT (LIST (CAR SLI_10) AL_DAT))
(SETQ AL_DAT (CONS (CAR SLI_10) AL_DAT))
)
(SETQ AL_DAT (CONS (CAR SLI_11) AL_DAT))
)
)
(IF (= A_KEY “HORIZ”)
(PROGN
(IF (= AL_DAT nil)(SETQ AL_DAT (LIST (CADR SLI_10) AL_DAT))
(SETQ AL_DAT (CONS (CADR SLI_10) AL_DAT))
)
(SETQ AL_DAT (CONS (CADR SLI_11) AL_DAT))
)
)
)
(DEFUN SUB_CIRCLE()
(SETQ CLI_10 (CDR (ASSOC 10 Q)))
(IF (= A_KEY “VERT”)
(PROGN
(IF (= AL_DAT nil)
(SETQ AL_DAT (LIST (CAR CLI_10) AL_DAT))
(SETQ AL_DAT (CONS (CAR CLI_10) AL_DAT))
)
)
)
(IF (= A_KEY “HORIZ”)
(PROGN
(IF (= AL_DAT nil)
(SETQ AL_DAT (LIST (CADR CLI_10) AL_DAT))
(SETQ AL_DAT (CONS (CADR CLI_10) AL_DAT))
)
)
)
)
(DEFUN SUB_POLYLINE()
(SETQ T “TTT”)
(WHILE T
(SETQ C (ENTNEXT C))
(IF (= C nil)
(SETQ T nil)
(PROGN
(SETQ PL_A (ENTGET C))
(SETQ PL_K (CDR (ASSOC 0 PL_A)))
(IF (= PL_K “VERTEX”)
(PROGN
(SETQ PLI_10 (CDR (ASSOC 10 PL_A)))
(IF (= A_KEY “VERT”)
(PROGN
(IF (= AL_DAT nil)
(SETQ AL_DAT (LIST (CAR PLI_10) AL_DAT))
(SETQ AL_DAT (CONS (CAR PLI_10) AL_DAT))
)
)
)
(IF (= A_KEY “HORIZ”)
(PROGN
(IF (= AL_DAT nil)
(SETQ AL_DAT (LIST (CADR PLI_10) AL_DAT))
(SETQ AL_DAT (CONS (CADR PLI_10) AL_DAT))
)
)
)
)
(SETQ T nil)
)
)
)
)
)
(DEFUN SUB_SORT_1()
(SETQ SO_D (CDR (REVERSE AL_DAT)))
(SETQ SO_L (LENGTH SO_D))
(SETQ KEY 0)
(SETQ T1 “TTT”)
(WHILE T1
(SETQ SO_AS (NTH KEY SO_D))
(SETQ KEY (1+ KEY))
(IF (= SO_AS nil)(SETQ T1 nil)
(PROGN
(SETQ KEY1 0)
(SETQ SOR ‘())
(SETQ T2 “TTT”)
(WHILE T2
(SETQ SO_AD (NTH KEY1 SO_D))
(IF (= SO_AD nil)(SETQ T2 nil)
(PROGN
(IF (= SOR nil)(SETQ SOR (LIST SO_AS SOR)))
(SETQ AS_1 (- SO_AS 0.000000001))
(SETQ AS_2 (+ SO_AS 0.000000001))
(IF (AND (< AS_1 SO_AD)(> AS_2 SO_AD))
(SETQ KEY1 (1+ KEY1))
(PROGN (SETQ SOR (CONS SO_AD SOR))
(SETQ KEY1 (1+ KEY1)))))
)
)
)
)
(SETQ SO_D (CDR (REVERSE SOR)))
)
(SETQ SO_L (LENGTH SO_D))
(SETQ KEY 0)
(SETQ SOR ‘())
(REPEAT SO_L
(SETQ SO_Y (NTH KEY SO_D))
(SETQ SO_X (CONS KEY SO_Y))
(IF SOR (PROGN
(SETQ SOR (CONS SO_X SOR))
(SETQ KEY (1+ KEY)))
(PROGN
(SETQ SOR (LIST SO_X SOR))
(SETQ KEY (1+ KEY)))
)
)
(SETQ SO_D (CDR (REVERSE SOR)))
)
(DEFUN SUB_SORT_2()
(SETQ SU_KEY (LENGTH SO_D))
(REPEAT SU_KEY
(SETQ SO_KEY 0)
(SETQ T “KEY”)
(WHILE T
(SETQ SO_1 (NTH SO_KEY SO_D))
(SETQ SO_2 (NTH (1+ SO_KEY) SO_D))
(IF (= SO_2 nil)(SETQ T nil)
(PROGN
(SETQ SO_F1 (CDR SO_1))
(SETQ SO_L1 (CDR SO_2))
(IF (> SO_F1 SO_L1)(SETQ SO_KEY (1+ SO_KEY))
(PROGN
(SETQ CH_A1 (CAR SO_1))
(SETQ CH_A2 (CDR SO_1))
(SETQ CH_A3 (CAR SO_2))
(SETQ CH_A4 (CDR SO_2))
(SETQ CH_1 (CONS CH_A1 CH_A4))
(SETQ CH_2 (CONS CH_A3 CH_A2))
(SETQ SO_D (SUBST CH_1 SO_1 SO_D))
(SETQ SO_D (SUBST CH_2 SO_2 SO_D))
(SETQ SO_KEY (1+ SO_KEY))
)
)
)
)
)
)
)
(DEFUN SUB_DIM()
(IF (= A_KEY “VERT”)(SETQ DI_A (CADR P4)))
(IF (= A_KEY “HORIZ”)(SETQ DI_A (CAR P4)))
(SETQ SU_KEY (LENGTH SO_D))
(IF (= A_KEY “VERT”)
(PROGN
(SETQ DI_FR (LIST (CDR (NTH 0 SO_D)) DI_A))
(SETQ DI_LA (LIST (CDR (LAST SO_D)) DI_A))
(COMMAND “DIM” “HORIZ” DI_LA DI_FR (POLAR P4 A_ANG LE_H) “”)))
(IF (= A_KEY “HORIZ”)
(PROGN
(SETQ DI_FR (LIST DI_A (CDR (NTH 0 SO_D))))
(SETQ DI_LA (LIST DI_A (CDR (LAST SO_D))))
(COMMAND “DIM” “VERT” DI_LA DI_FR (POLAR P4 A_ANG LE_H) “”)))
(SETQ SU_K (- SU_KEY 1))
(SETQ SO 1)
(REPEAT SU_K
(IF (= A_KEY “HORIZ”)(PROGN
(SETQ DI_NE (LIST DI_A (CDR (NTH SO SO_D))))
(IF (= SO 1)(COMMAND “DIM” “VERT” DI_FR DI_NE (POLAR P4 A_ANG LE_T) “”)
(COMMAND “DIM” “CONT” DI_NE “”))))
(IF (= A_KEY “VERT”)(PROGN
(SETQ DI_NE (LIST (CDR (NTH SO SO_D)) DI_A))
(IF (= SO 1)(COMMAND “DIM” “HORIZ” DI_FR DI_NE (POLAR P4 A_ANG LE_T) “”)
(COMMAND “DIM” “CONT” DI_NE “”))))
(SETQ SO (1+ SO))
)
(COMMAND “EXIT”)
(COMMAND “DIMZIN” 0 “DIMTIX” OFF “”)
(COMMAND “LAYER” “S” LA_YER “”)
)
(DEFUN C:ad_6()
(REDRAW)
(SETQ LA_YER (GETVAR “CLAYER”))
(COMMAND “LAYER” “M” “DIM” “C” “” “” “S” “DIM” “”)
(SETQ OS_MODE (GETVAR “OSMODE”))
(SETVAR “OSMODE” 0)
(SETVAR “CMDECHO” 1)
(SETVAR “ORTHOMODE” 1)
(prompt “n < Design System>”)
(PROMPT “n * SELECT OBJECT TO DIM *”)
(SETQ LE_H (* 30 (GETVAR “DIMSCALE”)))
(SETQ LE_T (* 20 (GETVAR “DIMSCALE”)))
(SETQ AL_DAT ‘())
(SETQ H (SSGET))
; (SETQ P1 (GETPOINT “n SELECT FIRST POINT :”))
; (SETQ P2 (GETCORNER “n SELECT AREA POINT :” P1))
(SETQ P3 (GETPOINT “n ANGLE FIRST POINT :”))
(SETQ P4 (GETPOINT “n ANGLE END POINT :” P3))
(SETQ A_KEY nil)
(SETQ A_ANG (ANGLE P3 P4))
(IF (OR (= A_ANG (* 1.5 PI))(= A_ANG (* 0.5 PI)))
(SETQ A_KEY “VERT”))
(IF (OR (= A_ANG PI)(= A_ANG 0))
(SETQ A_KEY “HORIZ”))
(SETQ B (SSLENGTH H))
(SETQ INDEX 0)
(REPEAT B
(SETQ C (SSNAME H INDEX))
(SETQ Q (ENTGET C))
(SETQ SP (CDR (ASSOC 0 Q)))
(IF (= SP “LINE”)(SUB_LINE))
(IF (= SP “CIRCLE”)(SUB_CIRCLE))
(IF (= SP “POLYLINE”)(SUB_POLYLINE))
(SETQ INDEX (1+ INDEX))
)
(SUB_SORT_1)
(SUB_SORT_2)
(SUB_DIM)
(SETVAR “OSMODE” OS_MODE)
(SETVAR “HIGHLIGHT” 1)
(PRIN1)
)
——————————————————————————–
자동치수 리습인데 2008에서는 사용이 되는데 2012버젼에서는
——————————————————————————–
객체 선택:
ANGLE FIRST POINT :
ANGLE END POINT :DIM
** 해당 명령은 투명명령처럼 호출될 수 없음 **
; 오류: 함수가 취소되었습니다.
————————————————————————————
이렇게 메세지가 나오네요.. 고수님들 부탁드립니다…