乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 98|回复: 4

[编程交流] 选择线型,分解

[复制链接]

5

主题

22

帖子

17

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-6 06:43:53 | 显示全部楼层 |阅读模式
你好
我的问题是,一些假设为直线的直线被定义为多段线。下面的代码只分解一个选定的对象,有什么问题吗?
 
谢谢
/M
 
1.选择线型“LBR”
2、分解(要生成多段线->直线)
 
  1. (if (setq lSet (ssget "_X" '((6 . "LBR"))))
  2. ((sssetfirst nil lSet))
  3. )
  4. (command ".explode" lSet)
回复

使用道具 举报

35

主题

2471

帖子

2447

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
174
发表于 2022-7-6 07:07:20 | 显示全部楼层
默认情况下,从AutoLISP调用EXPLODE命令时,每次接受一个项目。
  1. (if (setq lSet (ssget '((6 . "LBR"))))
  2. (repeat (sslength lSet)
  3. (command "_EXPLODE" (ssname lSet 0))
  4. (ssdel (ssname lSet 0) lSet)
  5. )
  6. )

或者,通过VLISP调用:
  1. (if (setq lSet (ssget '((6 . "LBR"))))
  2. (vl-cmdf "_EXPLODE" lSet "")
  3. )
回复

使用道具 举报

35

主题

2471

帖子

2447

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
174
发表于 2022-7-6 07:22:13 | 显示全部楼层
另外两种方法:
  1. (if (setq lSet (ssget "_X" '((6 . "LBR"))))
  2. (progn
  3. (setvar "QAFLAGS" 1)
  4. (command "_EXPLODE" lSet "")
  5. (setvar "QAFLAGS" 0)
  6. )
  7. )
  1. (if (setq lSet (ssget "_X" '((6 . "LBR"))))
  2. (progn
  3. (initcommandversion 2)
  4. (command  "_EXPLODE" lSet "")
  5. (initcommandversion 1)
  6. )
  7. )
回复

使用道具 举报

5

主题

22

帖子

17

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-6 07:43:33 | 显示全部楼层
Thx有这么多选择
回复

使用道具 举报

35

主题

2471

帖子

2447

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
174
发表于 2022-7-6 07:47:21 | 显示全部楼层
此外,仅为多段线添加过滤器也可能有用:
  1. (setq lSet (ssget "_X" '((0 . "LWPOLYLINE") (6 . "LBR"))))
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-10 15:11 , Processed in 0.906033 second(s), 62 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表