Hallo an alle.
Mit dem Wunsch, ein Makro zu erstellen, um die Erstellung einer Funktion zu automatisieren, um face = > auf die Oberfläche + anschließend eine andere Funktion zu verschieben, habe ich den folgenden Code geschrieben.
Allerdings wird die Funktion nicht erstellt und ich sehe wirklich nicht das Warum oder Wie. Ich habe meine Start- und Endflächen mit den erforderlichen Markierungen ausgewählt, aber es wird nichts erstellt.
Haben Sie eine Idee?
Dimmen swApp als Objekt
Dim swmodel As SldWorks.ModelDoc2
Dim swModelDocExt As SldWorks.ModelDocExtension
Dim swFeatMgr As SldWorks.FeatureManager
Dim swFeat As SldWorks.Feature
Dim swMoveFaceFeat As SldWorks.MoveFaceFeatureData
Sub main()
Legen Sie swApp = Application.SldWorks fest
Legen Sie swmodel = swApp.ActiveDoc fest.
'Stellen Sie sicher, dass es sich bei der geöffneten Datei um eine Teildatei handelt
Wenn swmodel. GetType <> swDocPART dann
MsgBox "Bitte öffnen Sie eine Teiledatei", vbApplicationModal + vbOKOnly + vbCritical, "Teiledatei erforderlich"
Sub beenden
Ende, wenn
Dim Selectmanager als SelectionMgr
Legen Sie Selectmanager = swmodel fest. Auswahl des SelectionManagers wiederherstellen
sw-Modell verwenden. ClearSelection2 True ' Auswahl löschen
' Schleife für die Warteauswahl
Dim bool1 als boolescher Wert
So y
bool1 = Falsch
Ausführen, bis bool1 = wahr ist
Wenn Selectmanager.GetSelectedObjectType3(1, -1) = 2, dann
bool1 = Wahr
Ende, wenn
Für y = 1 Bis 50000
Veranstaltungen durchführen
Weiter y
Schleife
Dim-Coord als Variante
Coord = Selectmanager.GetSelectionPointInSketchSpace2(1, -1)
Dim x0 als Single
Sun y0 Als Single
Dim z0 als Single
x0 = Koord(0)
y0 = Koord(1)
z0 = Koord(2)
sw-Modell verwenden. ClearSelection2 (Wahr)
Legen Sie swModelDocExt = swmodel fest. Erweiterung
Legen Sie swFeatMgr = swmodel fest. Funktions-Manager
sw-Modell verwenden. ClearSelection2 (Wahr)
' Schleife für die Warteauswahl
bool1 = Falsch
Ausführen, bis bool1 = wahr ist
Wenn Selectmanager.GetSelectedObjectType3(1, -1) = 2, dann
bool1 = Wahr
Ende, wenn
Für y = 1 Bis 50000
Veranstaltungen durchführen
Weiter y
Schleife
Coord = Selectmanager.GetSelectionPointInSketchSpace2(1, -1)
x1 = Koord(0)
y1 = Koord(1)
z1 = Koord(2)
sw-Modell verwenden. ClearSelection2 (Wahr)
bret = swmodel. Extension.SelectByID2("", "FACE", x0, y0, z0, True, 1, Nichts, 0)
bret = swmodel. Extension.SelectByID2("", "FACE", x1, y1, z1, True, 8, Nichts, 0)
Set swFeat = swFeatMgr.InsertMoveFace3(swMoveFaceTypeTranslate, False, 0, 0, Nichts, Nichts, swEndConditions_e.swEndCondUpToSurface, 0)
Ende Sub
Vielen Dank im Voraus
Glücklicher Vater