| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| Zerspanungstreff mit SolidCAM bei der Hoffmann GmbH in Achim/Bremen |
Autor
|
Thema: SolidWorks Makro -> Teil einfügen, gleich selektieren und Konfiguration umschalten (1637 / mal gelesen)
|
anwi7216 Mitglied Entwicklungsingenieur (M.Sc.; B.Eng.)
Beiträge: 18 Registriert: 28.09.2012 SolidWorks 2019 64-bit - SP 5.0 CAM-System = MazaCAM
|
erstellt am: 07. Jul. 2016 15:29 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich tüftle gerade ein wenig mit der Makrofunktion von SWX rum. Ich möchte gerne von einem Makro gesteuert ein Teil in eine Baugruppe einfügen und dann gleich die Konfiguration umschalten. Später soll das über eine Schleife in VBA automatisch erfolgen, also der Reihe nach eine bestimmte Anzahl an Teilen einfügen und gleich nach dem einfügen des Teils möchte ich in der Konfiguration eine Konfiguration weiter schalten (in der Stückliste sind die Teile dann später je eine Position). Vom Ablauf hätte ich gedacht, - boolstatus = Part.AddComponent("Dateipfad", 0, 0, 0) - boolstatus = Part.CompConfigProperties4(2, 0, True, True, "Instanz", False, False) - boolstatus = Part.EditRebuild3() Nur fehlt mir in dem Ablauf jetzt der Befehl, dass er das eingefügte Teil gleich auswählt, selektiert damit dann die Konfiguration umgeschaltet werden kann. Vielleicht hat von euch jemand eine Idee/Lösungsvorschlag. Danke, Gruß anwi7216
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HenryV Mitglied Konstrukteur, Engineering
Beiträge: 813 Registriert: 18.05.2005 SolidWorks 2022 x64 SP5.0 Dell Precision 5820 Intel Xeon W-2125 4x4GHz NVIDIA Quadro P2000 5GB 32GB RAM 2x Dell U2412M, 24" TFT Windows 10 Enterprise x64 22H2 Microsoft 365 E5 Microsoft Visual Studio Enterprise 2022
|
erstellt am: 07. Jul. 2016 16:52 <-- editieren / zitieren --> Unities abgeben: Nur für anwi7216
|
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles...
Beiträge: 2675 Registriert: 06.11.2000 SolidWorks Start 1999 ** CSWP 01/2008 ** ------------------ Zuletzt beruflich: - SWX2020 SP5; - SAP/PLM+ECTR; - DriveWorks Pro; - Programmierung: VBA, aktuell Visual Studio 2022/VB.Net ------------------ ab 2024 (privat): Onshape und anderes
|
erstellt am: 08. Jul. 2016 08:23 <-- editieren / zitieren --> Unities abgeben: Nur für anwi7216
|
anwi7216 Mitglied Entwicklungsingenieur (M.Sc.; B.Eng.)
Beiträge: 18 Registriert: 28.09.2012 SolidWorks 2019 64-bit - SP 5.0 CAM-System = MazaCAM
|
erstellt am: 08. Jul. 2016 08:29 <-- editieren / zitieren --> Unities abgeben:
Hallo Andreas, danke für den Tipp, das war die gesuchte Lösung Nur eine Frage, die Funktion setzt ja voraus, dass das einzufügende Bauteil im Arbeitsspeicher geladen ist -> sprich im Hintergrund geöffnet ist. Hast du da eine einfach Funktion, mit der du das Teil in SolidWorks im Hintergrund öffnest und die Baugruppe aber als aktives Dokument im Vordergrund bleibt. Also dass im Makro die Funktion swApp.ActiveDoc verwendet werden kann, für das einfügen in die Baugruppe ? Bin da nicht so fit, wie ich quasi eine neue Baugruppe wieder als aktives Dokument im Makro auswähle. Gruß Andreas [Diese Nachricht wurde von anwi7216 am 08. Jul. 2016 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
anwi7216 Mitglied Entwicklungsingenieur (M.Sc.; B.Eng.)
Beiträge: 18 Registriert: 28.09.2012 SolidWorks 2019 64-bit - SP 5.0 CAM-System = MazaCAM
|
erstellt am: 08. Jul. 2016 08:32 <-- editieren / zitieren --> Unities abgeben:
Hallo Klaus, stimmt, da ich nicht ganz so fit bin schaue ich gerne über die Makro Aufnahme Funktionen nach. Macht die Sache aber auch insgesamt nicht viel einfacher, wie man an dem Beispiel sieht Gruß Andreas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
anwi7216 Mitglied Entwicklungsingenieur (M.Sc.; B.Eng.)
Beiträge: 18 Registriert: 28.09.2012 SolidWorks 2019 64-bit - SP 5.0 CAM-System = MazaCAM
|
erstellt am: 08. Jul. 2016 08:48 <-- editieren / zitieren --> Unities abgeben:
jetzt muss ich zwecks der AddComponent4 nochmal fragen, da ich einen Laufzeitfehler bekomme. Aktuell hätte ich folgenden Code daraus gemacht: Instanz = 2 ConfigName = "Instanz" & Instanz CompName = "K:\LOG_Teile\Zubehoer\Teile für Stückliste\---Platzhalter---.sldprt" Set swApp = Application.SldWorks Set Part = swApp.ActiveDoc boolstatus = Part.AddComponent4(CompName, ConfigName, 0, 0, 0) Instanz = Instanz + 1 ConfigName = "Instanz" & Instanz Also ich gebe über ConfigName den entsprechenden Konfigurationsnamen mit (wie gesagt mit einem Zähler, da ich später mit eienr Schleife darüber gehe und imm um eine Position erhöhe). CompName wäre die Datei, die auch im Hintergrund geöffnet ist (und später übers Makro werden sollte). Nur weiß ich jetzt nicht, was an dem Code falsch ist und warum der Laufzeitfehler kommt Danke, Gruß Andreas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bk.sc Ehrenmitglied V.I.P. h.c. Konstrukteur Sondermaschinenbau
Beiträge: 2776 Registriert: 18.07.2012 -Solid Works 2019 SP5 -Pro Engineer WF 3
|
erstellt am: 08. Jul. 2016 10:06 <-- editieren / zitieren --> Unities abgeben: Nur für anwi7216
Hallo Andreas, ich würde die Komponente wirklich nur in den Arbeitspeicher laden, Sie muss ja nicht aktiv sein. Code: Option ExplicitDim swApp As SldWorks.SldWorks Dim swAssy As SldWorks.AssemblyDoc Dim swModel As SldWorks.ModelDoc2 Dim swComp As SldWorks.Component2 Dim CompName As String Dim ConfigName As String Dim lWarnings As Long Dim lErrors As Long Sub main() CompName = "Pfad zur Komponente" ConfigName = "Name der Konfiguration"
Set swApp = Application.SldWorks Set swAssy = swApp.ActiveDoc Set swModel = swApp.OpenDoc6(CompName, swDocPART, swOpenDocOptions_Silent, ConfigName, lWarnings, lErrors) Set swComp = swAssy.AddComponent4(CompName, ConfigName, 0, 0, 0) End Sub
Mich würde interessieren woher die Informationen mit Komponenten Namen und der verwendeten Konfigurationen kommen, weil evtl. kann mann das ganze dann auch anderst aufbauen. Gruß Bernd ------------------ --- Man muß nicht alles wissen, man muß nur wissen wo es steht --- Staatlich anerkannte Deutschniete [Diese Nachricht wurde von bk.sc am 08. Jul. 2016 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
anwi7216 Mitglied Entwicklungsingenieur (M.Sc.; B.Eng.)
Beiträge: 18 Registriert: 28.09.2012 SolidWorks 2019 64-bit - SP 5.0 CAM-System = MazaCAM
|
erstellt am: 08. Jul. 2016 14:44 <-- editieren / zitieren --> Unities abgeben:
Hallo nochmal an alle, Danke für euere Hilfe und die Tipps zur Lösung meines Problems. Konnte jetzt alle Probleme lösen und das Makro funktioniert tadellos. Wünsche ein schönes Wochenende und vielen Dank nochmal. Gruß Andreas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |