乐筑天下

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

[编程交流] 另一个清除Lisp程序。。。

[复制链接]

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 13:25:56 | 显示全部楼层
 
遗憾的是,他们没有为清除方面提供更多的VL选项——我想你可以自己动手做代码,但可能不会太快。。。
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 13:27:46 | 显示全部楼层
有趣的想法,也许是这样的:
  1. (defun MleaderStylePurge (/)
  2. (vl-remove-if
  3.    'null
  4.    (mapcar
  5.      '(lambda (x)
  6.         (and
  7.           (eq 350 (car x))
  8.           (not (eq 330 (car (nth 5 (entget (cdr x))))))
  9.           (not (eq (getvar "cmleaderstyle")
  10.                    (vla-get-name (vlax-ename->vla-object (cdr x)))
  11.                ) ;_ eq
  12.           ) ;_ not
  13.           (entdel (cdr x))
  14.         ) ;_ and
  15.       ) ;_ lambda
  16.      (dictsearch (namedobjdict) "ACAD_MLEADERSTYLE")
  17.    ) ;_ mapcar
  18. ) ;_ vl-remove-if
  19. ) ;_ defun
如果没有或T列表,则返回nil(每个清除的样式一个)
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 13:31:36 | 显示全部楼层
很好,艾伦,
 
我对DXF的了解还不够多,所以这次的MLeaderStyles不够
 
必须阅读。。。
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 13:34:03 | 显示全部楼层
谢谢
我也一样,我对dxf一窍不通(注意,我将其转换为vla对象以比较样式名)。我只是做了一些比较和测试。
 
有趣的是,你可以删除一个样式,即使它是当前的和/或使用过的。autocad将崩溃,但您可以做到。我最初的想法是vl catch all apply and delete them,但它仍然会删除它。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 13:37:35 | 显示全部楼层
因此,您可以删除使用过的样式而不会出错-但它会在以后出错吗?
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 13:39:34 | 显示全部楼层
 
是的,这就是我为什么要投这么多支票的原因。就像entmod一样,你可以冻结当前层。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 13:45:36 | 显示全部楼层
 
啊,好的,谢谢
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 13:48:14 | 显示全部楼层
现在我渴了。
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 13:50:03 | 显示全部楼层
嘿,选择属性块的dxf代码是什么?
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 13:53:05 | 显示全部楼层
  1. (66 . 1)

 
或检查def:
 
  1. (eq 2 (logand 2 (cdr (assoc 70 (tblsearch "BLOCK" "<blk>")))))

 
我通常使用:
 
http://autodesk.com/techpubs/autocad/acad2000/dxf/
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-7-1 17:59 , Processed in 0.428433 second(s), 72 queries .

© 2020-2025 乐筑天下

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