Hallo
Für ein Projekt muss ich ein SolidWorks Makro erstellen, um eine bestimmte Aufgabe zu automatisieren. Bisher habe ich es geschafft, die Teile automatisch zu erstellen und in einer Baugruppe zusammenzubauen.
Trotzdem stehe ich jetzt vor einem Problem: Ich muss die Teile mit Constraints miteinander verknüpfen. Also versuche ich, es automatisch zu machen. Hier ist der Code:
Dimmen swApp als Objekt
Teil als Objekt dimmen
Dim boolstatus als boolescher Wert
Dim longstatus As Long, longwarnings As Long
Sub main()
Legen Sie swApp = Application.SldWorks fest
Set Part = swApp.ActiveDoc
" Mate
Part.ClearSelection2 Wahr
boolstatus = Part.Extension.SelectByID2("Entfernt mat.-Extru.1@disque1-1@Assemblage1", "BODYFEATURE", 0, 0, 0, Falsch, 1, Nichts, 0)
boolstatus = Part.Extension.SelectByID2("Boss.-Extru.6@Pièce1-1@Assemblage1", "BODYFEATURE", 0, 0, 0, True, 1, Nichts, 0)
Dim swMate As Mate2
Set swMate = Part.AddMate5(1, 0, False, 3.90150366882658E-02, 0.001, 0.001, 0.001, 0.001, 0, 0.523598755983, 0.523598755983, False, False, 0, longstatus)
Part.ClearSelection2 Wahr
Teil.EditRebuild3
Ende Sub
(auf zwei Stücken.)
Das Problem ist wie folgt:
Wenn ich versuche, die Einschränkung manuell auszuführen (also durch Entfernen der zugehörigen Zeile im obigen Code), habe ich zwei Möglichkeiten, abhängig von den Markierungen, die in meinen Code eingefügt werden (die Argumente der SelectID2-Methoden)
- -Wenn ich Markierung 0 verwende, werden die Teile nicht wirklich im Constraints-Menü ausgewählt (Screenshot 1)
- - Wenn ich Markierung 1 verwende, habe ich nur eine Constraint-Auswahl!
Ich denke also, dass es einen Parameter meiner Methoden geben muss, der nicht der richtige ist, aber trotz langer Suche habe ich ihn nicht gefunden. Ich komme also, um Ihnen die Frage zu stellen: Wie kann diese Einschränkung automatisch erreicht werden?
Vielen Dank im Voraus für die Hilfe, die Sie mir geben können.
captures_ecran.rar