求完美,我修改的lxx大师的靠近边界线修剪程序,不选边界线的框选修剪
本帖最后由 crazylsp 于 2011-5-16 11:31 编辑兰色的句子这里,我想能否不指定要修剪的一侧的点,用什么办法程序能判断出要修剪的这一侧,而又不会出现部分线修剪时出错的情况,剪到另一边的问题,这样这个程序就完美了
;;不用选择边界线,框选选择要被剪去线的程序, 源码来自 lxx.2007.2
(defun c:xt (/ ss ssl i enlst box ll rr p)
(prompt "\n 选择要剪去的线")
(setq ss(ssget) ssl (sslength ss) i0enlst '() )
(repeat ssl
(setq en (ssname ss i) i (1+ i) enlst(cons en enlst) )
)
;;选择未来作成边界的线
(setq box (mapcar 'getvar '("vsmin" "vsmax")))
(vla-GetBoundingBox (vlax-ename->vla-object en) 'll 'rr)
(setq box(list (vlax-safearray->list ll) (vlax-safearray->list rr) ))
(setq ss (ssget "c" (car box) (cadr box) '((0 . "*LINE,ARC,RAY,CIRCLE,ELLIPSE"))))
;;明确要修剪的一侧, 如果不指定, 下句用(command ".trim" ss "r" en "" "e" "n" (list en (car box)) "")将有少量线出错
(setq p (getpoint"\n 选择要剪的一侧"))
;;修剪
(foreach en enlst
(command ".trim" ss "r" en "" "e" "n" (list en p) "")
)
;;
(princ)
)
下载先,以后可能有用 下载先,以后可能有用 大师在晓东发的源码为何在08下无法使用啊 我已经在晓东修改了
下载先,以后可能有用
页:
[1]