超级简化pedit命令
<p></p><p>看到这么多的朋友分享好东东我也下了一点来而不往非礼也!</p><p><br/>工作中要把几条直线或圆弧合并成多段线,用pedit时 要先选取一条直线,先转化为多段线 ,后再按“j” 继续添加 ,比较麻烦,编个程序简化该过程可以直接选择要转多段线的直线或圆弧就可以,省去麻烦 ,当选择集中有多段线时和没有多段线时是一样的,不信的话可以试一下!如果好不要忘记说一声让大家知道</p> 这个如何:(defun c:ppp( / pet ss)
(setq pet (getvar "PEDITACCEPT"))
(setvar "PEDITACCEPT" 1)
(while (setq ss (ssget '((0 . "ARC,*LINE"))))
(command "_pedit" (ssname ss 0) "j" ss "" "")
)
(setvar "PEDITACCEPT" pet)
(princ)
)
<div style="WIDTH: 728px; HEIGHT: 90px;"><iframe name="google_ads_frame" marginwidth="0" marginheight="0" src="http://googleads.g.doubleclick.net/pagead/ads?client=ca-pub-7471407183047897&dt=1229161900796&lmt=1229161900&prev_fmts=728x90_as%2C120x90_0ads_al_s&output=html&slotname=8773890557&correlator=1229161900468&url=http%3A%2F%2Fwww.mjtd.com%2FBBS%2Fdispbbs.asp%3FboardID%3D16%26ID%3D72580%26page%3D1&ea=0&ref=http%3A%2F%2Fwww.mjtd.com%2FBBS%2Findex.asp%3Fboardid%3D16&frm=0&ga_vid=811302283.1229161279&ga_sid=1229161279&ga_hid=1764929456&ga_fc=true&flash=10.0.12.36&u_h=1050&u_w=1680&u_ah=1016&u_aw=1680&u_cd=32&u_tz=480&u_his=12&u_java=true&dtd=16" frameborder="0" width="728" scrolling="no" height="90" allowtransparency="allowtransparency"></iframe></div><p></p><p>看到这么多的朋友分享好东东我也下了一点来而不往非礼也!</p><p><br/>工作中要把几条直线或圆弧合并成多段线,用pedit时 要先选取一条直线,先转化为多段线 ,后再按“j” 继续添加 ,比较麻烦,编个程序简化该过程可以直接选择要转多段线的直线或圆弧就可以,省去麻烦 ,当选择集中有多段线时和没有多段线时是一样的,不信的话可以试一下!如果好不要忘记说一声让大家知道</p> CAD自带的命令 一个''J'就可以吧选中的所有线段合并了,为什么搞那么麻烦。 能做成,只要点一条线,其它和它有连接的都能变成PILE就好了 你还可以框选 还不错。谢谢啊! <p>兄弟你这个也太麻烦了啊!</p><p>(defun c:pp () (command "pedit" "m" "all" "" "y" "j" "" ) (prinl) )</p><p>直接用这LISP命令,输入个PP连续按几次空格键就把所有的线段连接成了多义线了!</p> 看看这个可符合上面几个朋友的要求? 程序名称:TYPolyLineJoin (TYPolyLineJoin.zip) 命令:TYPLJ 使用说明:选择欲连接成多义线的一组对象中的一条直线或圆弧,回车,搞定。 操作演示
http://www.jxcad.com.cn/attachment000/Mon_0812/116_1121841_7fa993cf420b15c.gif
<p>(DEFUN C:aJ (/ LIST1 XLIST XA1 XB1) ;可用于封闭模图<br/> (SETQ XA1 0)<br/> (SETQ LIST1 (SSGET))<br/> ;(SETQ LIST2 LIST1)<br/> (SETQ XB1 1)<br/> (WHILE (< XA1 XB1)<br/> (SETQ XLIST (SSNAME LIST1 XA1))<br/> (COMMAND "PEDIT" XLIST "Y" "J" "ALL" "" "")<br/> (SETQ XA1 (1+ XA1))<br/> (setvar "osmode" 183)<br/> (setvar "ORTHOMODE" 1)<br/> )</p><p>用这个也行快哦</p> (defun c:AJ()
(while(not(setq ss(entsel "\n请选择要闭合的物体:")))
(princ"没有选择到,请再来一次。")
)
(command "pedit" ss "y" "j" "all" "" ""))这个呢?
石料一下很好,谢谢提供。