Hello, im trying to define view body, it should be easily done by "swView.Bodies = new object[]{ somebody }", i created a vba macro with same principle (taken from api help ) and all works fine, in c# i cant make it work, debugging shows that the contents of "View.Bodies" never get replaced with new array... some clue?
c# version:
public void SetBody()
{
object[] b = new object[1];
ModelDoc2 modDoc = SwApp.ActiveDoc;
SelectionMgr selectionMgr = modDoc.ISelectionManager;
SolidWorks.Interop.sldworks.View v = selectionMgr.GetSelectedObject6(1, -1);
modDoc = v.ReferencedDocument;
var bodies = ((PartDoc)modDoc).GetBodies2((int)swBodyType_e.swSolidBody, true);
b[0] = bodies[1];
v.Bodies = b;
}
VBA version:
Dim Bodies(1) As Object
Dim swModel As SldWorks.ModelDoc2
Dim swSelMgr As SldWorks.SelectionMgr
Dim swView As SldWorks.View
Dim arrBody As Variant
Set swModel = swApp.ActiveDoc
Set swSelMgr = swModel.SelectionManager
Set swView = swSelMgr.GetSelectedObject6(1, -1)
Set swModel = swView.ReferencedDocument
arrBody = swModel.GetBodies2(swSolidBody, True)
Set Bodies(0) = arrBody(1)
swView.Bodies = Bodies
any help would be much appreciated...
SolidworksApi macros