admin 管理员组

文章数量: 1184232


2024年3月29日发(作者:matlab中axis函数是什么意思)

pyautocad文档

版本0.2.0

pyautocad库旨在简化用Python为AutoCAD编写ActiveX自动化脚本

1.1入门

1.1.1安装

如果您安装了pip或easy_install,您可以:

pip install --upgrade pyautocad

或:

easy_install -U pyautocad

此外,还可以从PyPI pyautocad页面下载Windows安装程序。

1.1.2要求

•通信类型

注意:如果您使用的是pip或easy_install 安装,那么它将自动安装。否则您应该

手动安装comtypes包。

•可选:

用于处理表格的xlrd和tablib

1.1.3检索AutoCAD ActiveX文档

AutoCAD ActiveX指南和参考的副本可以在AutoCAD安装的帮助目录中找到。

• acad_ - ActiveX and VBA Developer’s Guide

• - ActiveX and VBA Reference

参考也可以在C:Program FilesCommon 中找到

1.1.4下一步是什么?

阅读用法部分,或者在源代码分发的examples文件夹中查找真正的应用程序。

注意:示例中的应用程序是特定于俄罗斯工程的,但无论如何,我希望您能在该代码中找

到一些有趣的东西。

有关特性的更多信息,请参阅API文档和源代码。

1.2用法

1.2.1主界面及类型

对于第一个示例,我们将使用Autocad (main Automation object) 和

为操作与坐标

from pyautocad import Autocad, APoint

让我们创建AutoCAD应用程序或连接到已运行的应用程序:

acad = Autocad(create_if_not_exists=True)

("Hello, Autocad from Pythonn")

print

为了处理AutoCAD文档和对象,我们可以使用ActiveX接口,AutoCAD(从pyautocad)包

含了一些简化常见自动化任务的方法,如对象迭代和搜索,从用户选择的对象获取对象,

打印消息。

当前活动文档有快捷方式 ActiveDocument - 和

pace -

让我们添加一些对象到文档:

p1 = APoint(0, 0)

p2 = APoint(50, 25)

for i in range(5):

text = t(u'Hi %s!' % i, p1, 2.5)

e(p1, p2)

cle(p1, 10)

p1.y += 10

现在我们的文档包含了一些文本、行和圆,让我们迭代它们:

for obj in _objects():

print Name

Wea还可以迭代具体类型的对象:

for text in _objects('Text'):

print ring, ionPoint

注意:对象名称可以是不区分大小写的,例如_objects(’tex’)将返回

AcDbText 和 AcDbMText对象

或多种类型:

for obj in _objects(['Text', 'Line']):

print Name

我们也可以在一定条件下找到第一个物体。例如,让我们找到包含3的第一个文本项:

def text_contains_3(text_obj):

return '3' in text_ring

text = _one('Text', predicate=text_contains_3)

print ring

要修改文档中的对象,我们需要找到感兴趣的对象并更改其属性。有些属性用常量来描

述,例如文本对齐。这些常量可以通过ACAD访问,让我们改变所有文本对象的文本对齐

方式

from pyautocad import ACAD

for text in _objects('Text'):

old_insertion_point = APoint(ionPoint)

ent = nmentRight


本文标签: 对象 文档 找到 安装 应用程序