在这篇博文中,我将讨论 pyautocad 中最重要的方法之一,即 Add()。此方法为根据 AutoCAD 的对象模型创建大量基于文档的对象打开了大门。有关 pyautocad 的更全面的文档,我参考了我的其他 pyautocad 示例。在之前的文章中,我介绍了 pyautocad 中的 Intersect() 方法,以及 AutoCAD 光栅图像对象、3D 网格对象、使用 pyautocad 删除对象、用于基本 AutoCAD操作的 pyautocad 等。
pyautocad中Add()方法的基本使用
pyautocad Add() 方法创建成员对象并将它们添加到我们的文档中。在此特定部分中,我将讨论可用于以这种方式创建对象的非常基本的语法。这适用于以下对象类型/组:
- 词典
- 暗淡样式
- 文件
- 团体
- 图层
- 布局
- 线型
- 材料
- 弹出菜单
- 注册应用程序
- 选择集
- 文本样式
- 工具栏
- 观点
- 视口
创建这些对象的语法非常简单:
object.Add(Name)
例如,如果我们要创建一个新图层,我将使用以下语法:
acad.doc.Layers.Add(layer_name)
相同的概念适用于上述对象类型列表中包含的所有其他对象类型。
应用 pyautocad Add() 方法创建块
有时我们需要处理多个对象,将它们视为一个单元。在这种情况下,我们使用块。
在 AutoCAD 中创建块的 pyautocad 语法如下。
object.Add(Insertion_Point, Block_Name)
创建块后,我们可以将其保存在变量中,并使用我在之前的博客文章中讨论的方法向其添加不同的几何图形。
b1 = acad.doc.Blocks.Add(ip, "Test_block_1")
l1 = b1.AddLine(APoint(100, 100, 0), APoint(350, 350, 0))
c1 = b1.AddCircle(APoint(200, 250, 0), 150)
现在 AutoCAD 块已创建为文档的一部分。
但是,它在模型空间中仍然不可见。要使用该块,我必须将新创建的块插入到模型空间中。我可以使用 pyautocad InsertBlock() 方法来做到这一点。
应用 InsertBlock() 方法的 pyautocad 语法如下所示:
object.InsertBlock(InsertionPoint, Name , Xscale , Yscale , ZScale , Rotation , Password)
e.g.
acad.model.InsertBlock(APoint(250, 500, 0), "Test_block_1", 1, 1, 1, 0)
我可以看到该块已成功插入到模型空间中。
结束语
有关AutoCAD 自动化的更多博客文章,请查看我与 pyautocad 和pywin32相关的其他博客文章。请在下面留下您可能有的任何问题作为评论。如需任何技术帮助,请随时与我联系。您可以使用我们的联系表格来这样做。
Leave a Reply