mccad 发表于 2007-2-8 09:37:00

<p>这个应该是你所需要的了吧,只适合于构造线、射线、直线和圆弧,不适用于多义线、椭圆弧</p><p></p>

caoyin 发表于 2007-2-8 10:19:00

<p>还是不明白你想要什么!!</p><p>-CH 试试看</p>

ygrzz 发表于 2007-2-9 00:39:00

我知道的函数有限,自己整了半天,有BUG<br/>(defun C:00 (/ en Pt)<br/>  (setvar "cmdecho" 0)<br/>  (setq Pt T)<br/>  (while Pt<br/>    (setvar "APERTURE" 5)<br/>    (if (not (setq en (entsel "\n靠近交点拾取修剪对象...&lt;")))<br/>      (princ "\n空选命令已退出")<br/>    )<br/>    (setvar "APERTURE" 50)<br/>    (if (setq pt (osnap (cadr en) "INT"))<br/>      (command "_.break" en "f" Pt "@" "_.erase" (list (car en) (cadr en)) "")<br/>      (princ "\n无交点退出")<br/>    )<br/>    (setvar "APERTURE" 5)<br/>  )<br/>  (princ)<br/>)<br/>

无痕 发表于 2007-2-9 01:09:00

本帖最后由 作者 于 2007-2-9 10:24:11 编辑 <br /><br /> <p>不介意我来个狠的吧 :)</p><p>支持: 所有曲线!(对封闭曲线仅修剪点取段)</p><p>&nbsp;</p><p></p><p>演示: 不同颜色表示不同的实体.其中黄色为ray,红色xline</p><p>如果不考虑ray,xline,程序还可以简短一点.</p><p>回楼下,补了个演示,可能有助于理解.或者也可以自己试试.</p><p>&nbsp;</p>

sailorcwx 发表于 2007-2-9 03:14:00

<p>我觉得你的表达不够清晰</p><p>“要求是鼠标在对象上一点就去掉一侧”我想问下一侧的参考是什么,如果你选的线同时和左边和右边的线有交点,这个时候你的一侧指的又是哪一侧。<br/></p>

ygrzz 发表于 2007-2-9 09:09:00

拾取位置的最近交点,我自己整的那个有局限<br/>即使拾取框调整到最大50<br/>还有一个不明白我的程序有时候删除出错<br/>明明点在交点右侧却删了左侧是怎么会事呢,没理由啊<br/>难道跟删除对象比如直线的起点终点也有关?<br/>

ygrzz 发表于 2007-2-9 09:17:00

无痕就是狂刀吧,记得你写过不错的修剪程序<br/>错误: no function definition: VLAX-ENAME-&gt;VLA-OBJECT<br/>是开头少了一句加载什么吧,<br/>

无痕 发表于 2007-2-9 10:33:00

本帖最后由 作者 于 2007-2-9 10:40:31 编辑 <br /><br /> <p>可以自己在开头加一句</p><p>(vl-load-com)</p><p>或重新下载(已经补了),我一般在程序里面不加这句.另补充了一个演示.</p><p>再补一个演示.用于解释什么叫</p><p>"<font face="Courier New" color="#800080" style="BACKGROUND-COLOR: #c0c0c0;">以曲线与其它曲线最进交点为判断点,修剪曲线点取处的一边</font>"(是有的拗口:P)</p><p>&nbsp;顺便再说一下思路:</p><p>1.选实体,用box控制trim命令搜索范围(用来加快速度).对ray,xline特殊处理(没有box,求屏幕范围)</p><p>2.用trim命令切断实体</p><p>3.如果生成新实体,判断选实体时点取处与旧实体和新实体端点(头尾两点)的距离.</p><p>&nbsp; 保留端点近的实体,删除端点远的实体.</p>

ygrzz 发表于 2007-2-9 10:52:00

精彩!!!

laoliu09 发表于 2007-2-24 22:32:00

<p>怎么这么一点操作也编程啊,如果真的是很烦的操作才编程啊,例如甚么画钢筋,钢筋标注,地形图切剖面之类的,一些简单的操作,手指在键盘上一抹就完成了,好像没有编程的必要吧?</p>
页: 1 [2] 3
查看完整版本: 能不能打断时即选即断