I have written a macro to apply a scale to every body in a multibody part (add if not already there, modify if it is). It works fine for solid bodies, but for some reason, it doesn't work for surface bodies. Am I doing it wrong, or doesn't this property work for surface bodies? I have checked the array, and it does contain the surface bodies.
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swScale As SldWorks.ScaleFeatureData
Dim vExistingBodyArray As Variant
Dim swFeat As SldWorks.Feature
Sub main()
........
swScale.Bodies = vExistingBodyArray
swFeat.ModifyDefinition swScale, swModel, Nothing
End Sub
SolidworksApi macros