SolidWorks二次开发 C#-读取基于Excel的BOM表信息
- 问题点来源
- 解决方案及思路
- 相关引用链接
问题点来源
这是一位粉丝问的一个问题,他说到:
老师,请问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();}
相关引用链接
SolidWorkApi Help Online