明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1212|回复: 5

Pycad 对属性块简单处理,方便调用

[复制链接]
发表于 2023-6-3 18:37:34 | 显示全部楼层 |阅读模式

class BlockAtt:
    def __init__(self,blockref) :
        self.blockref = blockref
        self.attdict={}
        for attid in self.blockref.AttributeCollection:
            att = attid.GetObject(OpenMode.ForWrite)
            setattr(self,att.Tag,att)           
    def SetTextString(self,Tag,TextString):
        getattr(self,Tag).TextString = TextString
        
    def SetHeight(self,Tag,height):
        getattr(self,Tag).Height= height

    def GetTextString(self,Tag):
        return getattr(self,Tag).TextString

    def ChangeTagName(self,Tag,NewTagName):
        if hasattr(self, NewTagName):
            print("att has tag {0}".format(NewTagName))
        else:
            getattr(self, Tag).Tag=NewTagName


 楼主| 发表于 2023-6-3 18:40:57 | 显示全部楼层
本帖最后由 枫叶棋语 于 2023-6-3 18:43 编辑

blockatt=BlockAtt(block)
#假设有属性Tag="a",属性值TextString="atext"可以直接获取,修改
textstring = blockatt.GetTextString("a")

#也可以调用内部字典进行查询
发表于 2023-6-3 20:14:39 | 显示全部楼层
兄弟你对属性块比较熟悉吗
 楼主| 发表于 2023-6-3 20:55:05 | 显示全部楼层
664571221 发表于 2023-6-3 20:14
兄弟你对属性块比较熟悉吗

初学,熟悉谈不上
发表于 2023-6-4 10:19:33 | 显示全部楼层
Pycad怎么个玩法?
发表于 2023-6-7 11:44:40 | 显示全部楼层
PYCAD环境怎么配置?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 02:29 , Processed in 0.136297 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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