I cannot get the TableThickness property to set properly. The API docs say that if the OverrideThickness property is False, then the TableThickness will match the Thickness property. If I set OverrideThickness to True, and then attempt to change the value of TableThickness, the value does not change.
I've tried this with C++ and with VBA and both fail in the same manner. VBA is as follows
Sub main()
Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc
boolstatus = Part.Extension.SelectByID2("Base-Flange1", "BODYFEATURE", 0, 0, 0, False, 0, Nothing, 0)
Set feat = Part.SelectionManager.GetSelectedObject6(1, 0)
Set def = feat.GetDefinition
boolstatus = def.AccessSelections(Part, Nothing)
def.OverrideThickness = True
def.TableThickness = 0.2242 * 1000# / 25.4
boolstatus = feat.ModifyDefinition(def, Part, Nothing)
boolstatus = def.AccessSelections(Part, Nothing)
Dim newThickness As Double
newThickness = def.TableThickness
End Sub
Setting a breakpoint and looking at the value of 'newThickness' it is the same as before the attempt to change it.
I have the same (I think) problem with the D1OffsetReference and D2OffsetReference. All the others work as expected.
Jim S.
SolidworksApi macros