Python AutoCAD 文件




Blog Links






1. 连接及库导入

#!/usr/bin/env python
# -*- coding: utf-8 -*-

'''
=============================
Author = Hulunbuir & DalaiNur
Email: liyang@alu.hit.edu.cn
Last Update: 2019.07.28 14:00
=============================
'''

from pyautocad import Autocad

acad = Autocad(create_if_not_exists = True)
acad.prompt("Hello! AutoCAD from pyautocad.")
print(acad.doc.Name)

  在D盘创建名 “AutoCAD” 的新文件夹。


2. 打开文件

  CAD程序中需至少存在一个打开的图形空间,否则报错,报错内容为:无法获取Document对象。

  打开文件 D:\AutoCAD\PyAutoCAD.dwg,代码如下:

acad.ActiveDocument.Application.Documents.Open("D:\AutoCAD\PyAutoCAD.dwg")

3. 新建文件

  按如下方式新建的文件采用系统默认名称即Drawing1、Drawing2 . . . ,若更改名称,可在关闭时定义。

DrawingObj = acad.ActiveDocument.Application.Documents.Add("")

4. 设定当前

  设定当前就是将某个文件设置为活跃文件,位于其后的所有关于绘图的代码,都将在这个文件中生效。

4.1. 已知文件名设为当前

  将文件 PyAutoCAD.dwg 设为当前文件,代码如下:

acad.ActiveDocument.Application.Documents("PyAutoCAD.dwg").Activate()

4.2. 未知文件名设为当前

DrawingObj.Activate()  # 将New_Drawing设为当前文件。

5. 关闭并保存变更

5.1. 关闭已存在文件

acad.ActiveDocument.Application.Documents("PyAutoCAD.dwg").Close(True, "PyAutoCAD_已变更.dwg")
          # 关闭PyAutoCAD.dwg文件。
          # True 布尔值,为系统默认,表示打开文件后关闭前文件若发生变更,则保存变更,并另存为PyAutoCAD_已变更.dwg
          # 此时文件夹中同时存在未变更的"PyAutoCAD.dwg"和已变更的"PyAutoCAD_已变更.dwg"
          # 若第二项空缺,则新文件名为"PyAutoCAD.dwg",覆盖之前未变更的文件。

5.2. 关闭新建文件

DrawingObj .Close(True, "HIT.dwg")
          # 关闭New_Drawing文件。
          # 文件夹中仅存在"HIT.dwg"一个文件。

5.3. 关闭当前文件

acad.ActiveDocument.Close()
          # 关闭当前文档。

6. 另存为

6.1. 另存为.dwg/.dxf

  以下方法另存为文件的格式只能是 .dwg 和 .dxf,这与在CAD程序中,依次点击 文件 >> 另存为 相对应。


  1. 当前文件另存为.dwg/.dxf

  将当前文件另存为PyAutoCAD_SaveAs.dxf,文件的版本是:AutoCAD 2013 DXF。代码如下:

acad.ActiveDocument.SaveAs("D:\AutoCAD\PyAutoCAD_SaveAs", 61)

  上一代码执行完毕后,当前文件被程序关闭,PyAutoCAD_SaveAs.dxf文件被打开,且设定为当前文件。
  参数 61 表示另存为文件的类型是AutoCAD 2013 DXF,其他常用类型如下:

版本.dwg.dxf
AutoCAD 20001213
AutoCAD 20042425
AutoCAD 20073637
AutoCAD 20104849
AutoCAD 20136061

  2. 当前文件另存为.dwg/.dxf

  将特定文件PyAutoCAD.dwg另存为PyAutoCAD_SaveAs.dxf,文件的版本是:AutoCAD 2013 DXF。代码如下:

acad.ActiveDocument.Application.Documents("PyAutoCAD.dwg").SaveAs("D:\AutoCAD\PyAutoCAD_SaveAs", 61)

6.2. 另存为.pdf文件

"略"

7. 尾声

以上,便是关于AutoCAD文件的一些基本代码,因篇幅有限,某些非关键功能未做详细介绍,如有疑问,欢迎邮件来询。

本文部分功能的实现离不开广大博友的大力帮助,有些功能看似简单,但第一次实现出来却是相当不容易的。

鉴于,相关示例代码相对较少,特写本文,一方面是为自己的阶段性学习做一个总结,另一方面更是为有需要的人提供多一点参考。

如果您已实现一些本文未提及的功能,还请在评论区呈现,以便为后续学习者提供更多的帮助。

胸藏文墨怀若谷,腹有诗书气自华,希望各位都能在知识的pāo子里快乐徜徉。

因本人野生学习Python,水平确实有限,文中难免有所疏漏,还请各位大神不吝批评指正。

最后,祝各位攻城狮们,珍爱生命,保护发际线!

本文部分内容,源于网络!

欢迎大家点赞、评论及转载,转载请注明出处!

为我打call,不如为我打款!

打赏可备注邮箱,本人将赠送本系列博客的全部 Python 源代码。



在这里插入图片描述


评论 56
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hulunbuir

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值