谁愿意编个反向剪切程序?
因为要剪除的线很短,总要放大来剪,反向就好方便,平时反过来用也不错。 <P>好象是个好主意</P> 以楼主的能力,应该可以自己编写的吧?:) 本帖最后由 作者 于 2005-8-8 11:28:38 编辑无痕发表于2005-8-5 2:14:00static/image/common/back.gif以楼主的能力,应该可以自己编写的吧?:)我编的好样衰,没学到几多东西,睇来方法有问题!你和meflying、龙龙仔几个版主写的程序就好比是标准答案,改一下就会出错了。
<P>对操作步骤有什么要求?</P>
<P>比如:1先选边界线。2选要剪切的实体(或默认所有可以剪切的曲线)3点击要保留的方向</P> <P>以前龙版主写的:</P>
<P> </P> 本帖最后由 作者 于 2005-8-8 14:31:31 编辑 <br /><br /> 无痕发表于2005-8-7 2:11:00static/image/common/back.gif
对操作步骤有什么要求?
比如:1先选边界线。2选要剪切的实体(或默认所有可以剪切的曲线)3点击要保留的方向
<P>按标准TRIM方式,同你的1、3,只要支持CIRCLE、ARC、LINE等就好好用的。</P>
<P>多谢楼上提供龙头的程序!<BR></P> 龙头的程序没选择剪切边,不好用。 <A name=49838><FONT color=#0000ff><B>无痕</B></FONT></A>早就有一个不错的,赶快跟他要! 本帖最后由 作者 于 2005-8-10 12:01:39 编辑 <br /><br /> 龙龙仔发表于2005-8-8 17:14:00static/image/common/back.gif无痕早就有一个不错的,赶快跟他要!
<P><BR>看到他的反剪程序,都是没选剪切边。</P>
<P>自己写的只对LINE有效。</P>
<P>(defun c:newtrim (/ data pt_nea endata pt_in pt_temp)<BR> (princ "仅支持LINE线型")<BR> (setq data (entget (car (nentsel "\n剪切线:")))<BR> )<BR> (while (setq en (nentsel "\n保留段:"))<BR> (setq pt_nea (osnap (cadr en) "nea"))<BR> (setq endata (entget (car en)))<BR> (cond<BR> ((= (cdr (assoc 0 endata)) "LINE") <BR> (setq pt_in (inters (cdr (assoc 10 data))<BR> (cdr (assoc 11 data))<BR> (cdr (assoc 10 endata))<BR> (cdr (assoc 11 endata))<BR> nil<BR> )<BR> )<BR> (if<BR> (> (distance (cdr (assoc 10 endata)) pt_in)<BR> (distance (cdr (assoc 10 endata)) pt_nea)<BR> )<BR> (setq pt_temp (cdr (assoc 10 endata)))<BR> (setq pt_temp (cdr (assoc 11 endata)))<BR> )<BR> (command "erase" en "")<BR> (entmake (list '(0 . "line")<BR> '(100 . "acdbentity")<BR> '(100 . "acdbline")<BR> (cons 10 pt_temp)<BR> (cons 11 pt_in)<BR> )<BR> )<BR> )<BR> (t (alert "对不起,暂未支持该实体类型。"))<BR> )<BR> )<BR> (princ)<BR>)<BR>(princ "***newtrim*** 小妹丁")</P>
页:
[1]
2