给一个功能加一个 编组的功能
本帖最后由 孙玉坤 于 2019-8-10 18:23 编辑单线变矩形后 变后的矩形想增加一个未命名组方便后边的选择。如果这是我变矩形后 手工编的组。希望增加一个自动的功能 ;程序改为如下
(defun c:aa ( /ss e ent ang pts)
(setq cmd (getvar "cmdecho"))
(setvar "cmdecho" 0)
(command "_undo" "be")
(if (not width) (setq width 1.00))
(setq ssa (ssadd))
(setq width (cond ((getdist
(strcat "\nEnter Width <" (rtos width 2 2)">: "))
)
(width)
)
)
(if (setq ss (ssget '((-4 . "<OR")
(-4 . "<AND")(0 . "LWPOLYLINE")(90 . 2)(42 . 0)(-4 . "AND>")
(0 . "LINE")
(-4 . "OR>")
)
)
)
(repeat (setq i (sslength ss))
(setq e (ssname ss (Setq i (1- i))))
(setq ent (entget e)
ang (angle (setq sp (vlax-curve-getStartPoint e))
(setq ep (vlax-curve-getendPoint e))
)
)
(setq pts (mapcar '(lambda (pt)
(list (setq p_ (polar pt (+ ang (/ pi 2.0)) (* 0.5 width)))
(polar p_ (+ ang (* pi 1.5)) width)
)
)
(list sp ep)
)
pts (apply 'append (list (car pts) (reverse (cadr pts))))
)
(entmakex (append (list (cons 0 "LWPOLYLINE")
(cons 100 "AcDbEntity")
(assoc 8 ent)
(cons 100 "AcDbPolyline")
(cons 90 (length pts))
(cons 70 1)
)
(mapcar (function (lambda (p) (cons 10 p))) pts)
)
)
(setq ssa (ssadd (entlast) ssa))
(entdel e)
)
)
(if (> (sslength ssa) 0)
(command "_group" "C" "*" "*" ssa "")
)
(command "_undo" "e")
(setvar "cmdecho" cmd)
(princ)
) 很难吗怎么没有法师来修改 本帖最后由 Bao_lai 于 2019-8-10 23:21 编辑
(command "-group" "C" "*" "*" (entlast) "")
孙玉坤 发表于 2019-8-10 16:09
很难吗怎么没有法师来修改
法师,我只玩武则天 Bao_lai 发表于 2019-8-10 23:05
(command "-group" "C" "*" "*" (entlast) "")
好像有一个是编组 其他没有
页:
[1]