乐筑天下

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

[编程交流] 块颜色

[复制链接]

23

主题

89

帖子

66

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
115
发表于 2022-7-6 07:29:04 | 显示全部楼层 |阅读模式
大家好,
 
再次需要你的帮助。我有一个块,我需要按层或特定颜色更改块内的所有实体。我在考虑“nentselp”,但这只会给我一个实体来选择。我的问题是如何将块内的所有实体放入选择集,以便处理它们。我不需要完整的代码,只是选择部分对我来说就足够了。非常感谢。
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2022-7-6 07:33:09 | 显示全部楼层
 
您所描述的更像是重新定义块。
你意识到,当你这样做时,它会影响相同名称的所有块。
这就是你想要实现的吗?
回复

使用道具 举报

35

主题

2471

帖子

2447

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
174
发表于 2022-7-6 07:35:38 | 显示全部楼层
您打算如何区分ByLayer和分别直接附着的颜色实体?
大约只有一个街区?希望您知道有内置的REFEDIT和BEDIT命令。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 07:41:16 | 显示全部楼层
  1. setbylayer
回复

使用道具 举报

23

主题

89

帖子

66

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
115
发表于 2022-7-6 07:44:29 | 显示全部楼层
是的,重新定义区块,这是我的目标。
 
回复

使用道具 举报

23

主题

89

帖子

66

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
115
发表于 2022-7-6 07:45:10 | 显示全部楼层
这就是我目前正在做的。在图形上的每个块上使用bedit更改块内实体的颜色。我需要把所有的家具、固定装置、橱柜按我们公司的标准(颜色)摆放。
 
 
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 07:50:59 | 显示全部楼层
我的版本更改为任何色块和实体以及。。。。
 
  1. (defun c:Test (/ color ss i sn obj lst name)
  2. (vl-load-com)
  3. ;;; Tharwat 01. July. 2012  ;;;
  4. (cond ((not acdoc)
  5.         (setq acdoc (vla-get-activedocument (vlax-get-acad-object)))
  6.        )
  7. )
  8. (if (and (setq color (acad_colordlg 7 t))
  9.           (setq ss (ssget "_:L"))
  10.      )
  11.    (progn
  12.      (vla-startundomark acdoc)
  13.      (repeat (setq i (sslength ss))
  14.        (setq obj (vlax-ename->vla-object
  15.                    (setq sn (ssname ss (setq i (1- i))))
  16.                  )
  17.        )
  18.        (if (eq (cdr (assoc 0 (entget sn))) "INSERT")
  19.          (vlax-for block (setq
  20.                            blk (vla-item
  21.                                  (vla-get-blocks acdoc)
  22.                                  (setq name (vla-get-EffectiveName obj))
  23.                                )
  24.                          )
  25.            (if (and (eq :vlax-false (vla-get-isXref blk))
  26.                     (if (not (member name lst))
  27.                       (setq lst (cons name lst))
  28.                     )
  29.                )
  30.              (vlax-for x blk
  31.                (if
  32.                  (not (eq "AcDbBlockReference" (vla-get-objectname x)))
  33.                   (vla-put-color x color)
  34.                )
  35.              )
  36.            )
  37.          )
  38.          (vla-put-color obj color)
  39.        )
  40.      )
  41.      (vla-regen acdoc acAllViewports)
  42.      (vla-endundomark acdoc)
  43.    )
  44.    (princ)
  45. )
  46. (princ "\n Written by Tharwat Al Shoufi ")
  47. (princ)
  48. )
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2022-7-6 07:52:49 | 显示全部楼层
@塔瓦特
对于具有属性的块,在其中加入attsync。
 
@LISP2学习
这就是你想要做的吗?[tharwats代码]
回复

使用道具 举报

23

主题

89

帖子

66

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
115
发表于 2022-7-6 07:56:25 | 显示全部楼层

 
@LISP2学习
这就是你想要做的吗?[tharwats代码]
 
 
Tharwat和pBe,非常感谢。这正是我想要的。塔瓦,你帮我省了几个小时的工作。再次感谢你们,我不知道该如何表达我对你们在cadtutor的帮助。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 07:58:57 | 显示全部楼层
 
好观点pBe。
 
 
不客气。
 
这里是另一个包括pBe指出的属性块。
 
  1. (defun c:test (/ attribute b blk color i lst name obj sn ss)
  2. ;;;;;            Tharwat 01. June. 2012                 ;;;;;
  3. ;;;;;              This peice of code to change all           ;;;;;
  4. ;;;;;  selected objects (Blocks / Attribted Block / Objects)   ;;;;;
  5. (if (not acdoc)
  6.    (setq acdoc (vla-get-activedocument (vlax-get-acad-object)))
  7. )
  8. (if (and (setq color (acad_colordlg 7 t))
  9.           (setq ss (ssget "_:L"))
  10.      )
  11.    (progn
  12.      (vla-startundomark acdoc)
  13.      (repeat (setq i (sslength ss))
  14.        (setq obj (vlax-ename->vla-object
  15.                    (setq sn (ssname ss (setq i (1- i))))
  16.                  )
  17.        )
  18.        (cond
  19.          ((eq (cdr (assoc 66 (entget sn))) 1)
  20.           (progn
  21.             (vlax-for block (setq b (vla-item (vla-get-blocks acdoc)
  22.                                               (cdr (assoc 2 (entget sn)))
  23.                                     )
  24.                             )
  25.               (vlax-for x b (vla-put-color x color))
  26.             )
  27.             (foreach attribute (vlax-invoke obj 'Getattributes)
  28.               (vla-put-color attribute color)
  29.             )
  30.           )
  31.          )
  32.          ((and (eq (cdr (assoc 0 (entget sn))) "INSERT")
  33.                (not (member (cdr (assoc 2 (entget sn))) lst))
  34.           )
  35.           (progn
  36.             (setq lst (cons (cdr (assoc 2 (entget sn))) lst))
  37.             (vlax-for block
  38.                       (setq blk (vla-item (vla-get-blocks acdoc)
  39.                                           (cdr (assoc 2 (entget sn)))
  40.                                 )
  41.                       )
  42.               (if (eq :vlax-false (vla-get-isXref blk))
  43.                 (vlax-for x blk
  44.                   (if
  45.                     (not
  46.                       (eq "AcDbBlockReference" (vla-get-objectname x))
  47.                     )
  48.                      (vla-put-color x color)
  49.                   )
  50.                 )
  51.               )
  52.             )
  53.           )
  54.          )
  55.          (t (vla-put-color obj color))
  56.        )
  57.      )
  58.      (vla-regen acdoc acAllViewports)
  59.      (vla-endundomark acdoc)
  60.    )
  61.    (princ)
  62. )
  63. (princ "\n Written by Tharwat Al Shoufi ")
  64. (princ)
  65. )
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-10 04:30 , Processed in 0.356236 second(s), 72 queries .

© 2020-2025 乐筑天下

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