这是一位粉丝问的一个问题,他说到:
老师,请问Solidworks二次开发工程图中"基于Excel的材料明细表"怎么读取里面的数据?
Ps:这上面的问题,除了前两个字是多余的,后面的都没问题。哈哈
先手动调一个表格进来看看,到底是什么类型。
再去API查找对应的信息,如果实在不知道类型,可以使用选择对象的方法来测试。
最后就是拿到对象怎么去拿对应的BOM条目数据了。
有个关键的信息 就是要先Attach,不然获取不到。
下面的具体的代码:
SldWorks swApp = Utility.ConnectToSolidWorks();
ModelDoc2 swModel = (ModelDoc2)swApp.ActiveDoc;
SelectionMgr selectionMgr = (SelectionMgr)swModel.SelectionManager;
var selectedObject6 = selectionMgr.GetSelectedObject6(1, -1);
//Debug.Print((selectedObject6 is TableAnnotation).ToString());
Debug.Print((selectedObject6 is BomTable).ToString());
if (selectedObject6 is BomTable)
{
var bomtable= selectedObject6 as BomTable;
bomtable.Attach3();
Debug.Print(bomtable.GetRowCount().ToString());
Debug.Print(bomtable.GetHeaderText(1).ToString());
Debug.Print(bomtable.GetEntryText(3,2).ToString());
bomtable.Detach();
}