¿£Áö´Ï¾î ±â¼úºí·Î±×
°æ°è¼± ÁöÁ¤¾øÀÌ ÀÚ¸¦¼±¸¸ ¼±ÅÃÇϸé Æ®¸²ÀÌ µÇ´Â....
(°æ°è¼±Àº ¼±ÅÃÇÑ ÀÚ¸¦¼±¿¡¼­ °¡Àå °¡±î¿î °´Ã¼¸¦ °æ°è·Î ÀÚµ¿ ÀνÄÇÔ)

;
;ÀÚµ¿Æ®¸² - ¶óÀÎ,Æú¸®¶óÀÎ,¿ø,¾ÆÅ©
;
(defun C:TR(/ ent entl ent-p ent-name ent-length ent-length2 ent-ptlist ents-t ents)
  (vl-load-com)
    (setq osm (getvar "osmode"))
  (setvar "cmdecho" 0)
  (setvar "blipmode" 0)
  (setvar "osmode" 0)
  (setq ent (entsel "n Àß¶ó³¾ °´Ã¼¸¦ ¼±Åà Çϼ¼¿ä :"))
 (while (/= cadr ENT nil)
  (setq ent-p (car (cdr ent)))
  (setq entl (entget (car ent)))
  (setq ent-name (cdr (assoc 0 entl)))
  (command "Lengthen" ent "")
  (setq ent-length (getvar "PERIMETER"))
  (cond
    ((= ent-name "LWPOLYLINE")(setq ent-ptlist (getpolyvtx entl)))
    ((= ent-name "LINE")      (setq ent-ptlist (list (cdr (assoc 10 entl)) (cdr (assoc 11 entl)))))
    ((= ent-name "ARC")       (tt-sub_arc2 (car ent)))
    ((= ent-name "CIRCLE")    (tt-sub_arc2 (car ent)))
    (T (prompt "nt [¾È³»] ¶óÀÎ,Æú¸®¶óÀÎ,¿ø,¾ÆÅ©°¡ ¾Æ´Õ´Ï´Ù !! :"))
  );cond
  (if ent-ptlist
    (progn
      (setq ents-t (ssget "F" ent-ptlist))
      (command "Trim" ents-t "" ent-p "")
      (if ent
        (progn
          (command "Lengthen" ent "")
          (setq ent-length2 (getvar "PERIMETER"))
          (if (= ent-length ent-length2)
            (command "Erase" ent "")
          );if
        );progn
      );if
    );progn
  );if
 (setq ENT (entsel "n ´ÙÀ½ °´Ã¼¸¦ ¼±ÅÃÇϼ¼¿ä(Ãë¼Ò´Â...ESC ¶Ç´Â ºó°ø°£ ¼±ÅÃ) :"))
 ); while
   (setvar "osmode" 32)
 (princ)
);defun
(defun tt-sub_arc2 (ename)
  (setq obj (vlax-ename->vla-object ename))
  (setq obj-st (vlax-curve-getStartParam obj))
  (setq obj-ed (vlax-curve-getEndParam obj))
  (setq d (/ ent-length 20)) ; ¼±ÅÃÇÑ°ÍÀÇ ±æÀ̸¦ 20À¸·Î ³ª´©¾î¼­ Æ÷ÀÎÆ®¸¦ µîºÐ.
  (setq ix 1)
  (setq ent-ptlist nil ent-ptlist (list (vlax-curve-getStartPoint obj)))
  (repeat 20
      (setq ent-ptlist (append ent-ptlist (list (vlax-curve-getPointAtDist obj (* d ix)))))
      (setq ix (1+ ix))
  );repeat
  (setq ename (vlax-vla-object->ename obj))
);defun 
(defun GetPolyVtx(EntList / VtxList AA X)
  (setq VtxList '())
  (IF (= "LWPOLYLINE" (CDR (ASSOC 0 EntList)))
   (mapcar '(lambda (x) (if (= 10 (car x)) (setq VtxList (append VtxList (list (cdr x))) ) ) ) EntList)
   (PROGN
    (SETQ AA (ENTGET(ENTNEXT (CDR (ASSOC -1 EntList)))))
    (WHILE (/= "SEQEND" (CDR (ASSOC 0 AA)))
      (setq VtxList (append VtxList (list (cdr (ASSOC 10 AA)))))
      (SETQ AA (ENTGET(ENTNEXT (CDR (ASSOC -1 AA)))))
    );while
  );progn
  );if
  VtxList
 );defun
 
  (prompt "n ÀÚµ¿Æ®¸²...XTrim->[TR]] ")