我正在开发一种可以精确标题和工具的工具。零件列出图纸中的信息并进行编辑
我所做的是逐个打开这些图纸,从Thisdrawing
对象访问对象,它可以工作,但速度很慢,尤其是你想要像20多个图纸一样。
最近我找到了一件非常好的东西,即ObjectDBX
,它可以从中获取信息并在不打开的情况下编辑绘图。我更新了我的代码,除了零件清单外,它的工作原理很完美。
在我的情况下,所有零件清单都存储在AutoCAD内置BOM中,可以访问IMcadPartList
中的PaperSpace
对象thisdrawing.paperspace(INDEX_OF_PARTLIST).itemLis
但这似乎在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
?