我正在开发一种工具,可以精确地从图形中获取标题和明细表信息,并对其进行编辑
我所做的是一个接一个地打开这些图形,从这个图形对象访问对象,它工作,但非常慢,特别是你想要精确到20多个图形。
最近我发现了一个很好的东西,那就是ObjectDBX,它可以从中获取信息并编辑图形,而无需打开它。我更新了我的代码,除了零件清单之外,它工作得很好。
在我的情况下,所有零件列表都存储在AutoCAD内置BOM表中,可以访问图纸空间(thisdrawing.paperspace(INDEX\u OF\u PARTLIST))中的表单IMcadPartList对象。项目列表)
但这在oDBX文档中似乎不可用,它未定义。
例子:
- ' I don't open CAD now, pseudo code below
- dim sampleFilePath as string
- dim dbx as axdbdocument
- dim doc as acaddocument
- dim partListRefIndex as integer
- sampleFilePath = "somewhere/sample.dwg"
- set dbx = new axdbdocument
- set doc = thisDrawing
- ' Let's point both version to the same file
- doc.open(sampleFilePath, READ_ONLY)
- dbx.open(sampleFilePath)
- partListRefIndex = GetPartListRefIndex(doc)
- doc.paperspace(partListRefIndex) ' It's an Object/IMcadPartList
- dbx.paperspace(partListRefIndex) ' It's an Object/IMcadPartList too
- doc.paperspace(partListRefIndex).itemlist ' Variant/Object/IMcadBOMItems
- dbx.paperspace(partListRefIndex).itemlist ' Error
请帮忙,有没有办法访问oDBX文档中的McadBOMItems? |