明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 5765|回复: 16

把单线转化为多线

  [复制链接]
发表于 2010-8-5 15:15:00 | 显示全部楼层 |阅读模式
把单线转化为多线,为什么不行,运行后显示,求教大虾

命令: 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)

  1. ;把单线转化为多线
  2. (defun C:DV( / DD XK)
  3.     (princ "\n请输入转化后线宽(默认0.5mm):")
  4.     (SETQ XK (GETREAL))   
  5.     (
  6.       IF(= NIL XK)
  7.         (SETQ XK 0.5)
  8.     )
  9.     (setq DD (ssget))
  10.     (command "PEDIT" "" "M" "" DD "WIDTH" "" "XK" "" "")
  11.     ;(command "PEDIT" "" "M" "" DD "WIDTH" "" XK "" "")也一样
  12.     (princ)
  13. )

 楼主| 发表于 2010-8-5 15:28:00 | 显示全部楼层
用这一段代码也不行
  1. ;超级简化pedit命令
  2. ;看到这么多的朋友分享好东东我也下了一点来而不往非礼也!
  3. ;工作中要把几条直线或圆弧合并成多段线,用pedit时 要先选取一条直线,先转化为多段线 ,
  4. ;后再按“j” 继续添加 ,比较麻烦,编个程序简化该过程可以直接选择要转多段线的直线或圆
  5. ;弧就可以,省去麻烦 ,当选择集中有多段线时和没有多段线时是一样的。
  6. ;0.0005为串多段线的两线间距精度越大越好串,但也有一些其它问题我个人觉的这个值最佳
  7. ;我的邮箱为idfhm@tom.com知道吗?用tom邮箱的可是老网民
  8. (defun c:j()
  9. (prompt "\n idfhm@tom.com")
  10. (setq idfhm (ssget))
  11. (command "_pedit" "m" idfhm "" "" "join" "0.0005" "")
  12. )

发表于 2010-8-5 19:15:00 | 显示全部楼层

选择到直线或圆弧的时候

会询问是否转换到多义线

要加一个"Y"

所以程序流程上要有一个 if 判断

以便区别对待

另外XK不需要双引号

 楼主| 发表于 2010-8-5 19:28:00 | 显示全部楼层

可是使用PEDIT命令:pedit---->回车---->M---->回车---->框选对象------>回车----->W----->回车---->0.5---->回车    即可把单线变为多线啊?

发表于 2010-8-5 22:18:00 | 显示全部楼层

我用的是2004

其它版本没有

不知道是什么样的情况

你试过含L、ARC或者不含L、ARC的情况了吗?

 

另外(command "PEDIT" "" "M" "" DD "WIDTH" "" "XK" "" "")

这一句有3个错误

1.M后面不需要再多一个"" ,"M"本身就代表输入M并回车

2.DD后面应该加一个 "" ,表示选择物体结束

3.创建DD选择集时应该加上过滤,含L、ARC和不含L、ARC的选择集,出现的提示是不同的

发表于 2010-8-5 23:59:00 | 显示全部楼层

楼主看看这个行不?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2010-8-6 00:42:00 | 显示全部楼层

可以谢谢6楼,呵呵,我看看自己的有什么问题!

 楼主| 发表于 2010-8-6 01:19:00 | 显示全部楼层
6楼的那个大哥,你的程序如果框选两个对象(一条圆弧与一条直线或者两条直线),好像每次也只能对一个有效!不知道能不能改改
发表于 2010-8-6 07:34:00 | 显示全部楼层

;;;把单线转化为多线
;;;autocad 2008 测试 o.k.

(defun C:DV( / DD XK)
    (princ "\n请输入转化后线宽(默认0.5mm):")
    (SETQ XK (GETREAL))
    (
      IF(= NIL XK)
        (SETQ XK 0.5)
    )
    (setq DD (ssget '((0 . "LINE,*POLYLINE,ARC"))))
    (command "PEDIT" "M" DD "" "W" XK "")
    ;(command "PEDIT" "" "M" "" DD "WIDTH" "" "XK" "" "")
    ;(command "PEDIT" "" "M" "" DD "WIDTH" "" XK "" "")也一样
    (princ)
)

发表于 2010-8-6 07:56:00 | 显示全部楼层

;超级简化pedit命令
;看到这么多的朋友分享好东东我也下了一点来而不往非礼也!

;工作中要把几条直线或圆弧合并成多段线,用pedit时 要先选取一条直线,先转化为多段线 ,
;后再按“j” 继续添加 ,比较麻烦,编个程序简化该过程可以直接选择要转多段线的直线或圆
;弧就可以,省去麻烦 ,当选择集中有多段线时和没有多段线时是一样的。
;0.0005为串多段线的两线间距精度越大越好串,但也有一些其它问题我个人觉的这个值最佳
;我的邮箱为idfhm@tom.com知道吗?用tom邮箱的可是老网民
;AUTOCAD 2008 测试 O.K.

(defun c:j()
(prompt "\n idfhm@tom.com")
(setq idfhm (ssget))
(command "_pedit" "m" idfhm "" "join" "0.0005" "")
)

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-21 01:25 , Processed in 0.197212 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表