乐筑天下

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

[编程交流] 删除当前CAD文档中除STANDARD以外的所有多线样式

[复制链接]

15

主题

227

帖子

20

银币

后起之秀

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

铜币
276
发表于 2022-8-3 15:39:00 | 显示全部楼层 |阅读模式

ff1bb5uihgn.gif

ff1bb5uihgn.gif


      给朋友们共享个自定义函数,删除当前CAD文档中除STANDARD以外所有未被使用的且非当前的多线样式 ,本代码功能也可以用pu命令来实现,这里仅作为供初学多线样式编码的学习资料,请大家测试 ,有问题请反馈   谢谢!
  1. ;删除当前CAD文档中除STANDARD以外的所有未被使用的且非当前多线样式
  2. ;参数:无                                    
  3. ;执行 (ygs_Keep_only_STD)                     
  4. (defun ygs_Keep_only_STD(/ MLST_EN MLTY SS-ML YSM YSM2 YSMB)
  5. ;提取多线样式对象图元名
  6. (setq mlst_en
  7.    (mapcar 'cdr
  8.    (vl-remove-if-not
  9.   '(lambda (x) (eq(car x)350))
  10.    (dictsearch (namedobjdict) "ACAD_MLINESTYLE")
  11.    )
  12.   )
  13. )
  14. (setq ss-ml(ssget "x" '((0 . "MLINE"))));多线图元选择集
  15. (if ss-ml
  16. (progn
  17.   (setq mlty(ss2tym ss-ml));多线图元
  18.   (setq ysmb nil);样式名表
  19.   (while(car mlty)
  20.       (if(not(member(setq ysm(cdr(assoc 2(entget (car mlty))))) ysmb))
  21.          (setq ysmb(cons ysm ysmb))      
  22.       )
  23.     (setq mlty(cdr mlty))
  24.   )
  25. )
  26. )
  27. (setvar 'CMLSTYLE "STANDARD")
  28. (foreach x mlst_en;删除standard以外的多线样式图元
  29.   (IF(and
  30.       (/= (setq ysm2(cdr(assoc 2(entget x)))) "STANDARD");(car mlst_en)
  31.       (not(member ysm2 ysmb))
  32.      )
  33.     (ENTDEL x)
  34.   )
  35. )
  36. )
  37. ;;;选择集转图元名表(ss是否存在 可加个if判断下)
  38. (defun ss2tym(ss / i L)
  39.   (repeat (setq i (sslength ss))
  40.    (setq L (cons (ssname ss (setq i (1- i))) L))
  41.   )
  42. (reverse L)
  43. )

回复

使用道具 举报

188

主题

1652

帖子

31

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2391
发表于 2022-8-3 15:55:00 | 显示全部楼层
如果 已经使用,能删除么?
回复

使用道具 举报

15

主题

227

帖子

20

银币

后起之秀

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

铜币
276
发表于 2022-8-3 15:56:00 | 显示全部楼层

好像不行的   要空的才行
回复

使用道具 举报

15

主题

227

帖子

20

银币

后起之秀

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

铜币
276
发表于 2022-8-3 16:06:00 | 显示全部楼层
刚才试了下   没用的空样式  直接用pu命令也是可以清理掉的
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-3 18:38 , Processed in 0.574116 second(s), 63 queries .

© 2020-2025 乐筑天下

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