Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Makro: Konfigurationen von Komponenten in Baugruppe umschalten

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS
  
SPINNER Hausausstellung
Autor Thema:  Makro: Konfigurationen von Komponenten in Baugruppe umschalten (1343 mal gelesen)
API-Fabi
Mitglied
CAD/PLM Admin


Sehen Sie sich das Profil von API-Fabi an!   Senden Sie eine Private Message an API-Fabi  Schreiben Sie einen Gästebucheintrag für API-Fabi

Beiträge: 56
Registriert: 23.11.2015

SOLIDWORKS 2020 SP5
Windows 10
SAP-PLM Interface (CAD-Desktop)

erstellt am: 26. Jan. 2016 11:23    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo zusammen! 

Ich habe in meiner Baugruppe 3 Konfigurationen. Z.B. "X","Y" und "Z".
Ich möchte ein Makro schreiben, dass alle Komponenten, die im Featurebaum zu sehen sind, durchläuft und die Komponenten auf die entsprechende Konf. umschaltet.
=> Also in der Baugruppen-Konf. "X" alle Komponenten auf "X" usw.

Hat jemand ein ähnliches Makro oder ein Beispiel?


------------------
Gruß Fabi

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

API-Fabi
Mitglied
CAD/PLM Admin


Sehen Sie sich das Profil von API-Fabi an!   Senden Sie eine Private Message an API-Fabi  Schreiben Sie einen Gästebucheintrag für API-Fabi

Beiträge: 56
Registriert: 23.11.2015

SOLIDWORKS 2020 SP5
Windows 10
SAP-PLM Interface (CAD-Desktop)

erstellt am: 26. Jan. 2016 13:02    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Ich habe mir ein Code gebastelt, aber das funktioniert noch nicht ganz:

----------------------------------------

Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swFeature As SldWorks.Feature
Dim swAssy As SldWorks.AssemblyDoc
Dim boolstatus As Long
Dim KonfName As String
Dim CompName As String

Sub main()
   
    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc
   
    'Sicherungsabfragen
    If swModel Is Nothing Then
        MsgBox "Bitte öffnen Sie ein Dokument.", vbCritical, "Fehler: Kein Dokument geöffnet"
        GoTo Abbrechen
    End If
    If Not swModel.GetType = SwConst.swDocumentTypes_e.swDocASSEMBLY Then
        MsgBox "Das geöffnete Dokument ist keine Baugruppe.", vbCritical, "Fehler: Keine Baugruppe geöffnet"
        GoTo Abbrechen
    End If
   
       
    'Auf X/Y/Z schalten und Konf. umschalten
    swModel.ShowConfiguration2 ("X")
    KonfName = "X"
    Call KonfUmschalten(swModel, KonfName)
       
    swModel.ShowConfiguration2 ("Y")
    KonfName = "Y"
    Call KonfUmschalten(swModel, KonfName)
   
    swModel.ShowConfiguration2 ("Z")
    KonfName = "Z"
    Call KonfUmschalten(swModel, KonfName)
   
    swModel.ShowConfiguration2 ("Standard")
   

Abbrechen:
    Set swModel = Nothing
    Set swApp = Nothing
End Sub

Sub KonfUmschalten(swModel As ModelDoc2, KonfName As String)

    Dim FeatType As String
    'Dim FeatName As String
   
    Set swFeature = swModel.FirstFeature
   
    While Not swFeature Is Nothing
        FeatType = swFeature.GetTypeName2
        'FeatName = swFeature.Name
        If FeatType = "Reference" Then
            swFeature.Select2 False, 0
            Set swAssy = swFeature
            swAssy.CompConfigProperties4 2, 0, True, True, KonfName, False
        End If
        Set swFeature = swFeature.GetNextFeature
    Wend
   
End Sub

------------------------------

Bei der fett markierten Zeile hakt es.
Gibt es auch eine andere Methode die Konfigurationen umzuschalten außer mit Feature?
Das Problem ist, dass die Komponenten erst "select" werden müssen.

------------------
Gruß Fabi

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP



Systemingenieur für abwechslungsreiche Systeme (m/w/d)
Menschen und Technologien zu verbinden, den Perfect Match für unsere Kunden zu gestalten, immer die richtigen Expert:innen für die jeweilige Herausforderung zu finden - das ist unser Anspruch bei FERCHAU und dafür suchen wir dich: als ambitionierte:n Kolleg:in, der:die wie wir Technologien auf die nächste Stufe bringen möchte. Wir realisieren spannende Projekte für namhafte Kunden in allen Technologiebereichen und für alle Branchen und übernehmen Verantwortung für komplexe Entwicklungsprojekte....
Anzeige ansehenMaschinenbau
StefanBerlitz
Guter-Geist-Moderator
IT Admin (CAx)



Sehen Sie sich das Profil von StefanBerlitz an!   Senden Sie eine Private Message an StefanBerlitz  Schreiben Sie einen Gästebucheintrag für StefanBerlitz

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: 27. Jan. 2016 07:54    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für API-Fabi 10 Unities + Antwort hilfreich

Hallo Fabi,

nur so beim überfliegen: du deklarierst swFeature als Feature und swAssy als AssemblyDoc, weißt die aber in der fett markieten Zeile einander zu, da knallt es dann vermutlich.

Zitat:
Original erstellt von API-Fabi:
Gibt es auch eine andere Methode die Konfigurationen umzuschalten außer mit Feature?
Das Problem ist, dass die Komponenten erst "select" werden müssen.

Ja, das CompConfigProperties4 wirkt auf eine selektierte Componente.

Das Umschalten von Konfigurationen einer Komponente kannst du auch mit Component2::ReferencedConfiguration machen, das dient sowohl der Abfrage als auch dem setzen. Dann kannst du eine Traverse über alle Komponenten machen und per ReferencedConfiguration diesen allen deine gewünschte Konfiguration zuweisen. Fallstricke kennst du ja: drauf reagieren, wenn die gewünschte Konfiguration nicht vorhanden oder bereits aktiv ist ...

Ciao,
Stefan

------------------
Inoffizielle deutsche SolidWorks Hilfeseite    http://solidworks.cad.de

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2024 CAD.de | Impressum | Datenschutz