| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| Was hat Simulation mit erfolgreicher Produktentwicklung zu tun? |
Autor
|
Thema: Konfigurationen tabellarisch aufschlüsseln (1446 mal gelesen)
|
ChristophChristoph Mitglied TUBS-Ing.
Beiträge: 16 Registriert: 16.03.2015 SOLIDWORKS
|
erstellt am: 16. Mrz. 2015 15:35 <-- editieren / zitieren --> Unities abgeben:
Hallo! Folgendes Problem: Ich möchte eine Übersicht erzeugen, die tabellarisch alle Konfigurationen der Teile meiner Baugruppe auflistet. Die Baugruppe besteht z.B. aus 2 Teile, die beide konfiguriert sind. Die Tabelle, die ich erstellen möchte, soll wie folgt aussehen: Teil1 Konfigurationsname1_Teil1 Konfigurationsname2_Teil1 Teil2 Konfigurationsname1_Teil2 Konfigurationsname2_Teil2 Im Prinzip eine Stückliste, die den Inhalt der Konfigurationen aufschlüsselt. Das ganze soll natürlich automatisch mit einem Klick erstellbar sein Danke schonmal! Christoph ------------------ "Wer immer tut, was er schon kann, bleibt immer das, was er schon war." (Henry Ford) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
dopplerm Ehrenmitglied V.I.P. h.c. Konstrukteur
Beiträge: 3592 Registriert: 11.02.2005 Win 10 SWX 2019 SP 5.0
|
erstellt am: 16. Mrz. 2015 15:56 <-- editieren / zitieren --> Unities abgeben: Nur für ChristophChristoph
|
ChristophChristoph Mitglied TUBS-Ing.
Beiträge: 16 Registriert: 16.03.2015 SOLIDWORKS
|
erstellt am: 16. Mrz. 2015 16:26 <-- editieren / zitieren --> Unities abgeben:
Hallo Martin, danke für die Antwort, aber so kann ich doch nur auf den Namen der momentan aktiven Konfiguration zugreifen. Ich möchte aber die Namen aller Konfigurationen aufgelistet haben, die es für das jeweilige Teil gibt... Es gibt zwar die "Teilkonfigurationsgruppierung". Aber damit bekomme ich das nicht hin. Christoph ------------------ "Wer immer tut, was er schon kann, bleibt immer das, was er schon war." (Henry Ford) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
StefanBerlitz Guter-Geist-Moderator IT Admin (CAx)
Beiträge: 8756 Registriert: 02.03.2000 SunZu sagt: Analysiere die Vorteile, die du aus meinem Ratschlag ziehst. Dann gliedere deine Kräfte entsprechend und mache dir außergewöhnliche Taktiken zunutze.
|
erstellt am: 17. Mrz. 2015 09:05 <-- editieren / zitieren --> Unities abgeben: Nur für ChristophChristoph
Hallo Christoph, und herzlich willkommen im SolidWorks-Brett auf CAD.de Ich wüsste auch keinen Weg, wie das interaktiv zu lösen ist, das ist eigentlich eine klassische Aufgabe für ein Makro. Ich hab da mal was gebastelt:
Code:
' ********************************************************************** ' * Makro durchläuft die erste Ebene einer Baugruppe und listet dabei ' * für alle Komponenten die verfügbaren Konfigurationen ' * ' * 17.03.2015 Stefan Berlitz ' * http://solidworks.cad.de ' * http://swtools.cad.de ' **********************************************************************Sub Main() Dim SwApp As Object Dim AssemblyDoc As Object Dim swConf As Object Dim swRootComp As Object Dim vChildComp As Variant Dim swChildComp As Object Dim swCompModelDoc As Object Dim ConfigNames As Variant Dim vConfigName As Variant ' an SolidWorks anklinken (als Makro läuft's im selben Przess-Space) Set SwApp = Application.SldWorks Set AssemblyDoc = SwApp.ActiveDoc If AssemblyDoc Is Nothing Then ' dann war gar kein Dokument geöffnet, wie soll da was funktionieren MsgBox "Kein Dokument geöffnet" Exit Sub End If If (AssemblyDoc.GetType <> swDocASSEMBLY) Then ' wenn keine Assembly aktiv ist wird das Makro wieder beendet MsgBox "Nur für Baugruppen geeignet" Exit Sub End If ' dann eine Komponente nach der anderen in der Baugruppe durchgehen. Set swConf = AssemblyDoc.GetActiveConfiguration Set swRootComp = swConf.GetRootComponent3(True) ' von der Hauptbaugruppe dazu alle "Kindkomponenten" ermitteln vChildComp = swRootComp.GetChildren ' und nacheinander durchlaufen For i = 0 To UBound(vChildComp) ' von der Kindkomponente den Namen ausgeben Set swChildComp = vChildComp(i) Debug.Print swChildComp.Name2 ' und alle möglichen Konfigurationen dieser Komponente ermitteln ' dazu erst mal das ModelDoc der Komponente holen Set swCompModelDoc = swChildComp.GetModelDoc2 ' und davon dann alle Konfogurationen auslesen ConfigNames = swCompModelDoc.GetConfigurationNames For Each vConfigName In ConfigNames Debug.Print " -> " & vConfigName Next Next i End Sub
Wenn es nicht schon so ausreichend ist kannst du es aber zumindest als Basis benutzen und an deine Bedürfnisse anpassen. Ciao, Stefan ------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ChristophChristoph Mitglied TUBS-Ing.
Beiträge: 16 Registriert: 16.03.2015 SOLIDWORKS
|
erstellt am: 17. Mrz. 2015 11:04 <-- editieren / zitieren --> Unities abgeben:
Hi Stefan, vielen Dank schonmal für deine Mühe. Ich kann den VBA-Code zwar ganz gut lesen, hab aber bis jetzt aber nur damit in Excel gearbeitet. Wo finde ich in Solidworks das Äquivalent zum VBA-Editor in Excel, dass ich das Ganze mal testen kann? Christoph ------------------ "Wer immer tut, was er schon kann, bleibt immer das, was er schon war." (Henry Ford) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
StefanBerlitz Guter-Geist-Moderator IT Admin (CAx)
Beiträge: 8756 Registriert: 02.03.2000 SunZu sagt: Analysiere die Vorteile, die du aus meinem Ratschlag ziehst. Dann gliedere deine Kräfte entsprechend und mache dir außergewöhnliche Taktiken zunutze.
|
erstellt am: 17. Mrz. 2015 11:19 <-- editieren / zitieren --> Unities abgeben: Nur für ChristophChristoph
Hallo Christoph, Zitat: Original erstellt von ChristophChristoph: Wo finde ich in Solidworks das Äquivalent zum VBA-Editor in Excel, dass ich das Ganze mal testen kann?
Im Extras-Menu, dort recht weit unten Auf Makros, dann Neu (bzw. Bearbeiten). Der VBA-Editor ist dann praktisch derselbe wie bei Excel. Ciao, Stefan ------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ChristophChristoph Mitglied TUBS-Ing.
Beiträge: 16 Registriert: 16.03.2015 SOLIDWORKS
|
erstellt am: 17. Mrz. 2015 11:27 <-- editieren / zitieren --> Unities abgeben:
Hallo Stefan, alles klar, ich werds bei Gelgenheit (d.h. wahrscheinlich heute abend...) mal ausprobieren. Christoph ------------------ "Wer immer tut, was er schon kann, bleibt immer das, was er schon war." (Henry Ford) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |