crazylsp 发表于 2011-5-16 11:20:01

求完美,我修改的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)
)


zwqgdhl 发表于 2011-7-22 12:28:33

下载先,以后可能有用

longer1000 发表于 2012-5-22 17:26:17

下载先,以后可能有用

注册 发表于 2013-5-24 07:59:15

大师在晓东发的源码为何在08下无法使用啊

crazylsp 发表于 2013-5-24 17:33:42

我已经在晓东修改了

趣意人生 发表于 2021-3-8 22:51:12


下载先,以后可能有用
页: [1]
查看完整版本: 求完美,我修改的lxx大师的靠近边界线修剪程序,不选边界线的框选修剪