| | |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| | |
 | SOLIDWORKS Schweißkonstruktion, ein Seminar am 29.01.2026
|
|
Autor
|
Thema: Arbeitsprozess automatisieren (2315 mal gelesen)
|
Thomas 3D Mitglied 3D Designer
 
 Beiträge: 394 Registriert: 17.09.2008 AutoCad 2024 Athena 2023 SWX 2020
|
erstellt am: 14. Jan. 2010 08:33 <-- editieren / zitieren --> Unities abgeben:         
Hallo Forum, vielleicht hat ja jemand von euch schon mal das Problem gehabt jedes Teil im Strukturbaum zu öffnen und es mit Strg+Q neu durchrechnen zu lassen und anschließend wieder abspeichern und schließen zu müssen. Das sind viele Mausklicks bei vielen Teilen. Ist euch vielleicht schon einmal solch ein Script über den Weg gelaufen? Ich selber habe keine Ahnung von Script bzw. Marcoprogrammierung. Wer könnte mir bei meinem Problem behilflich sein? Vielen Dank schon mal im Voraus. Gruß Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Olaf Wolfram Ehrenmitglied V.I.P. h.c. CAD-Mutti und Konstrukteur CSWP CSWI

 Beiträge: 2431 Registriert: 30.06.2008 I7-3770 CPU 3,40 Ghz 32 Gb RAM 64 bit WIN 10 SWX 2019 SP5 NVIDIA Quadro K2000<P> Lenovo ThinkStation
|
erstellt am: 14. Jan. 2010 08:47 <-- editieren / zitieren --> Unities abgeben:          Nur für Thomas 3D
Hallo Thomas, Was bezweckst du damit, bzw. was willst du an den Dateien erreichen? Vlt. hilft dir der Taskplaner? ------------------ ...strebe niemals nach den Dingen, die auch dümmeren gelingen..... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
G. Dawg Ehrenmitglied V.I.P. h.c. Teamleiter FEM Simulation

 Beiträge: 2622 Registriert: 12.07.2004 SolidWorks_2o2o SP3.o Win10_x64, Quadro_P2ooo. VisualStudio_2o19_Pro. FEM: Forge_NxT_HPC, ANSYS_WB. 3D-Printer: Ultimaker_2, Tinker_Gnome.
|
erstellt am: 14. Jan. 2010 08:57 <-- editieren / zitieren --> Unities abgeben:          Nur für Thomas 3D
Hallo Thomas, Ich habe mir mal genau so ein Makro gebaut. Der Code ist sicher nicht perfekt, funktioniert aber. Dies ist aber mit äusserster Vorsich zu geniessen! Ich lehne jede Haftung ab! Code:
[EDIT] War nix!
UserForm1, ist bloss eine Progressbar (ProgressBar1). Dazu wird noch der Titel des Fensters geändert (Caption). Kannst Du aber alles weglassen, wenn Du möchtest. ------------------
[Diese Nachricht wurde von G. Dawg am 14. Jan. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas 3D Mitglied 3D Designer
 
 Beiträge: 394 Registriert: 17.09.2008 AutoCad 2024 Athena 2023 SWX 2020
|
erstellt am: 14. Jan. 2010 09:00 <-- editieren / zitieren --> Unities abgeben:         
Hallo Ofaf, meine Teile besitzen Bohrreihen. Die Bohrungen zueinander dürfen einen bestimmten Lochabstand nicht überschreiten. Wird das Teil länger, dann wird automatisch eine Bohrung dazu getan. Das funktioniert in beide Richtungen. Diesen Automatismus habe ich über Gleichnungen erreicht, die sich im Teil befinden. SWX ist leider nicht in der Lage alles zu aktualisieren. Es stellt das Teil nach dem aktualisieren richtig dar, aber leider die Bohrkette nicht. Erst wenn ich das Teil separat öffnen und dann Strg+Q sage, dann werden erst die Bohrungen richtig gesetzt. Deshalb bin ich gezwungen jedes Teil separat zu öffnen und zu aktualisieren. Wenn ich jetzt so ein Makro hätte mit dem ich das Öffnen,aktualisieren & speichern automaisieren könnte, dann würde das mir viele Mausklicks ersparen.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas 3D Mitglied 3D Designer
 
 Beiträge: 394 Registriert: 17.09.2008 AutoCad 2024 Athena 2023 SWX 2020
|
erstellt am: 14. Jan. 2010 09:13 <-- editieren / zitieren --> Unities abgeben:         
Vielen Dank für die schnelle Hilfe, aber wie schon gesagt, ich habe von Programmmierung keine Ahnung. Ich habe dein Quellcode mal in ein Macro kopiert und gestartet. Es kam gleich am Anfang eine Fehlermeldung bei UserForm1.Show 0 Wenn du sagt ich kann alles weglassen, dann weis ich wirklich nicht bis wohin ich die Zeilen herauslöschen kann. Sorry!!!! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
G. Dawg Ehrenmitglied V.I.P. h.c. Teamleiter FEM Simulation

 Beiträge: 2622 Registriert: 12.07.2004 SolidWorks_2o2o SP3.o Win10_x64, Quadro_P2ooo. VisualStudio_2o19_Pro. FEM: Forge_NxT_HPC, ANSYS_WB. 3D-Printer: Ultimaker_2, Tinker_Gnome.
|
erstellt am: 14. Jan. 2010 09:34 <-- editieren / zitieren --> Unities abgeben:          Nur für Thomas 3D
Ok, sorry! So vielleicht: Code:
Public swApp As SldWorks.SldWorks Public ModelDoc As SldWorks.ModelDoc2 Sub main() Dim bret As Boolean Dim i As Integer Dim x As Integer '########################################################################## Set swApp = Application.SldWorks Set ModelDoc = swApp.GetFirstDocument i = 0 Do While Not ModelDoc Is Nothing i = i + 1 Set ModelDoc = ModelDoc.GetNext Loop '########################################################################## '########################################################################## Set swApp = Application.SldWorks Set ModelDoc = swApp.GetFirstDocument
x = 0 Do While Not ModelDoc Is Nothing bret = ModelDoc.ForceRebuild3(True) x = x + 1 Debug.Print "Bitte warten ... " & x & " von " & i & " Dokumenten neu aufgebaut: " & ModelDoc.GetTitle Set ModelDoc = ModelDoc.GetNext Loop '########################################################################## Debug.Print "#############################################" Debug.Print "Fertig, " & i & " Dokumente neu aufgebaut." End Sub
------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas 3D Mitglied 3D Designer
 
 Beiträge: 394 Registriert: 17.09.2008 AutoCad 2024 Athena 2023 SWX 2020
|
erstellt am: 14. Jan. 2010 09:54 <-- editieren / zitieren --> Unities abgeben:         
Ich habe jetzt noch einmal ein neues Macro angelegt. Dieses Macro habe ich gestartet. Das Programm hat eine Weile eine Sanduhr gezeigt und dann war es fertig. Ich kann jetzt nicht auf Anhieb sagen, ob er etwas gemacht hat. Werd mal die Teile kontrollieren. Nur nochmal für mich zum Verständnis: 1) Teil wird geöffnet 2) Teil wird neu durchgerechnet (z.Bsp. mit Strg+Q) 3) Teil wird abgespeichert 4) Teil wird geschlossen 5) jetzt beginnt das Ganze wieder bei 1) Werden nur die nicht unterdrückten Teile aktualisiert oder alle Teile die im Strukturbaum stehen? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
G. Dawg Ehrenmitglied V.I.P. h.c. Teamleiter FEM Simulation

 Beiträge: 2622 Registriert: 12.07.2004 SolidWorks_2o2o SP3.o Win10_x64, Quadro_P2ooo. VisualStudio_2o19_Pro. FEM: Forge_NxT_HPC, ANSYS_WB. 3D-Printer: Ultimaker_2, Tinker_Gnome.
|
erstellt am: 14. Jan. 2010 10:45 <-- editieren / zitieren --> Unities abgeben:          Nur für Thomas 3D
Sorry für den Müll zuvor! Was Du, natürlich, suchst, ist das da: Code:
Option ExplicitSub main() Dim swApp As SldWorks.SldWorks Dim swModel As SldWorks.ModelDoc2 Dim swAssy As SldWorks.AssemblyDoc Dim swConf As SldWorks.Configuration Dim swRootComp As SldWorks.Component2 Dim bret As Boolean Set swApp = CreateObject("SldWorks.Application") Set swModel = swApp.ActiveDoc Set swConf = swModel.GetActiveConfiguration Dim swSelMgr As SldWorks.SelectionMgr Dim SelComp As SldWorks.Component2 Set swRootComp = swConf.GetRootComponent Debug.Print "File = " & swModel.GetPathName TraverseComponent swRootComp, 1 End Sub Sub TraverseComponent(swComp As SldWorks.Component2, nLevel As Long) Dim vChildComp As Variant Dim swChildComp As SldWorks.Component2 Dim swCompConfig As SldWorks.Configuration Dim sPadStr As String Dim i As Long For i = 0 To nLevel - 1 sPadStr = sPadStr + " " Next i vChildComp = swComp.GetChildren For i = 0 To UBound(vChildComp) Set swChildComp = vChildComp(i) TraverseComponent swChildComp, nLevel + 1 Debug.Print sPadStr & swChildComp.Name2 & " <" & swChildComp.ReferencedConfiguration & ">" Dim swApp1 As SldWorks.SldWorks Dim swModel1 As SldWorks.ModelDoc2 Set swApp1 = CreateObject("SldWorks.Application") Set swModel1 = swApp1.ActiveDoc Dim bret As Boolean bret = swModel1.ForceRebuild3(True) Next i End Sub
------------------ [Diese Nachricht wurde von G. Dawg am 14. Jan. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas 3D Mitglied 3D Designer
 
 Beiträge: 394 Registriert: 17.09.2008 AutoCad 2024 Athena 2023 SWX 2020
|
erstellt am: 14. Jan. 2010 11:28 <-- editieren / zitieren --> Unities abgeben:         
Sorry, aber ich hab auch noch einmal mit dem letzten Quellcode von dir probiert, aber die Teile werden nicht aktualisiert. Ich hab dir mal eine Beispielbaugruppe mitgeschickt. Wenn du in der Baugruppe sagst aktualisieren, dann verändern sich die Lochabstände nicht. Gehts du aber direkt in das Teil und sagst dort aktualisieren, dann werden die Bohrungen neu berechnet. Das bekomme ich mit deinem Makro im Moment noch nicht hin. Gruß Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
G. Dawg Ehrenmitglied V.I.P. h.c. Teamleiter FEM Simulation

 Beiträge: 2622 Registriert: 12.07.2004 SolidWorks_2o2o SP3.o Win10_x64, Quadro_P2ooo. VisualStudio_2o19_Pro. FEM: Forge_NxT_HPC, ANSYS_WB. 3D-Printer: Ultimaker_2, Tinker_Gnome.
|
erstellt am: 14. Jan. 2010 11:31 <-- editieren / zitieren --> Unities abgeben:          Nur für Thomas 3D
|
G. Dawg Ehrenmitglied V.I.P. h.c. Teamleiter FEM Simulation

 Beiträge: 2622 Registriert: 12.07.2004 SolidWorks_2o2o SP3.o Win10_x64, Quadro_P2ooo. VisualStudio_2o19_Pro. FEM: Forge_NxT_HPC, ANSYS_WB. 3D-Printer: Ultimaker_2, Tinker_Gnome.
|
erstellt am: 14. Jan. 2010 13:12 <-- editieren / zitieren --> Unities abgeben:          Nur für Thomas 3D
 Jetzt wird das geöffnete und neu aufgebaute Dokument auch gleich gespeichert ( ohne zu fragen) Code:
Option ExplicitSub main() Dim swApp As SldWorks.SldWorks Dim swModel As SldWorks.ModelDoc2 Dim swAssy As SldWorks.AssemblyDoc Dim swConf As SldWorks.Configuration Dim swRootComp As SldWorks.Component2 Dim bret As Boolean Set swApp = CreateObject("SldWorks.Application") Set swModel = swApp.ActiveDoc Set swConf = swModel.GetActiveConfiguration Dim swSelMgr As SldWorks.SelectionMgr Dim SelComp As SldWorks.Component2 Set swRootComp = swConf.GetRootComponent Debug.Print "File = " & swModel.GetPathName TraverseComponent swRootComp, 1 End Sub Sub TraverseComponent(swComp As SldWorks.Component2, nLevel As Long) Dim vChildComp As Variant Dim swChildComp As SldWorks.Component2 Dim swCompConfig As SldWorks.Configuration Dim sPadStr As String Dim i As Long Dim nRetval As Long For i = 0 To nLevel - 1 sPadStr = sPadStr + " " Next i vChildComp = swComp.GetChildren For i = 0 To UBound(vChildComp) Set swChildComp = vChildComp(i) TraverseComponent swChildComp, nLevel + 1 Debug.Print sPadStr & swChildComp.Name2 & " <" & swChildComp.ReferencedConfiguration & ">" Dim swApp1 As SldWorks.SldWorks Dim swModel1 As SldWorks.ModelDoc2 Set swApp1 = Application.SldWorks Set swModel1 = swApp1.ActivateDoc2(swChildComp.GetPathName, True, nRetval): Debug.Assert 0 = nRetval Dim bret As Boolean bret = swModel1.ForceRebuild3(True) swModel1.Save swApp1.CloseDoc (swChildComp.GetPathName) Next i End Sub
Ich hoffe, dass das jetzt bei Dir das Gewünschte erledigt.
------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas 3D Mitglied 3D Designer
 
 Beiträge: 394 Registriert: 17.09.2008 AutoCad 2024 Athena 2023 SWX 2020
|
erstellt am: 14. Jan. 2010 13:47 <-- editieren / zitieren --> Unities abgeben:         
Sorry, hab das Macro mal ausprobiert. Es bleibt nach kurzer Zeit stehen. Ich habe ein Screenshot vom Debugger gemacht. Sollte dich das Thema inzwischen nerven, dann gib mir kurz bescheid und wir brechen es hier ab. Ich hatte nicht vor dich mit meinen Problemen derartig in Beschlag zu nehmen. Gruß Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
G. Dawg Ehrenmitglied V.I.P. h.c. Teamleiter FEM Simulation

 Beiträge: 2622 Registriert: 12.07.2004 SolidWorks_2o2o SP3.o Win10_x64, Quadro_P2ooo. VisualStudio_2o19_Pro. FEM: Forge_NxT_HPC, ANSYS_WB. 3D-Printer: Ultimaker_2, Tinker_Gnome.
|
erstellt am: 14. Jan. 2010 13:49 <-- editieren / zitieren --> Unities abgeben:          Nur für Thomas 3D
|
Thomas 3D Mitglied 3D Designer
 
 Beiträge: 394 Registriert: 17.09.2008 AutoCad 2024 Athena 2023 SWX 2020
|
erstellt am: 14. Jan. 2010 13:58 <-- editieren / zitieren --> Unities abgeben:         
|
G. Dawg Ehrenmitglied V.I.P. h.c. Teamleiter FEM Simulation

 Beiträge: 2622 Registriert: 12.07.2004 SolidWorks_2o2o SP3.o Win10_x64, Quadro_P2ooo. VisualStudio_2o19_Pro. FEM: Forge_NxT_HPC, ANSYS_WB. 3D-Printer: Ultimaker_2, Tinker_Gnome.
|
erstellt am: 14. Jan. 2010 14:02 <-- editieren / zitieren --> Unities abgeben:          Nur für Thomas 3D
Funktioniert! Hast Du die Verweise kontrolliert? Im VBA Editor unter Extras -> Verweise. Dort sollten KEINE "NICHT VORHANDEN: SoidWorks [IRGENDETWAS]" stehen. Wenn dort welche auf SolidWorks 2009 zeigen sollten, muss Du die gleichen Verweise für die 2007 Version suchen und aktivieren. ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lutz Federbusch Ehrenmitglied V.I.P. h.c. Dipl.-Ing. Maschinenbau

 Beiträge: 3094 Registriert: 03.12.2001 alle SW seit 97+ AutoCAD2016-2022 ERP ProAlpha + CA-Link Intel Core i7-7820K 32GB Win10x64 Quadro K5000 SpacePilot
|
erstellt am: 14. Jan. 2010 14:05 <-- editieren / zitieren --> Unities abgeben:          Nur für Thomas 3D
Vielleicht sind noch Verweise dabei, die nicht passen, weil nicht die gleichen Dinge/Versionen auf den Rechnern installiert sind. Schaut mal aus dem Quelltextfenster unter Extras-Verweise nach. ------------------ Lutz Federbusch Mein Gästebuch Der Mensch, Herr oder Sklave der Technik? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas 3D Mitglied 3D Designer
 
 Beiträge: 394 Registriert: 17.09.2008 AutoCad 2024 Athena 2023 SWX 2020
|
erstellt am: 14. Jan. 2010 15:17 <-- editieren / zitieren --> Unities abgeben:         
|
metz Mitglied Techniker Maschinenbau
 
 Beiträge: 326 Registriert: 16.02.2009
|
erstellt am: 14. Jan. 2010 15:52 <-- editieren / zitieren --> Unities abgeben:          Nur für Thomas 3D
|
G. Dawg Ehrenmitglied V.I.P. h.c. Teamleiter FEM Simulation

 Beiträge: 2622 Registriert: 12.07.2004 SolidWorks_2o2o SP3.o Win10_x64, Quadro_P2ooo. VisualStudio_2o19_Pro. FEM: Forge_NxT_HPC, ANSYS_WB. 3D-Printer: Ultimaker_2, Tinker_Gnome.
|
erstellt am: 14. Jan. 2010 16:47 <-- editieren / zitieren --> Unities abgeben:          Nur für Thomas 3D
Zitat: Original erstellt von Thomas 3D: Ich hab dir mal einen Screenshot von meinen Verweisen gemacht.
Hmmm!? Kennt 2007 die Methode "GetChildren" vielleicht nicht? Öffne in SolidWorks die Hilfe -> API-Hilfe und suche nach "GetChildren". Was siehst Du? ------------------ [FunCode] Dim ArmerKerl as Mann Dim Frau as Object ArmerKerl do Frau until Frau.GetChildren Loop [/FunCode] ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas 3D Mitglied 3D Designer
 
 Beiträge: 394 Registriert: 17.09.2008 AutoCad 2024 Athena 2023 SWX 2020
|
erstellt am: 14. Jan. 2010 17:08 <-- editieren / zitieren --> Unities abgeben:         
|
Lutz Federbusch Ehrenmitglied V.I.P. h.c. Dipl.-Ing. Maschinenbau

 Beiträge: 3094 Registriert: 03.12.2001 alle SW seit 97+ AutoCAD2016-2022 ERP ProAlpha + CA-Link Intel Core i7-7820K 32GB Win10x64 Quadro K5000 SpacePilot
|
erstellt am: 14. Jan. 2010 17:20 <-- editieren / zitieren --> Unities abgeben:          Nur für Thomas 3D
Bei mir läuft das unter SW2007x64 SP3.0 und speichert tatsächlich alle enthaltenen Komponenten, aber nicht die aktive Baugruppe. Zum FunCode: ArmerKerl ist inzwischen ersetzt... ------------------ Lutz Federbusch Mein Gästebuch Der Mensch, Herr oder Sklave der Technik? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas 3D Mitglied 3D Designer
 
 Beiträge: 394 Registriert: 17.09.2008 AutoCad 2024 Athena 2023 SWX 2020
|
erstellt am: 14. Jan. 2010 17:24 <-- editieren / zitieren --> Unities abgeben:         
|
Lutz Federbusch Ehrenmitglied V.I.P. h.c. Dipl.-Ing. Maschinenbau

 Beiträge: 3094 Registriert: 03.12.2001 alle SW seit 97+ AutoCAD2016-2022 ERP ProAlpha + CA-Link Intel Core i7-7820K 32GB Win10x64 Quadro K5000 SpacePilot
|
erstellt am: 14. Jan. 2010 17:29 <-- editieren / zitieren --> Unities abgeben:          Nur für Thomas 3D
|
Thomas 3D Mitglied 3D Designer
 
 Beiträge: 394 Registriert: 17.09.2008 AutoCad 2024 Athena 2023 SWX 2020
|
erstellt am: 14. Jan. 2010 17:38 <-- editieren / zitieren --> Unities abgeben:         
|
Lutz Federbusch Ehrenmitglied V.I.P. h.c. Dipl.-Ing. Maschinenbau

 Beiträge: 3094 Registriert: 03.12.2001 alle SW seit 97+ AutoCAD2016-2022 ERP ProAlpha + CA-Link Intel Core i7-7820K 32GB Win10x64 Quadro K5000 SpacePilot
|
erstellt am: 14. Jan. 2010 17:41 <-- editieren / zitieren --> Unities abgeben:          Nur für Thomas 3D
|
Thomas 3D Mitglied 3D Designer
 
 Beiträge: 394 Registriert: 17.09.2008 AutoCad 2024 Athena 2023 SWX 2020
|
erstellt am: 14. Jan. 2010 17:53 <-- editieren / zitieren --> Unities abgeben:         
1) Ich habe das Macro über das Icon "Macro starten" (grünes Dreieck) ausgewählt und somit auch gestartet. 2) als Fehlermeldung kommt: siehe oben Bild Macro03.jpg 3) Option Explicit in Hochkomma setze, dann passiert garnichts Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas 3D Mitglied 3D Designer
 
 Beiträge: 394 Registriert: 17.09.2008 AutoCad 2024 Athena 2023 SWX 2020
|
erstellt am: 14. Jan. 2010 18:09 <-- editieren / zitieren --> Unities abgeben:         
Ich habe die Hochkommas wieder herausgelöscht. Komischerweise ging es dann. Mir ist aufgefallen, dass die Bohrungen nicht gleich richtig plaziert werden. Erst beim 2. Mal starten des Macros wurden, die Bohrungen richtig platziert. Ist das auch bei euch so gewesen? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lutz Federbusch Ehrenmitglied V.I.P. h.c. Dipl.-Ing. Maschinenbau

 Beiträge: 3094 Registriert: 03.12.2001 alle SW seit 97+ AutoCAD2016-2022 ERP ProAlpha + CA-Link Intel Core i7-7820K 32GB Win10x64 Quadro K5000 SpacePilot
|
erstellt am: 14. Jan. 2010 18:10 <-- editieren / zitieren --> Unities abgeben:          Nur für Thomas 3D
Klick mal in Deiner Fehlermeldung auf DEBUG und halte die Maus nacheinander über Deinen Variablennamen still - dann siehst Du, was für Werte drinstehen. bret sollte TRUE sein. SwApp1 und SwModel1 nicht "Nothing" ------------------ Lutz Federbusch Mein Gästebuch Der Mensch, Herr oder Sklave der Technik? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas 3D Mitglied 3D Designer
 
 Beiträge: 394 Registriert: 17.09.2008 AutoCad 2024 Athena 2023 SWX 2020
|
erstellt am: 14. Jan. 2010 18:21 <-- editieren / zitieren --> Unities abgeben:         
|
Thomas 3D Mitglied 3D Designer
 
 Beiträge: 394 Registriert: 17.09.2008 AutoCad 2024 Athena 2023 SWX 2020
|
erstellt am: 14. Jan. 2010 18:26 <-- editieren / zitieren --> Unities abgeben:         
Ich habe jetzt mal ein 2. Teil dazu geladen, um zu sehen ob das Macro auch mit 2 Teilen umgehen kann. Das Macro ist durchgelaufen. Ich mußte allerdings das Macro 2x starten, damit die Bohrungen richtig plaziert werden. Ich habe noch einen 2. Versuch gestartet. Jetzt ist eins von den zwei Teilen unterdrückt. Das Macro hängt sich wieder auf. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
G. Dawg Ehrenmitglied V.I.P. h.c. Teamleiter FEM Simulation

 Beiträge: 2622 Registriert: 12.07.2004 SolidWorks_2o2o SP3.o Win10_x64, Quadro_P2ooo. VisualStudio_2o19_Pro. FEM: Forge_NxT_HPC, ANSYS_WB. 3D-Printer: Ultimaker_2, Tinker_Gnome.
|
erstellt am: 15. Jan. 2010 07:02 <-- editieren / zitieren --> Unities abgeben:          Nur für Thomas 3D
Versuche mal die folgende Zeilen zu ändern, damit die unterdrückten Teile übersprungen werden: EDIT: Makro angehängt Ändere in
Code:
Sub TraverseComponent(swComp As SldWorks.Component2, nLevel As Long)
folgende Zeilen [/code] Set swModel1 = swApp1.ActivateDoc2(swChildComp.GetPathName, True, nRetval): Debug.Assert 0 = nRetval Dim bret As Boolean bret = swModel1.ForceRebuild3(True) swModel1.Save swApp1.CloseDoc (swChildComp.GetPathName) [/code] zu
Code:
Set swModel1 = swApp1.ActivateDoc2(swChildComp.GetPathName, True, nRetval): Debug.Assert 0 = nRetval Set swModel1 = swApp1.ActiveDoc If swModel1.Visible Then Dim bret As Boolean bret = swModel1.ForceRebuild3(True) swModel1.Save swApp1.CloseDoc (swChildComp.GetPathName) End If
------------------ [Diese Nachricht wurde von G. Dawg am 15. Jan. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas 3D Mitglied 3D Designer
 
 Beiträge: 394 Registriert: 17.09.2008 AutoCad 2024 Athena 2023 SWX 2020
|
erstellt am: 15. Jan. 2010 07:23 <-- editieren / zitieren --> Unities abgeben:         
Guten Morgen, ich habe so eben das Macro ausprobiert, da scheint noch ein Fehler zu sein, denn sobald ich das Macro starte blinkt der Mauspfeil und hört damit nicht mehr auf. Es sieht so aus als wenn sich das Programm im Kreise dreht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
G. Dawg Ehrenmitglied V.I.P. h.c. Teamleiter FEM Simulation

 Beiträge: 2622 Registriert: 12.07.2004 SolidWorks_2o2o SP3.o Win10_x64, Quadro_P2ooo. VisualStudio_2o19_Pro. FEM: Forge_NxT_HPC, ANSYS_WB. 3D-Printer: Ultimaker_2, Tinker_Gnome.
|
erstellt am: 15. Jan. 2010 08:25 <-- editieren / zitieren --> Unities abgeben:          Nur für Thomas 3D
Zitat: Original erstellt von Thomas 3D: Es sieht so aus als wenn sich das Programm im Kreise dreht.
Eigentlich kann das nicht sein. Wieso ist das nur bei Dir so?! Arbeitest Du mit SolidWorks 2007 oder 2009? ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas 3D Mitglied 3D Designer
 
 Beiträge: 394 Registriert: 17.09.2008 AutoCad 2024 Athena 2023 SWX 2020
|
erstellt am: 15. Jan. 2010 08:47 <-- editieren / zitieren --> Unities abgeben:         
|
Thomas 3D Mitglied 3D Designer
 
 Beiträge: 394 Registriert: 17.09.2008 AutoCad 2024 Athena 2023 SWX 2020
|
erstellt am: 15. Jan. 2010 08:53 <-- editieren / zitieren --> Unities abgeben:         
|
G. Dawg Ehrenmitglied V.I.P. h.c. Teamleiter FEM Simulation

 Beiträge: 2622 Registriert: 12.07.2004 SolidWorks_2o2o SP3.o Win10_x64, Quadro_P2ooo. VisualStudio_2o19_Pro. FEM: Forge_NxT_HPC, ANSYS_WB. 3D-Printer: Ultimaker_2, Tinker_Gnome.
|
erstellt am: 15. Jan. 2010 11:10 <-- editieren / zitieren --> Unities abgeben:          Nur für Thomas 3D
Geht. Nach dem 2. Aufbau auch richtig. Scheint eine SolidWorks-Limitation zu sein. Eigentlich müsste man die Teile prüfen ob diese Unterdrückt sind. Wird jetzt nicht gemacht. Denn so sollte nichts neu aufgebaut werden können, weil das massgebende Teil unterdrückt ist; oder?! So wie Du das haben möchtest, ist, zuerst alle Unterdrückungen aufheben, jedes Teil nacheinander öffnen, CTRL+Q und speichern. Aber... und dann? Alles wieder unterdrücken? Da musst Du wohl selber ran an die API. 1. Damit es für Dich funktioniert, 2. Damit alles Deinen Wünschen entspricht. 3. Ich leider keine Zeit habe um das weiter zu verfolgen. Sorry. ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas 3D Mitglied 3D Designer
 
 Beiträge: 394 Registriert: 17.09.2008 AutoCad 2024 Athena 2023 SWX 2020
|
erstellt am: 15. Jan. 2010 11:19 <-- editieren / zitieren --> Unities abgeben:         
Ich möchte die bestehende Konfiguration einfach aktualisieren. Es sollen nur die Teile geöffnet werden, die nicht unterdrückt worden sind. Aber trotzdem VIELEN DANK für deine Hilfe. Ich werd dein Macro auf einem anderen Rechner ausprobieren. Vielleicht klappt es ja dort. Gruß Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
G. Dawg Ehrenmitglied V.I.P. h.c. Teamleiter FEM Simulation

 Beiträge: 2622 Registriert: 12.07.2004 SolidWorks_2o2o SP3.o Win10_x64, Quadro_P2ooo. VisualStudio_2o19_Pro. FEM: Forge_NxT_HPC, ANSYS_WB. 3D-Printer: Ultimaker_2, Tinker_Gnome.
|
erstellt am: 15. Jan. 2010 11:27 <-- editieren / zitieren --> Unities abgeben:          Nur für Thomas 3D
Einmal noch! Versuches damit. Jetzt werden unterdrückte Komponenten nicht mehr neu aufgebaut. Weiss nicht ob es das besser macht...?! EDIT Ersetze:
Code: If swModel1.Visible Then
mit:
Code: If swChildComp.GetSuppression <> 0 Then
------------------ [Diese Nachricht wurde von G. Dawg am 15. Jan. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas 3D Mitglied 3D Designer
 
 Beiträge: 394 Registriert: 17.09.2008 AutoCad 2024 Athena 2023 SWX 2020
|
erstellt am: 15. Jan. 2010 11:37 <-- editieren / zitieren --> Unities abgeben:         
|