I`m looking for a way to change Size and thread Callout via API. I have a simple model of the pipe with threads on both ends. User can configure it using dropdown menus and select size NPT and if it needs to be threaded or not. I have no problems changing size, thread engagement and minor diameter as well as suppressing or unsuppressing threads.
I`m not sure how via code to change the following: ( I assume if I change Size - thread callout will automatically be changed)
I guess the steps are to find the cosmetic feature 1st and than change the parameter: -
BlindDepth AKA thread engagement and MinorDiameter not a problem as I mentioned above. What is DiameterType ? Is this what I have to change?
I tried to change callout by using this but nothing changes:
swCosThread.ThreadCallout = "text here"
Should I use swCosThread = swSubFeat.ModifyDefinition (????) What would be the right way to do this? Syntax?
What I have so far is:
Dim swApp As SldWorks.SldWorks
Dim Part As SldWorks.PartDoc
Dim swModel As SldWorks.ModelDoc2
Dim swFeat As SldWorks.Feature
Dim swCosThread As SldWorks.CosmeticThreadFeatureData
Dim swSubFeat As SldWorks.Feature
Dim sFeatType As String
swFeat = swModel.FirstFeature
Do While Not swFeat Is Nothing
swSubFeat = swFeat.GetFirstSubFeature
Do While Not swSubFeat Is Nothing
sFeatType = swSubFeat.GetTypeName
Select Case sFeatType
swCosThread = swSubFeat.GetDefinition
Debug.Print(" BlindDepth = " & swCosThread.BlindDepth / 0.0254# & " in")
Debug.Print(" Diameter = " & swCosThread.Diameter / 0.0254# & " in")
Debug.Print(" DiameterType = " & swCosThread.DiameterType)
Debug.Print(" ThreadCallout = " & swCosThread.ThreadCallout)
swSubFeat = swSubFeat.GetNextSubFeature
swFeat = swFeat.GetNextFeature
Any help appreciated.