网上找的,
;;; 平移复制所选取的多义线的一段,
(defun c:XV () (setvar "cmdecho" 0) (setq temp (if (null of_pl_dist) (getdist "\n请输入平移距离<>:") (getdist (strcat "\n输入平移的距离<" (rtos of_pl_dist) ">:")) ) of_pl_dist (if (null temp) of_pl_dist temp ) select_pline (entsel) ) (while (and (/= select_pline nil) (= (cdr (assoc 0 (entget (car select_pline)))) "LWPOLYLINE") ) (segmentoffset (car select_pline) (cadr select_pline) of_pl_dist) (setq select_pline (entsel)) ) (setvar "cmdecho" 1) (princ) )
;;; OFFSET多义线所点击的子段 (defun segmentoffset (ename p oo) (setq p2 (getpoint "\ndirection of offset:")) (vl-cmdf "explode" ename) (vl-cmdf "offset" oo p p2 "") (setq entl (entget (entlast))) (vl-cmdf "undo" 2) (entmake (cdr entl)) ) |