Eks6666 发表于 2024-5-19 12:41

python操作CAD干货系列-批量设置多个cad文档图层、文字样式、颜色

本帖最后由 苏紫方璇 于 2024-5-20 11:41 编辑

from pyautocad import Autocad, APoint, aDouble, aInt, ACAD
import os
import os.path as osp

#运行cad程序
acad = Autocad(create_if_not_exists=True, visible=True)
path = os.getcwd()
for dirpath,_,filename in os.walk(path):
      dwgs=
      for dwg_filename in dwgs:
                # 读取cad文件
                acad.app.Documents.Open(dwg_filename)
                doc = acad.ActiveDocument# 设置为当前活动文档
                layers = doc.Layers
                doc.ActiveLayer = layers.Item(0)
                for obj in doc.ModelSpace:
                        obj.Layer = layers.Item(0).Name
                        obj.Color = 16777215#
                        if obj.EntityName in ['AcDbText', 'AcDbMText']:#判断对象是否是单行文本对象(AcDbText)或多行文本对象(AcDbMText)
                              obj.StyleName = "宋体"

                doc.Save()
                doc.Close()
acad.app.Quit()

llj667 发表于 2024-5-19 18:39

还有没有CAD的其它干货

qqask 发表于 2024-6-25 23:44

请教下大神:
如图所示,要把每个圆圈或者方框内的上下文字合并起来。
比如说中间的文字要提取出PDG-832A和SF-3606。


ailuo2005 发表于 2024-5-19 16:51

{:1_921:}不知道难不难

Eks6666 发表于 2024-5-20 01:00

llj667 发表于 2024-5-19 18:39
还有没有CAD的其它干货

有很多的,还有批量打印呢

Eks6666 发表于 2024-5-20 16:38

ailuo2005 发表于 2024-5-19 16:51
不知道难不难

不难,运行代码自动打开cad图纸,自动更改,不用自己动手改

ijarod 发表于 2024-5-20 20:55

以前逛其它论坛,这些都是用lisp实现的,现在都转向python了。感谢楼主。

Eks6666 发表于 2024-5-21 00:39

ijarod 发表于 2024-5-20 20:55
以前逛其它论坛,这些都是用lisp实现的,现在都转向python了。感谢楼主。

lisp要安装嵌套再cad里运行,这个单独运行代码就行了

wjbg2022 发表于 2024-5-21 09:30

Eks6666 发表于 2024-5-21 00:39
lisp要安装嵌套再cad里运行,这个单独运行代码就行了

PY还要安装环境呢!lisp是cad自带的,vba才需要单独安装

Eks6666 发表于 2024-5-22 23:34

wjbg2022 发表于 2024-5-21 09:30
PY还要安装环境呢!lisp是cad自带的,vba才需要单独安装

可曾听说过可以打包exe?

long88888888 发表于 2024-6-23 12:12

还是喜欢用源码
页: [1] 2
查看完整版本: python操作CAD干货系列-批量设置多个cad文档图层、文字样式、颜色