bono05 发表于 2022-7-5 17:51:17

更改属性

你好
 
实际上,我有一个计划,有许多不同的块,具有不同颜色/层和线型的属性。。。。
因此,我想从图形中的所有属性中进行此操作:
 
层“0”
线型“Bylayer”
颜色“白色”
 
一次可以改变吗?
 
谢谢你的帮助!

samifox 发表于 2022-7-5 18:02:55

如果你想设置属性的属性。选择块类型“be”,并设置所需内容。然后同步属性

bono05 发表于 2022-7-5 18:08:23

你好
我知道。。。但我想在一个有许多不同区块的计划上这样做!所以最好马上。。。

David Bethel 发表于 2022-7-5 18:13:15

只需使用合法值操作列表的vl:

;;;MULTPIPLE EDITS OF ALL ATTRIBUTES BASED ON
;;;A GROUP VARIABLE ASSOCIATION LIST

(defun c:att-med (/ vl ss i en ed an ad g)

(setq vl (list (cons 6 "BYLAYER")
            ;    (cons 7 (getvar "TEXTSTYLE"))
                (cons 8 "0")
             ;   (cons 40 1.0)
                (cons 62 7)))

(and (setq ss (ssget "X" '((0 . "INSERT")(66 . 1))))
      (setq i 0)
      (while (setq en (ssname ss i))
             (setq ed (entget en)
                   an (entnext en)
                   ad (entget an))
             (while (= "ATTRIB" (cdr (assoc 0 ad)))
                  (foreach p vl
                     (setq g (car p))
                     (if (assoc g ad)
                           (setq ad (subst p (assoc g ad) ad))
                           (setq ad (append ad (list p)))))
                  (entmod ad)
                  (setq an (entnext an)
                        ad (entget an)))
             (entupd en)
             (setq i (1+ i))))
(prin1))

 
 
这相当危险,因为它会影响dwg中的每个属性。
 
它也不重新定义块表ATTDEF定义
 
您可以制作一个UI前端,但这需要相当大的工作量-大卫

halam 发表于 2022-7-5 18:18:44

有许多可用的工具和方法。
我喜欢GileCAD的解决方案来处理块的属性。应该试试。。
http://gilecad.azurewebsites.net/LISP/Edit_bloc_3.5.zip

bono05 发表于 2022-7-5 18:31:14

 
你好
我做了一个att med。lsp。。。但是att med命令不起作用?

bono05 发表于 2022-7-5 18:37:33

 
你好
我有这个。。。。但他改变了属性和块。。。我只想更改属性,块需要留在实际层上。

David Bethel 发表于 2022-7-5 18:44:35

 
 
hhhmmm在这方面工作过???你(加载“ATT-MED”)

bono05 发表于 2022-7-5 18:49:22

 
嗨,大卫,
 
我在我的att med中做了一个新的复制/粘贴。lsp。。。。现在它开始工作了!
干得好。。非常感谢。

David Bethel 发表于 2022-7-5 18:51:36

很高兴听到这个消息-大卫
页: [1]
查看完整版本: 更改属性