Hallo
Ich möchte mit dem Makrowerkzeug einen automatischen Teileaustausch in SolidWorks durchführen. Konkret möchte ich pro Wertegruppe ein Teil ändern/ersetzen. Ich habe den Befehl unten gefunden, aber er funktioniert nicht .
boolstatus = Part.ReplaceComponents("\\xxxxxxxx.SLDPRT", "", Wahr, 0, Wahr)
Danke für Ihre Hilfe.
pl
21. Juli 2016 um 08:05
2
Hallo
Haben Sie das Beispiel in der SolidWorks Hilfe gesehen?
http://help.solidworks.com/2012/English/api/sldworksapi/Replace_Component_Example_VB.htm
Wo bleibt Ihr Makro hängen?
Was ist die Fehlermeldung?
1 „Gefällt mir“
Die Debugger-Nachricht, ich werde versuchen, indem ich studiere, was Sie mir gegeben haben:)
1 „Gefällt mir“
In der Tat habe ich nicht alles über Ihren Code verstanden , ich brauche nur die Anweisung, einen Teil durch einen anderen zu ersetzen , ich kenne den Weg von beiden! Ich muss so komplizierten Code erstellen?
pl
25. Juli 2016 um 14:03
6
Probieren Sie diesen Code aus:
Dimmen swApp als Objekt
Teil als Objekt dimmen
Pfad als String dimmen
Dim boolstatus als boolescher Wert
Sub main()
Legen Sie swApp = Application.SldWorks fest
Set Part = swApp.ActiveDoc
Part.ClearSelection2 Wahr
Ersetzen Sie hier NOM_DE_TA_PIECE_DANS_SOLIDWORKS@NOM-DE-TON-ASSEMBLAGE durch den Namen des zu ersetzenden Teils
boolstatus = Part.Extension.SelectByID2("NOM_DE_TA_PIECE_DANS_SOLIDWORKS@NOM-DE-TON-ASSEMBLY", "KOMPONENTE", 0, 0, 0, Falsch, 0, Nichts, 0)
path = "C:\Ordner\Name Ihres neuen Teils . SLDPRT"
boolstatus = Part.ReplaceComponents(Pfad, "", Falsch, Wahr)
Ende Sub
1 „Gefällt mir“
Dieser Befehl funktioniert nicht, hier ist mein Code: (Debug öffnet sich für die letzte Zeile)
Sub main()
swApp = _ setzen Anwendung.SldWorks
Set Part = swApp.ActiveDoc
Part.ClearSelection2 Wahr
boolstatus = Part.Extension.SelectByID2("Teilename-1@Assemblage", "KOMPONENTE", 0, 0, 0, Falsch, 0, Nichts, 0)
boolstatus = Part.ReplaceComponents("C:\xxxxxxx\xxxx.sldprt", "", Falsch, 0, Wahr)
Ende Sub
pl
26. Juli 2016 um 07:34
8
Ist es normal "C:\xxxxxxx\xxxx.sldprt"?
Und sind Sie sicher, dass Sie in "Name of the 1@Assemblage Piece" keinen Fehler gemacht haben?
Ja, ich habe gerade meine Links durch xxxx ersetzt, und ja für die zweite Frage , weil ich sie vorher mit dem Makroaufzeichnungstool gespeichert habe...
Ich habe gerade den Fehler gefunden..... Ein bisschen 0 zu viel in meiner Reihenfolge:
boolstatus = Part.ReplaceComponents("C:\xxxxxxx\xxxx.sldprt", "", Falsch, 0 , Wahr)
Vielen Dank:)
1 „Gefällt mir“
pl
26. Juli 2016 um 07:51
11
Und du hast den Fehler gemacht, das, was ich geschrieben habe, zusätzlich zu kopieren, denn was ich geschrieben habe, ist richtig!
:) Keine Sorge, bitte wählen Sie bitte meine Antwort als die beste:)