找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 3681|回复: 8

[每日一码] 把选取到的LINE变成多段线

[复制链接]

已领礼包: 19个

财富等级: 恭喜发财

发表于 2016-9-30 12:40:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
  1. (defun c:tt (/ ss)
  2.   (if (setq ss (ssget "_:L" '((0 . "LINE"))))
  3.     (command "._pedit" "multiple" ss "" "y" "")
  4.     (prompt "\n** Nothing selected ** ")
  5.   )
  6.   (princ)
  7. )


把选取到的LINE变成多段线。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 10个

财富等级: 恭喜发财

发表于 2016-9-30 17:02:26 | 显示全部楼层
谢谢楼主,学习了,如果能合并的合并到一起,代码怎么写呢?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 19个

财富等级: 恭喜发财

 楼主| 发表于 2016-9-30 18:09:13 | 显示全部楼层

这样应该就行了
  1. (defun c:tt (/ ss)
  2.   (if (setq ss (ssget "_:L" '((0 . "LINE"))))
  3.     (command "._pedit" "multiple" ss "" "y" "j" "" "")
  4.     (prompt "\n** Nothing selected ** ")
  5.   )
  6.   (princ)
  7. )

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 10个

财富等级: 恭喜发财

发表于 2016-10-1 00:00:53 | 显示全部楼层

谢谢HK,试了你的代码,所有的直线都能直接转成多段线,能连接的也连到一起了。我试着修改你的代码,加入了对多段线的支持选择,想把LINE和多段线都能转化连接,

(defun c:tt (/ ss)
  (if (setq ss (ssget "_:L" '((0 . "LINE,*POLYLINE"))))
    (command "._pedit" "multiple" ss "" "y" "j" "" "")
    (prompt "\n** Nothing selected ** ")
  )
  (princ)
)


可是,如果有直线的情况下,没有问题,可是如果都是多段线的情况下,出错了,提示:

命令: TT
选择对象: 指定对角点: 找到 5 个

选择对象:

无效的选项关键字。

错误: 函数被取消

无效的选项关键字。

无效的选项关键字。

输入选项 [闭合(C)/打开(O)/合并(J)/宽度(W)/拟合(F)/样条曲线(S)/非曲线化(D)/线型生成(L)/放弃(U)]:


我手动在命令行执行PEDIT,发现没LINE的时候,没有 是否转换多段线(Y)的提示,如果我把代码里面的"Y"去掉,如果有LINE的时候又不对了,
请问怎么才能都兼顾呢?

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 51个

财富等级: 招财进宝

发表于 2016-10-1 00:57:45 | 显示全部楼层

加入下系统变量PEDITACCEPT=1就行了,
PEDITACCEPT


类型:整数
保存位置:注册表
初始值:0


禁止在 PEDIT 中显示“选定的对象不是多段线”提示。该提示后会显示“是否将其转换为多段线?”输入 y 可将选定对象转换为多段线。当该提示被禁止显示时,选定对象将自动转换为多段线。

0
显示提示
1
抑制提示



修改后,下面代码就是一个批量的 “线变复线”的工具了。




  1. (defun c:tt (/ ss)  (prompt "\n选取要连接成多段线的LINE,POLYLINE<退出>:")
  2.   (if (setq ss (ssget "_:L" '((0 . "line,*polyline"))))
  3.     (progn
  4.       (setq oldp (getvar 'peditaccept)
  5.             oldc (getvar 'cmdecho)
  6.       )
  7.       (setvar 'cmdecho 0)
  8.       (setvar 'peditaccept 1)
  9.       (command "._pedit" "multiple" ss "" "j" "" "")
  10.       (setvar 'peditaccept old)
  11.       (setvar 'cmdecho oldc)
  12.     )
  13.   )
  14.   (princ)
  15. )


论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 8966个

财富等级: 富甲天下

发表于 2016-10-2 09:17:56 | 显示全部楼层
感谢分享程序!!!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 39个

财富等级: 招财进宝

发表于 2016-10-2 22:24:57 | 显示全部楼层
这个很实用,谢谢
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 10个

财富等级: 恭喜发财

发表于 2016-10-2 22:56:04 | 显示全部楼层

谢谢LISPBOY,很好,又学习了一招,没问题。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 466个

财富等级: 日进斗金

发表于 2017-5-13 23:40:25 | 显示全部楼层
(setvar 'peditaccept old)应该为(setvar 'peditaccept oldp)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-12 10:11 , Processed in 0.228110 second(s), 45 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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