I'm trying to get the GetMiddleSurface method working to get the middle of a sheet metal body.
Dim instance As IBody2
Dim PlacementPercentage As Double
Dim Face1List As Object
Dim Face2List As Object
Dim Thickness As Object
Dim MiddleSurfaceBody As Object
Dim value As Integer
value = instance.GetMiddleSurface(PlacementPercentage, Face1List, Face2List, Thickness, MiddleSurfaceBody)
Just a quick (and dirty) test:
Dim swApp As SldWorks.SldWorks
Sub main()
Set swApp = Application.SldWorks
Dim swModel As SldWorks.ModelDoc2
Set swModel = swApp.ActiveDoc
Dim swFace1(0) As SldWorks.Face2
Dim swFace2(0) As SldWorks.Face2
Dim swBody As SldWorks.Body2
Dim swSelMgr As SldWorks.SelectionMgr
Set swSelMgr = swModel.SelectionManager
For i = 0 To swSelMgr.GetSelectedObjectCount
Debug.Print swSelMgr.GetSelectedObjectType(i)
Next i
Set swFace1(0) = swSelMgr.GetSelectedObject5(1)
Set swFace2(0) = swSelMgr.GetSelectedObject5(2)
Set swBody = swFace(0).GetBody
Dim swMidSurf As SldWorks.Body2
Dim vThick(1) As Double
vThick(0) = 0
vThick(1) = 0.01
Debug.Print swBody.GetMiddleSurface(50, swFace1, swFace2, vThick, swMidSurf)
End Sub
I have 2 parallel faces selected (selectedobject(0) is the body, 1 and 2 are the faces) and GetMiddleSurface returns 0 (no error), but the swMidSurf object doesn't contain any edges, faces etc. Does anyone have more luck (or the solution)?
SolidworksApi macros