[求助]自动捕捉端点插入块的问题。
<p></p><p> </p>
<p>小弟自学VLISP,身边没有会的人,所以遇到一点小问题就卡壳,太困难了,刚整明白的函数不多,向各位前辈请教。</p>
<p>如上图:几条横线都延伸到一条竖线,我想在这条竖线上捕捉到的所有“端点”上全部插如一个块。</p>
<p>我的思路是:从竖线起点作为P1,捕捉只开启端点,插入一个,然后P1的X坐标和Y坐标-6(搜索范围),组成新点,对这个点用OSNAP,会自动吸附到下一个端点P2,如果P2的Y坐标和P1(上次插入的点)不同,那么在P2插入一个块,然后把P2的Y坐标给P1,然后再P1的X坐标和Y坐标-6,组成新点,对这个点用OSNAP,会再自动吸附到下一个端点P2。。。。。如此循环。</p>
<p>请各位前辈帮忙看下怎么就不行呢?多谢多谢。</p>
<p> </p>
<p><font face="Verdana">(defun c:ii ()<br/> (setvar "CMDECHO" 0)<br/> (setvar "osmode" 1)<br/> (setvar "apbox" 1)<br/> (setvar "aperture" 20)<br/> (setq p1 '(244 342)<br/> p1x (car p1)<br/> p1y (cadr p1)<br/> )</font></p>
<p><font face="Verdana"> (while (> p1y 91)<br/> (setq p2 (osnap (list p1x (- p1y 6)) "endp")</font></p>
<p><font face="Verdana"> p2y (cadr p2)<br/> )<br/> (if (> p1y p2y)<br/> (progn (command "-insert" "left-circle2" p2 "" "" "")<br/> (setq p1y p2y<br/> p1 (list p1x p1y)<br/> )<br/> )<br/> )<br/> )<br/>)</font></p>
<p> </p>
<p> </p>
<p> </p> <p>先取交点 再插入</p>
<p>先交再插 </p>
<p>inter之类函数</p>
页:
[1]