首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用Python的Autodesk Inventor API

使用Python的Autodesk Inventor API
EN

Stack Overflow用户
提问于 2015-06-15 23:47:20
回答 2查看 5.2K关注 0票数 2

我尝试使用Python for Autodesk Inventor API。例如,我尝试在使用Python创建的Inventor零件文档中创建新草图。

但我在添加草图时遇到了问题。我所有的尝试都是错的。下面是一个代码示例(许多代码中的一个):

代码语言:javascript
复制
import win32com.client

from win32com.client import constants


invApp = win32com.client.Dispatch("Inventor.Application")
invApp.Visible = True

asd = invApp.Documents.Add(constants.kPartDocumentObject,"",True)

nsk = asd.PartDocuments.ComponentDefinition.Sketches.Add()

有一个错误:

代码语言:javascript
复制
AttributeError: '<win32com.gen_py.Autodesk Inventor Object Library.Document instance at 0x284773312>' object has no attribute 'PartDocuments'

我试图找到调用属性的正确方法,但没有任何成功。

EN

回答 2

Stack Overflow用户

发布于 2019-01-16 17:20:05

正如其他人提到的那样。Documents.Add()返回一个文档对象。我们需要将它转换为这样的partDocument。

代码语言:javascript
复制
invDoc = invApp.Documents.Add(constants.kPartDocumentObject,"",True)
invPartDoc = win32com.client.CastTo(invDoc, 'PartDocument')
xyPlane = invPartDoc.ComponentDefinition.WorkPlanes.Item(3)
sketch = invPartDoc.ComponentDefinition.Sketches.Add(xyPlane)
票数 2
EN

Stack Overflow用户

发布于 2015-06-16 05:39:40

我不是Python专家...但是asd方法返回新文档,因此asd应该包含PartDocument类型。

代码语言:javascript
复制
asd = invApp.Documents.Add(constants.kPartDocumentObject,"",True)
nsk = asd.ComponentDefinition.Sketches.Add()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30849484

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档