Python二次开发cad批量打印
用python二次开发cad批量打印,结果打印单个dwg文件,没有问题,打印多个dwg文件时,就会报错,不知道是怎么回事。初步判断,应该是没有打印完所引发的故障。给代码中加了延时后,效果不是很理想。查了EndPlot事件,不知道怎么在python中用。
有没有大神帮忙解决一下?
调用cad的方式:
acad = comtypes.client.GetActiveObject("AutoCAD.Application.20")
中间略去打印过程
acaddoc.Plot.PlotToFile(f"{filename1}.pdf") # 打印到当前文件夹
sleep(8) # r打印延时
acad.Documents.Close()# 关闭cad文件
错误信息:
Traceback (most recent call last):
File "G:\工作cad转pdf\cad打印pdf.py", line 53, in <module>
scr(filename1,filename,) # 批量转换
File "G:\工作cad转pdf\cad打印pdf.py", line 16, in scr
layout.ConfigName = "DWG To PDF.pc3" # 打印机名称
File "C:\Users\we\AppData\Local\Programs\Python\Python37\lib\site-packages\comtypes\__init__.py", line 292, in __setattr__
value)
_ctypes.COMError: (-2147418111, '被呼叫方拒绝接收呼叫。', (None, None, None, 0, None))
python二次开发cad,有没有学习资料分享下呗 qmqyqj 发表于 2021-1-9 16:11
python二次开发cad,有没有学习资料分享下呗
我也在是网上看资料,主要是win32com库、comtypes库或者pyautocad库,用的技术是ActiveX开发。
参考acadauto.chm和acadaag.chm 摸索了下,把acad = comtypes.client.GetActiveObject("AutoCAD.Application.20")这句进行了修改,改成
acad = comtypes.client.CreateObject("AutoCAD.Application.20")
这样修改后,加延时后,可以批量打印,但是还想着优化。看到有个 endplot事件,但不知道怎么用,不知道有人用过没,希望大神能指点下 程序运行太快了,必须连接上cad才能运行程序 z123456Z 发表于 2021-2-7 18:38
程序运行太快了,必须连接上cad才能运行程序
谢谢,已经解决 发个来试试啊 希望分享程序,谢谢
页:
[1]