赞
踩
;;;***
双向偏移
(
批量
)
程序开始
***
(defun c:do2 (/ lay1 lay2 ss i lst dis x kw)
(princ "\n
★提示
:
双向批量偏移对象
.\n")
(command "LAYER" "M" "nei" "C" "GREEN" "nei" "")
(command "LAYER" "M" "wai" "C" "RED" "wai" "")
(command "CLAYER" "0")
(setq ss (ssget '((0 . "*LINE,ARC,CIRCLE,ELLIPSE,PLINE,SPLINE"))))
(setq i 0
lst nil
dis (getreal "\n
设置单边偏移量
<10.0>:")
lay1 (getstring "\n
请输入向内偏移的图层名
:")
lay2 (getstring "\n
请输入向外偏移的图层名
:")
)
(if (null dis) (setq dis 10))
(initget "San Bao")
(setq kw (getkword "\n
删除
S/
保留
B:"))
(repeat (sslength ss)
(setq lst (cons (vlax-ename->vla-object (ssname ss i)) lst)
i (1+ i)
)
)
(mapcar '(lambda (x)
(vla-offset x dis)
(if lay1
(progn
(setq en (entget (entlast)))
(entmod (subst (cons 8 lay1) (assoc 8 en) en))
)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。