乐筑天下

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

[编程交流] 如果使用lisp,怎么做

[复制链接]

40

主题

177

帖子

100

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
248
发表于 2022-7-5 23:24:23 | 显示全部楼层 |阅读模式
如果使用lisp,如何清除零长度几何体和空文本对象?谢谢你的帮助!
002423ngsy0tytgge9ur0h.jpg
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-5 23:30:31 | 显示全部楼层
如果图形中没有零长度几何体或空文本对象,则不会激活它。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 23:34:01 | 显示全部楼层
  1. Command: -PURGE
  2. Enter type of unused objects to purge [blocks/DEtailviewstyles/Dimstyles/Groups/LAyers/LTypes/MAterials/MUltileaderstyles/Plotstyles/SHapes/textSTyles/Mlinestyles/SEctionviewstyles/Tablestyles/Visualstyles/Regapps/[color=red]Zero-length geometry[/color]/[color=red]Empty text objects[/color]/All]:
  1. (command "_.-purge" "_Z" "_.-purge" "_E")
回复

使用道具 举报

35

主题

2471

帖子

2447

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
174
发表于 2022-7-5 23:37:28 | 显示全部楼层
既然您提到AutoLISP,您是否打算编写自己的代码?如果是,则要查找零长度实体,需要查找VLA-GET-length函数:
  1. (vla-get-length (vlax-ename->vla-object (car (entsel))))

空文本实体将在其关联列表中的DXF代码1下存储一个空字符串。
 
当然,上述所有操作都需要解析图形的数据库-请检查ENTNEXT和ENTGET函数。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-5 23:45:02 | 显示全部楼层
简单示例
 
  1. (setq ss (ssadd)
  2.      e  (entnext)
  3. )
  4. (while (and e (wcmatch (cdr (assoc 0 (setq en (entget e)))) "LINE,LWPOLYLINE,*TEXT"))
  5. (if (or (and (vlax-property-available-p (setq v (vlax-ename->vla-object e)) 'LENGTH)
  6.               (zerop (vla-get-length v))
  7.          )
  8.          (and (vlax-property-available-p v 'TEXTSTRING) (eq (vla-get-textstring v) ""))
  9.      )
  10.    (ssadd e ss)
  11. )
  12. (setq e (entnext e))
  13. )
  14. (sssetfirst nil ss)
回复

使用道具 举报

40

主题

177

帖子

100

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
248
发表于 2022-7-5 23:47:32 | 显示全部楼层
李·麦克、姆萨苏、塔瓦、,
非常感谢。
如果使用清除,但低版本没有此选项,例如acad2007
Tharwat,谢谢你的密码。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-5 23:52:13 | 显示全部楼层
 
这就是为什么我为
 
 
不客气。
回复

使用道具 举报

34

主题

174

帖子

60

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
257
发表于 2022-7-5 23:56:04 | 显示全部楼层
 
  1. (vlax-for obj (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object)))
  2.   (setq typ (vla-get-objectname obj))
  3.   (cond
  4.     ((wcmatch typ "*Text")
  5.       ....
  6.     ((wcmatch (strcase typ) "*LINE,ARC,ELLIPSE")
  7.     ....
  8.     )
  9.    (t)
  10.   )
  11. )
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-5 23:58:44 | 显示全部楼层
布局中的对象呢?
回复

使用道具 举报

34

主题

174

帖子

60

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
257
发表于 2022-7-6 00:05:05 | 显示全部楼层
 
  1. (vlax-for obj (vla-get-paperspace (vla-get-activedocument (vlax-get-acad-object)))
  2. ....
  3. )
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-8-18 06:34 , Processed in 0.658983 second(s), 75 queries .

© 2020-2025 乐筑天下

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