[求助]如何实现自动剪切
本帖最后由 作者 于 2007-6-29 10:33:35 编辑 <br /><br /> <p>工作中常遇到一条线与N个相同的U型多段线相交,如何一次性修剪U型线与这条线相交区域内的线和U型线开口端与这条线外的多余的线。</p><p>U型线为多段线</p><p>另一条线是直线、多段线或样条曲线</p><p>示例图形见上传文件</p><p></p> 编了一个,可能在某些情况下会有问题,但应该可以解决你样图中所示的问题。 本帖最后由 作者 于 2007-6-29 17:20:54 编辑 <br /><br /> <p>切换另一作法.....</p><p>先作成封闭连线,绕道 BOUNDARY ....</p><p>接下来就是截除的收尾工作了</p> <p> (setq fir10 (cdr (assoc 10 slst))) ;取首点<br/> (setq LST10 (CDR (ASSOC 10 (REVERSE SLST)))) ;取未点</p><p>函数trimsob按下面改成功率要高些。<br/>(defun trimsob (sobj / slst fir10 lst10 fobj dis)<br/> (setq slst (entget sobj))<br/> (setq fir10 (cdr (assoc 10 slst)))<br/> (setq LST10 (CDR (ASSOC 10 (REVERSE SLST))))<br/> (setq dis (distance fir10 lst10))<br/> (setq ang (angle fir10 lst10))<br/> (setq pm (polar fir10 ang (/ dis 2)))<br/> (setq fir101 (polar pm (+ (/ pi 2) ang) (/ dis 2)))<br/> (setq lst101 (polar pm (- ang (/ pi 2)) (/ dis 2)))<br/> (command "break" "f" fir101 lst101 "" fir10 lst10)<br/>)<br/></p> 本帖最后由 作者 于 2007-6-30 9:03:17 编辑 <br /><br /> <p>谢谢<strong><font face="Verdana" color="#da2549">ZZXXQQ和 <font color="#61b713">Andyhon的帮助,该程序正是我需要的,在样条曲线上使用的情况非常好,曲线为多段线的时间就会将U型图形全部删掉了,能不能改进一下。</font></font></strong></p> <p>这是改过的程序,试试看。</p><p> </p> <p>好了 能用了 谢谢你们</p>
页:
[1]