pyautocad - 自动绘图 - 导入 DWG - 写入文本 - 导入图像

问题描述 投票:0回答:2

我不是专业程序员,我很抱歉我的英语:) 我希望你理解。

我正在尝试将部分工作自动化。 我必须创建 dwg;对我来说,每一层都是一张纸(如 A4 纸),因此我必须更改图层并从我的存储库符号导入特定的 dwg/dxf。

例如我必须: (开始新项目) 打开新项目.dwg (粘贴.dwg) 导入C: epository_cad\symbol1.dwg 位于第 n°3 层,坐标 X 100 Y 200。 (在符号中间写文字) 写入“SYMBOL_1”层 n°3 坐标 X 150 Y200 对齐中心。 (插入标志图像) 导入C: epository_cad\image1.jpg 坐标 X 10 Y 20

我正在尝试使用 pyautocad,但我找不到导入 dxf 的命令,也没有找到有关更改图层的信息。 我只找到了画线、圈ecc的命令,但是如果我必须通过python重新绘制所有存储库,我需要很多时间,我希望可以从另一个dwg复制绘制并将其粘贴到我的新dwg中。

有人可以给我一些关于这 3 个命令的帮助吗? 也许不可能在 pyautocad 上制作这个东西? python 还有其他库吗?

我阅读了文档,但没有看到有关某些导入功能的信息。 所以,我尝试过:

from pyautocad import Autocad, APoint
acad = Autocad(create_if_not_exists=False)
acad.prompt("Hello, Autocad from Python\n")
print (acad.doc.Name)

它可以工作,在 autocad 终端上我可以看到“Hello, Autocad from Python” 在文档中,我了解了如何从 python 编写 autocad 命令。 其功能是: 迅速的() 我试过了:

acad.prompt('-INSERT') #-INSERT is the autocad command for import dxf or dwg
acad.prompt('C:\SPAC\Librerie\Elettr\02-15-04.dwg')#this is the path of the cad
acad.prompt('-15 -15') #coord X Y of the point where i want to paste
acad.prompt('1') # 1 is the scale factor in X
acad.prompt('1') # 1 is the scale factor in Y (autocad askt first in X and after in Y
acad.prompt('0') #degree of rotation

此时我在 python 上没有错误,在 autocad 终端上也没有错误,但是绘图没有出现在 cad 上

谢谢 最大

python autocad autocad-scripts
2个回答
2
投票

acad.prompt() 只会将字符串回显到命令行。您正在寻找的是acad.doc.SendCommand(),例如

acad.doc.SendCommand('-INSERT ')

注意autocad命令后面有一个空格,代表激活该命令。


0
投票

浏览autocad网站的对象模型(ActiveX),这将帮助您编码/使用pyautocad的更多对象/工具

https://help.autodesk.com/view/OARX/2022/ENU/?guid=GUID-A809CD71-4655-44E2-B674-1FE200B9FE30 有关更多信息,您可以参加 udemy 的课程“使用 python 学习 AutoCAD 自动化”

© www.soinside.com 2019 - 2024. All rights reserved.