把单线转化为多线
把单线转化为多线,为什么不行,运行后显示,求教大虾命令: DV
请输入转化后线宽(默认0.5mm):
选择对象: 指定对角点: 找到 2 个
选择对象:PEDIT 选择多段线或 [多条(M)]: 选择多段线或 [多条(M)]: M
选择对象: 选择多段线或 [多条(M)]:
输入选项
[闭合(C)/合并(J)/宽度(W)/编辑顶点(E)/拟合(F)/样条曲线(S)/非曲线化(D)/线型生成(L)
/放弃(U)]: WIDTH
指定所有线段的新宽度:
输入选项
[闭合(C)/合并(J)/宽度(W)/编辑顶点(E)/拟合(F)/样条曲线(S)/非曲线化(D)/线型生成(L)
/放弃(U)]: 0.500000000000000
无效的选项关键字。
; 错误: 函数被取消
[闭合(C)/合并(J)/宽度(W)/编辑顶点(E)/拟合(F)/样条曲线(S)/非曲线化(D)/线型生成(L)
;把单线转化为多线
(defun C:DV( / DD XK)
(princ "\n请输入转化后线宽(默认0.5mm):")
(SETQ XK (GETREAL))
(
IF(= NIL XK)
(SETQ XK 0.5)
)
(setq DD (ssget))
(command "PEDIT" "" "M" "" DD "WIDTH" "" "XK" "" "")
;(command "PEDIT" "" "M" "" DD "WIDTH" "" XK "" "")也一样
(princ)
)
用这一段代码也不行
;超级简化pedit命令
;看到这么多的朋友分享好东东我也下了一点来而不往非礼也!
;工作中要把几条直线或圆弧合并成多段线,用pedit时 要先选取一条直线,先转化为多段线 ,
;后再按“j” 继续添加 ,比较麻烦,编个程序简化该过程可以直接选择要转多段线的直线或圆
;弧就可以,省去麻烦 ,当选择集中有多段线时和没有多段线时是一样的。
;0.0005为串多段线的两线间距精度越大越好串,但也有一些其它问题我个人觉的这个值最佳
;我的邮箱为idfhm@tom.com知道吗?用tom邮箱的可是老网民
(defun c:j()
(prompt "\n idfhm@tom.com")
(setq idfhm (ssget))
(command "_pedit" "m" idfhm "" "" "join" "0.0005" "")
)
<p>选择到直线或圆弧的时候</p>
<p>会询问是否转换到多义线</p>
<p>要加一个"Y"</p>
<p>所以程序流程上要有一个 if 判断</p>
<p>以便区别对待</p>
<p>另外XK不需要双引号</p> <p>可是使用PEDIT命令:pedit---->回车---->M---->回车---->框选对象------>回车----->W----->回车---->0.5---->回车 即可把单线变为多线啊?</p> <p>我用的是2004</p>
<p>其它版本没有</p>
<p>不知道是什么样的情况</p>
<p>你试过含L、ARC或者不含L、ARC的情况了吗?</p>
<p> </p>
<p>另外(command "PEDIT" "" "M" "" DD "WIDTH" "" "XK" "" "")</p>
<p>这一句有3个错误</p>
<p>1.M后面不需要再多一个"" ,"M"本身就代表输入M并回车</p>
<p>2.DD后面应该加一个 "" ,表示选择物体结束</p>
<p>3.创建DD选择集时应该加上过滤,含L、ARC和不含L、ARC的选择集,出现的提示是不同的</p> <p>楼主看看这个行不?</p> <p>可以谢谢6楼,呵呵,我看看自己的有什么问题!</p> 6楼的那个大哥,你的程序如果框选两个对象(一条圆弧与一条直线或者两条直线),好像每次也只能对一个有效!不知道能不能改改 <p><font style="BACKGROUND-COLOR: #ffffff" face="Verdana">;;;把单线转化为多线<br/>;;;autocad 2008 测试 o.k.</font></p>
<p><font style="BACKGROUND-COLOR: #ffffff" face="Verdana">(defun C:DV( / DD XK)<br/> (princ "\n请输入转化后线宽(默认0.5mm):")<br/> (SETQ XK (GETREAL))<br/> (<br/> IF(= NIL XK)<br/> (SETQ XK 0.5)<br/> )<br/> (setq DD (ssget '((0 . "LINE,*POLYLINE,ARC"))))<br/> (command "PEDIT" "M" DD "" "W" XK "")<br/> ;(command "PEDIT" "" "M" "" DD "WIDTH" "" "XK" "" "")<br/> ;(command "PEDIT" "" "M" "" DD "WIDTH" "" XK "" "")也一样<br/> (princ)<br/>)<br/></font></p> <p><font style="BACKGROUND-COLOR: #ffffff" face="Verdana">;超级简化pedit命令<br/>;看到这么多的朋友分享好东东我也下了一点来而不往非礼也!</font></p>
<p><font style="BACKGROUND-COLOR: #ffffff" face="Verdana">;工作中要把几条直线或圆弧合并成多段线,用pedit时 要先选取一条直线,先转化为多段线 ,<br/>;后再按“j” 继续添加 ,比较麻烦,编个程序简化该过程可以直接选择要转多段线的直线或圆<br/>;弧就可以,省去麻烦 ,当选择集中有多段线时和没有多段线时是一样的。<br/>;0.0005为串多段线的两线间距精度越大越好串,但也有一些其它问题我个人觉的这个值最佳<br/>;我的邮箱为idfhm@tom.com知道吗?用tom邮箱的可是老网民<br/>;AUTOCAD 2008 测试 O.K.</font></p>
<p><font style="BACKGROUND-COLOR: #ffffff" face="Verdana">(defun c:j()<br/>(prompt "\n idfhm@tom.com")<br/>(setq idfhm (ssget))<br/>(command "_pedit" "m" idfhm "" "join" "0.0005" "")<br/>)</font></p>
页:
[1]
2