Eks6666 发表于 2024-4-11 12:28

cad系列-超级干货-python获取cad已有块属性

from pyautocad import Autocad
import pythoncom

def run(path):
    pythoncom.CoInitialize()
    acad = Autocad(create_if_not_exists=True)
    acad.Application.Documents.Open(path)
    acad.ActiveDocument.Layers.Add("HIT_Layer")

    if acad:
      blocks = acad.doc.Blocks
      blocks = acad.best_interface(blocks)

      for block in blocks:
            print(block.Name)
            count = block.Count

            if"*Model Space"==block.Name:
                for i in range(count):
                  item = block.Item(i)
                  print(item.EntityName)
                  print(dir(item))

            elif "*Paper_Space"==block.Name: # 布局1
                pass

            elif "*Paper_Space0"==block.Name:#布局2
                pass


      return

if __name__=='__main__':
    run(r'G:\桌面\批量打印\测试.dwg')


lovesdeeply 发表于 2024-4-11 12:47

能具体讲讲一下。。。
我会编制属性块,但是你这个代码是可以自动写成块?
还是只能读取块的信息?好像实用性不是很强。。
至少我目前用不到。

surepj 发表于 2024-4-11 12:48

学习了~ 谢谢楼主分享

midkr 发表于 2024-4-11 13:27

谢谢楼主分享!

Bharming 发表于 2024-4-11 13:42

谢谢楼主的分享,感觉还是很有用的

lzspain 发表于 2024-4-11 14:19

Python学习成本高,还得专门安装运行环境,不如用LISP或者其他简单的插件

52mm 发表于 2024-4-11 14:34

感谢分享

fanafan 发表于 2024-4-11 15:20

试了一下,可以

Eks6666 发表于 2024-4-11 16:25

fanafan 发表于 2024-4-11 15:20
试了一下,可以

感谢铁子支持
页: [1]
查看完整版本: cad系列-超级干货-python获取cad已有块属性