원클릭으로 치수 작성해주는 리습인데
단점이 치수가 정렬치수로 된다는 점입니다
이걸 선형치수로 변경해 주실 수 있으실까요?
꼭 좀 부탁 드립니다
(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 : “)))
    (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/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)
간단히
(defun c:ad(/ en p1 p2)
(while (setq en (entsel “n라인 연속 선택:”))
(setq en (entget (car en)))
(setq p1 (cdr (assoc 10 en))
p2 (cdr (assoc 11 en)))
(command “_DIMALIGNED” p1 p2 “”) ;따움표사이 역슬레쉬 기호 2개 넣어야됨 사이트애러
)
(princ)
)