乐筑天下

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

[编程交流] 从块中删除图案填充

[复制链接]

4

主题

14

帖子

10

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-5 20:00:28 | 显示全部楼层 |阅读模式
早上好,
 
是lisp或某些代码,用于从图形中的每个块中删除图案填充。与我合作的超市连锁店在不同的项目上一遍又一遍地使用相同的区块,但大多数区块上都有一个阴影,这干扰了我的阶段图。
 
我曾尝试冻结/关闭图层,但由于他们没有使用图层智能设置块,因此无法工作。
 
我不担心丢失这些块中包含的信息,因为我正在为建造者制作仅以PDF格式发布的CAD文件。我不想炸掉这些积木!
 
期待您的评论
回复

使用道具 举报

10

主题

8258

帖子

8335

银币

初来乍到

Rank: 1

铜币
31
发表于 2022-7-5 20:08:29 | 显示全部楼层
请不要重复张贴。试着表现出一些耐心。我们都只是这里的志愿者。非常感谢。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 20:14:53 | 显示全部楼层
试试这个。。
 
  1. (vl-load-com)
  2. (defun c:Test (/ b o)
  3. ;;--- Tharwat 26.June.2013 ---;;  
  4. (or doc
  5.      (setq doc (vla-get-ActiveDocument (vlax-get-acad-object)))
  6. )
  7. (vlax-for b
  8.              (vla-get-blocks
  9.                doc
  10.              )
  11.    (if
  12.      (and
  13.        (eq :vlax-false (vla-get-isLayout b))
  14.        (eq :vlax-false (vla-get-isXref b))
  15.      )
  16.       (vlax-for o b
  17.         (if (eq "AcDbHatch" (vla-get-objectname o))
  18.           (vl-catch-all-apply 'vla-delete (list o))
  19.         )
  20.       )
  21.    )
  22. )
  23. (vla-regen doc acAllViewports)
  24. (princ)
  25. )
回复

使用道具 举报

48

主题

1073

帖子

1043

银币

后起之秀

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

铜币
238
发表于 2022-7-5 20:18:30 | 显示全部楼层
如果它们是在不同图形中多次使用的相同块,则只需修改每个块的一个实例,即使用BEDIT或Tharwat代码进行行为。然后在单个“主”图形中修改所有必要的块后,您可以使用设计中心重新定义任何当前图形中的块。
回复

使用道具 举报

4

主题

14

帖子

10

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-5 20:24:54 | 显示全部楼层
塔尔瓦特,
我终于有5分钟的时间来看看你的代码;它工作得很好,非常感谢,除了一件事,你可以修改代码,使其只适用于选定的项目,而不是整个绘图。我们现在使用了许多包含渐变填充/图案填充的块,我不想从中删除图案填充。
期待您的来信
再次感谢Stenna
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 20:29:47 | 显示全部楼层
 
试试这个。。。
 
  1. (vl-load-com)
  2. (defun c:Test (/ ss i sn name bd l)
  3. ;; Tharwat 18. Sep. 2013     ;;
  4. (or acdoc
  5.      (setq acdoc (vla-get-activedocument (vlax-get-acad-object)))
  6. )
  7. (if (setq ss (ssget "_:L" '((0 . "INSERT"))))
  8.    (repeat (setq i (sslength ss))
  9.      (setq sn (ssname ss (setq i (1- i))))
  10.      (if (not
  11.            (member (setq name (cdr (assoc 2 (entget sn)))) l)
  12.          )
  13.        (progn
  14.          (setq l (cons name l))
  15.          (vlax-for x (setq bd
  16.                             (vla-item (vla-get-blocks acdoc)
  17.                                       name
  18.                             )
  19.                      )
  20.            (if
  21.              (and (eq :vlax-false (vla-get-isxref bd))
  22.                   (eq (vla-get-objectname x) "AcDbHatch")
  23.              )
  24.               (vl-catch-all-apply 'vla-delete (list x))
  25.            )
  26.          )
  27.        )
  28.      )
  29.    )
  30.    (princ)
  31. )
  32. (if ss
  33.    (vla-regen acdoc acAllViewports)
  34. )
  35. (princ)
  36. )
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 20:34:07 | 显示全部楼层
你是否还有五分钟的时间来阅读代码?
回复

使用道具 举报

4

主题

14

帖子

10

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-5 20:37:55 | 显示全部楼层
在过去的五分钟里,我第一次使用它,它的效果非常好。。。。。超级编码
非常感谢
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 20:41:57 | 显示全部楼层
 
很高兴终于听到了
回复

使用道具 举报

4

主题

14

帖子

10

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-5 20:46:06 | 显示全部楼层
今晚你为我节省了大约2个小时的编辑时间。非常感谢
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-12 00:47 , Processed in 0.628980 second(s), 72 queries .

© 2020-2025 乐筑天下

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