乐筑天下

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

[编程交流] 编辑多个块(颜色)a

[复制链接]

7

主题

30

帖子

23

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-5 23:06:05 | 显示全部楼层 |阅读模式
假设我有一大堆积木,它们都是不同的颜色。我想让它们都变成一种颜色,而不必进入块编辑器屏幕。
 
一定有办法的。
回复

使用道具 举报

0

主题

2

帖子

2

银币

初来乍到

Rank: 1

铜币
0
发表于 2022-7-5 23:13:42 | 显示全部楼层
用所需的颜色重新定义块。Autocad将询问您是否要更新图形中的当前块定义。
回复

使用道具 举报

48

主题

1073

帖子

1043

银币

后起之秀

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

铜币
238
发表于 2022-7-5 23:18:38 | 显示全部楼层
这确实可以归结为一开始就做对了。如果你真的需要,你应该只在块中定义颜色和层。最好在第0层上创建几何体,并使用“颜色byLayer”或“byBlock”。这样,你所需要做的就是把你的积木放在一个不同的层上,或者给它们分配一个不同的克隆,一切都完成了。
回复

使用道具 举报

7

主题

30

帖子

23

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-5 23:20:56 | 显示全部楼层
 
 
嗯,我必须把其他人的计划放进我的画里。例如HVAC、机械图纸。这些人使用大约20种不同的颜色,所有的东西都是一块。我喜欢把所有其他交易都做成某种颜色,然后锁上。这样,当我绘制管道时,我可以集中注意力。
 
如果每个人都像你说的那样做,那就行了。
回复

使用道具 举报

48

主题

1073

帖子

1043

银币

后起之秀

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

铜币
238
发表于 2022-7-5 23:25:08 | 显示全部楼层
在这种情况下,要回答您最初的问题,我认为编程是唯一的方法。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 23:31:23 | 显示全部楼层
您可以编辑一个块并更改其中的所有内容。这是一个lisp,用于将发现特定线型的每个块中的线型更改为不同的线型。
 
我从这里的论坛上得到了一个叫做block edit的来源
  1. ; my line only change
  2. ;(defun c:normblocks (/ adoc)
  3. (vl-load-com)
  4. (setq adoc (vla-get-activedocument (vlax-get-acad-object)))
  5. (vla-startundomark adoc)
  6. (vlax-for block (vla-get-blocks adoc)
  7.    (if   (not (wcmatch (strcase (vla-get-name block) t) "*_space*"))
  8.      (vlax-for   ent block
  9. (if  (= (vla-get-linetype ent ) "solid" )
  10. (progn
  11. (vla-put-linetype ent "Continuous")
  12. (princ (vla-get-name block))
  13. )
  14. );_ end of if
  15.   ) ;_ end of vlax-for
  16.      ) ;_ end of if
  17.    ) ;_ end of vlax-for
  18. (vla-regen adoc acactiveviewport)
  19. (vla-endundomark adoc)
  20. (princ)

 
完整的代码应易于更改颜色
  1. (defun c:normblocks (/ adoc)
  2. (vl-load-com)
  3. (setq adoc (vla-get-activedocument (vlax-get-acad-object)))
  4. (vla-startundomark adoc)
  5. (vlax-for block (vla-get-blocks adoc)
  6.    (if   (not (wcmatch (strcase (vla-get-name block) t) "*_space*"))
  7.      (vlax-for   ent block
  8. ; (vla-put-color ent 0)
  9.   (vla-put-linetype ent "Bylayer")
  10.   (vla-put-lineweight ent aclnwtbyblock)
  11.   ) ;_ end of vlax-for
  12.      ) ;_ end of if
  13.    ) ;_ end of vlax-for
  14. (vla-regen adoc acactiveviewport)
  15. (vla-endundomark adoc)
  16. (princ)
  17. ) ;_ end of defun
  18. (defun c:normblock (/ adoc selset)
  19. (vl-load-com)
  20. (setq adoc (vla-get-activedocument (vlax-get-acad-object)))
  21. (vla-startundomark adoc)
  22. (if (setq selset (ssget "_:S:L" '((0 . "INSERT"))))
  23.    (vlax-for ent (vla-item
  24.          (vla-get-blocks adoc)
  25.          (cdr (assoc 2 (entget (ssname selset 0))))
  26.          ) ;_ end of vla-item
  27.      (vla-put-color ent 0)
  28.      (vla-put-linetype ent "ByBlock")
  29.      (vla-put-lineweight ent aclnwtbyblock)
  30.      ) ;_ end of vlax-for
  31.    ) ;_ end of if
  32. (vla-endundomark adoc)
  33. (princ)
  34. ) ;_ end of defun

 
按层查找颜色
  1. (vl-load-com)
  2. (setq adoc (vla-get-activedocument (vlax-get-acad-object)))
  3. (vla-startundomark adoc)
  4. (vlax-for block (vla-get-blocks adoc)
  5.    (if   (not (wcmatch (strcase (vla-get-name block) t) "*_space*"))
  6.      (vlax-for   ent block
  7.   (vla-put-color ent 0)
  8.   (vla-put-linetype ent "Bylayer")
  9.   (vla-put-lineweight ent aclnwtbyblock)
  10.   ) ;_ end of vlax-for
  11.      ) ;_ end of if
  12.    ) ;_ end of vlax-for
  13. (vla-regen adoc acactiveviewport)
  14. (vla-endundomark adoc)
  15. (princ)
回复

使用道具 举报

7

主题

30

帖子

23

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-5 23:33:12 | 显示全部楼层
这真是太棒了,希望它能起作用。
回复

使用道具 举报

7

主题

30

帖子

23

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-5 23:40:11 | 显示全部楼层
哇,我把所有这些都做成了一个Lisp文件,加载到CAD中。砰!
 
我可以把任何一个方块换成任何我想要的颜色!只需点击它并改变颜色!
 
我不必进入块编辑!
 
只要加载,它就会自动使每个块都完美。
 
这将为我节省很多时间。只是想让你知道你让别人的生活更轻松了。哇,我觉得我现在可以休息更长时间了!咖啡听起来不错
回复

使用道具 举报

2

主题

74

帖子

72

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 23:44:00 | 显示全部楼层
用于规范化当前图形块的另一个程序
标准块。lsp
回复

使用道具 举报

0

主题

1

帖子

1

银币

初来乍到

Rank: 1

铜币
0
发表于 2022-7-5 23:47:21 | 显示全部楼层
你能解释一下如何加载lisp文件吗,我不知道如何使用lisp:(。我有许多块我想更改为相同的颜色,否则无法执行
 
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-11 03:04 , Processed in 0.411811 second(s), 72 queries .

© 2020-2025 乐筑天下

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