[原创]已知3线,如何用trim命令将第3线之第1、2线之间剪切掉?
<p>如:</p><p>\</p><p>---\----------------L1</p><p>------\-------------L2</p><p> \</p><p> L3</p><p>亦知道L3在L1、L2之间的一点p,但就是剪切不掉中间的那一段</p><p>(command "trim" L1 L2 "" L3 p "")</p><p>盼高手明示,先谢谢了……</p> (defun break2 (line pt1 pt2 / modelspace<br/> entity startPt endPt dist1 dist2 minDist<br/> maxDist aList pnt1 pnt2<br/> )<br/> (vl-load-com)<br/> (setq modelspace<br/> (vla-get-modelspace<br/> (vla-get-ActiveDocument<br/> (vlax-get-acad-object)<br/> )<br/> )<br/> )<br/> (if (equal (type line) 'ENAME)<br/> (setq entity line)<br/> (setq entity (vlax-vla-object->ename line))<br/> )<br/> (setq startPt (cdr (assoc 10 (entget entity)))<br/> endPt (cdr (assoc 11 (entget entity)))<br/> entity (vlax-ename->vla-object entity)<br/> )<br/> (vla-delete entity)<br/> (setq dist1 (distance startPt pt1)<br/> dist2 (distance startPt pt2)<br/> minDist (min dist1 dist2)<br/> maxDist (max dist1 dist2)<br/> aList (list (cons dist1 pt1) (cons dist2 pt2))<br/> pnt1 (cdr (assoc minDist aList))<br/> pnt2 (cdr (assoc maxDist aList))<br/> )<br/> (list (vla-addline<br/> modelspace<br/> (vlax-3d-point startPt)<br/> (vlax-3d-point pnt1)<br/> )<br/> (vla-addline<br/> modelspace<br/> (vlax-3d-point pnt2)<br/> (vlax-3d-point endPt)<br/> )<br/> )<br/>) <p>谢谢这么快就回复。</p><p>但我想知道的是,能不能用我上面的简单形式实现此功能?</p> <p>试试如何:</p><p>(command "trim" L1 L2 "" (list L3 p) "")</p> <p>谢谢student,试过了,不行……</p> 怎么会不行呢,我试没问题 <p>我改成这样就行了……谢谢上边高手的帮助……</p><p>(command "trim" L1 L2 "" (list (car L3) p) "")</p> 原来你的L3不是图元名,而是(图元名 点)
页:
[1]