吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1907|回复: 45
收起左侧

[Python 原创] 超级干货-python批量修改替换cad图纸文本

  [复制链接]
Eks6666 发表于 2024-4-10 00:41
[Python] 纯文本查看 复制代码
from pyautocad import Autocad,APoint
import math
import os 
import os.path as osp
import re

reg=re.compile(r'.*(.dwg)$')#匹配dwg文件
path=r"F:\22年14批预算明细"
lst=[]
for dirpath,dirname,filename in os.walk(path):
	li=[osp.join(dirpath,s) for s in filename if osp.isfile(osp.join(dirpath,s))
											  if reg.findall(s)]
	for i in li:
		if i:
			lst.append(i)

for filename in lst:
	#连接CAD
	acad=Autocad(create_if_not_exists=True,visible=True)#create_if_not_exists—如果CAD不运行,则会创建新的实例.visible -如果为True,新AutoCAD实例将可见(默认)
	#打开/读取CAD文件
	acad.ActiveDocument.Application.Documents.open(filename)
	acad.prompt("Hello! ZWCAD from pyautocad.")
	print(acad.doc.Name)

	#遍历CAD文件中的所有文本对象,打印其文本内容及坐标位置
	for text in acad.iter_objects("Text"):#遍历Text对象
		#修改对象属性,将文本中的"x批"字符替换为"14批"
		if 'x批' in text.TextString:
			print('text: %s at: %s' %(text.TextString,text.InsertionPoint))
			# 修改對象屬性
			text1 = str(text.TextString)
			text1 = text1.replace('x批','14批')
			text.TextString = text1
			acad.ActiveDocument.SaveAs(filename, 61)#同名另存

	acad.ActiveDocument.Close()#关闭当前
          

acad.app.Quit()#退出cad程序


         

免费评分

参与人数 7吾爱币 +11 热心值 +5 收起 理由
苏紫方璇 + 5 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
daoye9988 + 1 + 1 热心回复!
SFTiger2022 + 1 + 1 谢谢@Thanks!
chen1987 + 1 + 1 用心讨论,共获提升!
杀神灭佛 + 1 谢谢@Thanks!
blindcat + 1 + 1 谢谢@Thanks!
envyzou + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

Rick_Nikita 发表于 2024-4-12 17:16
如果是中望CAD,需要先安装pyzwcad。
[Python] 纯文本查看 复制代码
pip install pyzwcad

[Python] 纯文本查看 复制代码
from pyautocad

替换成
[Python] 纯文本查看 复制代码
from pyzwcad


“AutoCAD.Application.19”需要换成“ZWCAD.Application.2024”

pyzwcad与pyautocad基本命令,大同小异。
blindcat 发表于 2024-4-11 08:56
文风 发表于 2024-4-10 08:00
能告诉如何使用吗,这个代码

安装python环境,会建虚拟环境的话建一个,安装Autocad,APoint依赖。
把上面的代码复制到一个文本文件中,把里面的path路径改成你的,把文件名及后缀改成 main.py
然后在当前目录下使用命令行,运行:python main.py
blindcat 发表于 2024-4-10 07:24
Cleaf007 发表于 2024-4-10 07:35
正好推给我设计院的同学看看
360204878 发表于 2024-4-10 07:42
收藏一下
noheartme 发表于 2024-4-10 07:46
收藏一下!正好有此需要。
xiaoyaochaoran 发表于 2024-4-10 07:48
这个适用于大批量文件处理,要是少量几个文件可以直接在cad里面手动查找替换就行了
happyxuexi 发表于 2024-4-10 07:51
谢谢分享,正在研究cad方面的。
Vincent2018 发表于 2024-4-10 07:55
大佬 有psd 修改问题 能否请教下呢
文风 发表于 2024-4-10 08:00
blindcat 发表于 2024-4-10 07:24
收藏一下,也许以后能用得上

能告诉如何使用吗,这个代码
luxiaoqi0811 发表于 2024-4-10 08:03
这代码怎么用?求教
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 15:45

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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