明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2220|回复: 5

块中的属性文字,想改变它的层时,用重定义块方式竟不起作用,怎么办?

[复制链接]
发表于 2003-3-19 06:55:00 | 显示全部楼层 |阅读模式
发表于 2003-3-19 09:55:00 | 显示全部楼层

用命令-attedit,你可以编辑属性的图层,颜色,样式等等。但一次只能编辑一个属性。

 楼主| 发表于 2003-3-19 21:49:00 | 显示全部楼层

我知道这个命令,问题是块对象有上百个,有没有一次性全部改正的方法吗?

发表于 2003-3-20 12:12:00 | 显示全部楼层

Autocad本身好象没有这个命令,如果要一次性更改,只有写个程序了。

(defun change_att(blkname tag value layname / ss ent n ctrl)
  (setvar "cmdecho" 0)
  (setq ss (ssget (list '(-4 . "<and") '(0 . "INSERT") (cons 2 blkname) '(66 . 1) '(-4 . "and>")))
        n 0
        ctrl T)
  (if ss
    (while (setq ent (ssname ss n))
      (while ctrl
        (setq ent (entnext ent))
        (if (= (cdr(assoc 2 (entget ent))) tag)
          (progn
            (command "-attedit" "" blkname tag value ent "l" layname "")
            (setq ctrl nil)
            )
          (setq ent (entnext ent))
          )
        )
      (setq n (1+ n) ctrl T)
      )
    )
  (setvar "cmdecho" 1)
  (princ)
  )

这个程序很简陋,你可以自己加以改进,应该可以帮你解决问题。
 楼主| 发表于 2003-3-20 21:42:00 | 显示全部楼层

谢谢!阁下真是热心人,在下表示十分感谢!

发表于 2003-3-24 12:26:00 | 显示全部楼层

修改图块内所有属性性质

;;By 龙龙仔
;;修改图块内所有属性性质
;;USAGE: (CHANGE_ATT "LAYER" "DIM")
;;USAGE: (CHANGE_ATT "COLOR" "1")

(defun CHANGE_ATT (PROPERTY LNAME / BLK BLKREF BNAME BLKDEF ENT)
  (vl-load-com)
  (while
    (or        (not (setq BLK (car (entsel "\n选取带属性图块: "))))
        (progn
          (setq BLKREF (vlax-ename->vla-object BLK))
          (not (= (vla-get-objectname BLKREF) "AcDbBlockReference"))
        )
    )
  )
  (setq        BNAME  (vla-get-name BLKREF)
        BLKDEF (vla-item (vla-get-blocks
                           (vla-get-activedocument (vlax-get-acad-object))
                         )
                         BNAME
               )
  )
  (vlax-for ENT        BLKDEF
    (if        (= (vla-get-objectname ENT) "AcDbAttributeDefinition")
      ((eval (read (strcat "vla-put-" PROPERTY))) ENT LNAME)
    )
  )
  (command "_.attsync" "n" BNAME)
  (princ)
)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-26 07:25 , Processed in 0.154072 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表