明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1707|回复: 6

[提问] 如何选取多义线的一部分

[复制链接]
发表于 2013-11-27 16:19:16 | 显示全部楼层 |阅读模式
这个是我自己写的代码,不过返回上次选择只能是整个多义线,如何之将框选内的部分变为多义线 其余的炸开为直线
(defun c:fte (/ a ss)                        ; 变多义线
  (if (setq ss (ssget))
    (command "explode" ss "")
  )
  (setq ss1 (ssget "p"))
    (command "_.pedit" "_m" ss1 "" "_j" 0 "")
  )
  (princ)
)

"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2013-11-27 17:02:50 | 显示全部楼层

  1. (defun c:fte (/ a ss)
  2.   ; 变多义线
  3.   (setq p1(getpoint "\n框选第一角点:")
  4.         p2(getcorner p1  "\n框选第二角点:")
  5.         )
  6.   (if (setq ss (ssget "c" p1 p2))
  7.     (command "explode" ss "")
  8.   )
  9.   (setq ss1 (ssget "c" p1 p2))
  10.   (command "pedit" "m" ss1 "" "" "j" 0 "")
  11.   (princ)
  12. )

 楼主| 发表于 2013-11-28 11:16:39 | 显示全部楼层
ljpnb 发表于 2013-11-27 17:02

框选第二角点:未知命令“FTE”。按 F1 查看帮助。
未知命令“FTE”。按 F1 查看帮助。
未知命令“J”。按 F1 查看帮助。
不过感谢你  大致有点思路了 我在研究一下
发表于 2013-12-4 01:16:49 | 显示全部楼层
本帖最后由 llsheng_73 于 2013-12-4 01:20 编辑

(command "explode" ss "")后再(setq ss1 (ssget "c" p1 p2))这时一般会有些直线,弧等。。所以在(command "pedit" "m" ss1 "" "" "j" 0 "")时可能因为有直线、弧需要先回答是否转为多线段。
应该先判断下ss1里边是否有直线、弧等可以转为多线段的对象,根据情况决定要不要应该加上那个是否转为多线段的回答选项"Y"
因为原语句中没有,所以运行到这里出现未知命令提示并且程序出错
发表于 2013-12-4 14:12:01 | 显示全部楼层
本帖最后由 自贡黄明儒 于 2013-12-4 14:17 编辑

这个容易,,

本帖子中包含更多资源

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

x
 楼主| 发表于 2013-12-9 13:48:32 | 显示全部楼层
自贡黄明儒 发表于 2013-12-4 14:12
这个容易,,

看不到命令  不过好像和我说的有点出入  我要框了几条就只有被框选的变为了多段线 这个号线都成段了
发表于 2020-11-30 12:03:19 | 显示全部楼层
不错的程序,谢谢楼主分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-17 19:21 , Processed in 0.176376 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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