[VB.Net] API Solidworks Thread Edition

Hallo

 

Egal wie sehr ich suche, ich finde keine Möglichkeit, nur die Abmessungen eines Gewindes in SOLIDWORKS zu bearbeiten

 

Szenario

Vorhandenes Bauteil mit M10-Gewinde

Objektiv

Ändern Sie den M10 in M12, ohne die Tiefeninformationen oder irgendetwas anderes anzugeben, genau so, als ob der Benutzer im SOLIDWORKS-Dialogfeld wechselt

 

Ich habe mir HoleWizard angeschaut, aber es ist nur, um den Thread zu erstellen und nicht um ihn zu bearbeiten :/

Ich habe seine gefunden

http://help.solidworks.com/2015/English/api/sldworksapi/SolidWorks.Interop.sldworks~SolidWorks.Interop.sldworks.IWizardHoleFeatureData2~ChangeStandard.html

Aber ich sehe nicht, wie ich meine Funktion vorher auswählen soll :/

Hallo

 

Möchten Sie eine 2D-Zeichnung in 3D bearbeiten?

 

In der Artikeldatei direkt ;)

Mit Hilfe des Supports ist hier der Code, der unter VB.net

Dim-Datei  als Zeichenfolge = "C:\Test.SLDPRT"
Dim swDocSpecification als SldWorks.DocumentSpecification = swApp.GetOpenDocSpec(File)
swDocSpecification.Silent = True : swDocSpecification.ReadOnly = False : swApp.OpenDoc7(swDocSpecification)
Dim Part As PartDoc = swApp.ActiveDoc
Dim swModel As SldWorks.ModelDoc2 = swApp.ActiveDoc
Dim featMgr As FeatureManager = Part.FeatureManager
'
Dim swSelMgr As SldWorks.SelectionMgr = swModel.SelectionManager
swModel.Extension.SelectByID2("Gewindebohrung ", "BODYFEATURE"0, 0,  0False0Nichts0)
Dim swFeat As SldWorks.Feature = swSelMgr.GetSelectedObject6(1, -1)
Dim-Instanz  As IWizardHoleFeatureData2
Dim Standard As Int32 = 8
Dim FastenerType As Int32 = 147
Dim SSize As String = "M30"
-Instanz = swFeat.GetDefinition-Instanz
. ChangeStandard(Standard, FastenerType, SSize)
swFeat.ModifyDefinition(instance, swModel, Nothing)
'
Part.ForceRebuild() 'Reconstruction
Dim fileerror, filewarning As Integer
Dim boolstatus As boolean = swModel.Save3(SwConst.swSaveAsOptions_e.swSaveAsOptions_Silent, fileerror, filewarning) 'Änderungen speichern swApp.CloseDoc (Datei) 'Den  Raum schließen  

Mit Hilfe des Supports ist hier der Code, der unter VB.net

Dim-Datei als String = "C:\Test.SLDPRT"Dim-swDocSpecification  als SldWorks.DocumentSpecification = swApp.GetOpenDocSpec(Datei) swDocSpecification.Silent = True : swDocSpecification.ReadOnly = False : swApp.OpenDoc7(swDocSpecification)Dim-Teil  als PartDoc = swApp.ActiveDocDim-swModel  als SldWorks.ModelDoc2 =     swApp.ActiveDocDim featMgr As FeatureManager = Part.FeatureManager 'Dim swSelMgr As SldWorks.SelectionMgr = swModel.SelectionManager swModel.Extension.SelectByID2("Threaded Hole", "BODYFEATURE", 0, 0, 0,  False, 0, Nothing, 0)Dim swFeat As SldWorks.Feature = swSelMgr.GetSelectedObject6(1,  -1)Dim-Instanz  als IWizardHoleFeatureData2 Dim-Standard  als Int32 = 8Dim-FastenerType  als Int32 = 147 Dim-SSize  als Zeichenfolge = "M30"-Instanz = swFeat.GetDefinition-Instanz. ChangeStandard(Standard, FastenerType, SSize) swFeat.ModifyDefinition(instance, swModel, Nothing) 'Part.ForceRebuild() 'Rekonstruktion Dim fileerror, filewarning As IntegerDim boolstatus As boolean = swModel.Save3(SwConst.swSaveAsOptions_e.swSaveAsOptions_Silent, fileerror, filewarning) 'Speichern  von ChangeswApp.CloseDoc( Datei) 'Schließen des Raums  

Wäre es möglich, den VBA-Code des vollständigen Makros in eine txt-Datei als Anhang einer Antwort einzufügen? Denn hier ist es ein bisschen unleserlich...