Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  SolidWorks2019 Makro Unterdrückte Teile in Baugruppen anzeigen & unterdrückung aufheb

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
  
PLM TechnologieForum Hannover
Autor Thema:  SolidWorks2019 Makro Unterdrückte Teile in Baugruppen anzeigen & unterdrückung aufheb (796 / mal gelesen)
Lubber
Mitglied



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

Beiträge: 39
Registriert: 21.01.2011

erstellt am: 03. Dez. 2020 14:34    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 Forum,

ich hätte hier ein Problem/Frage und hoffe Ihr könnt mir weiterhelfen.
Zuvor habe ich schon hier nach Antworten gesucht aber irgendwie nicht wirklich was finden können.
Leider bin ich mit VBA nur bedingt vertraut, und in der SW-Umgebung hört es relativ schnell bei mir auf  .

Folgende Situation:
Ich habe ein Makro (siehe weiter unten) mit dem ich eine zuvor mit MacroSheet konfigurierte Baugruppe als eDrawings in ein fest definiertes Verzeichnis speichere. Das funktioniert auch wie gewollt.
Nun ist es so das nicht benötigte Teile/Unterbaugruppen beim konfigurieren vom MacroSheet unterdrückt werden.
Was ich jetzt gerne noch in meinem Makro reinbringen will ist:
Nach dem speichern als eDrawings soll bei allen unterdrückten Teile/Unterbaugruppen (aber nur auf oberster Ebene) die unterdrückung wieder aufgehoben werden.
Ich würde mich freuen wenn hier einer von Euch eine Lösung hätte, denn ich stoße hier an meine Grenzen.

Danke schon mal für Eure Rückmeldungen,
Gruß Lubber

Hier noch der aktuelle Code wie oben beschrieben:
Option Explicit

Dim swapp As Object
'Dim Part As Object
'Dim boolstatus As Boolean

Sub main()

Dim swapp As SldWorks.SldWorks
Dim swmodel As ModelDoc2
Dim FileName As String
Dim longStatus As Long

Const mainPath As String = "C:\SolidWorks Zeichnungen\eDrawings\"

Set swapp = Application.SldWorks
Set swmodel = swapp.ActiveDoc

FileName = InputBox("Dateiname eingeben", "speichern unter C:\SolidWorks Zeichnungen\eDrawings\", "")
Debug.Print mainPath & FileName & ".easm"
longStatus = swmodel.SaveAs3(mainPath & FileName & ".easm", 0, 0)
Debug.Print longStatus

    If longStatus <> 0 Then
        MsgBox "Speichern fehlgeschlagen, Artikelbezeichnung/Dateiname muss eingetragen werden"
    End If

'boolstatus = Part.Extension.SelectByID2("", "COMPONENT", 0, 0, 0, True, 0, Nothing, 0)

End Sub

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

HenryV
Mitglied
Konstrukteur, Engineering


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

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: 03. Dez. 2020 17:50    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 Lubber 10 Unities + Antwort hilfreich

Hallo Lubber

Ich hab dir einmal den Code von hier -> Set All Assembly Components Lightweight or Resolved Example (VBA) in dein Makro implementiert.

Code:
Option Explicit

Sub main()
   
    Dim swapp As SldWorks.SldWorks
    Dim swmodel As ModelDoc2
    Dim FileName As String
    Dim longStatus As Long
   
    Const mainPath As String = "C:\SolidWorks Zeichnungen\eDrawings\"
   
    Set swapp = Application.SldWorks
    Set swmodel = swapp.ActiveDoc
   
    FileName = InputBox("Dateiname eingeben", "speichern unter C:\SolidWorks Zeichnungen\eDrawings\", "")
    Debug.Print mainPath & FileName & ".easm"
    longStatus = swmodel.SaveAs3(mainPath & FileName & ".easm", 0, 0)
    Debug.Print longStatus
   
    If longStatus <> 0 Then
        MsgBox "Speichern fehlgeschlagen, Artikelbezeichnung/Dateiname muss eingetragen werden"
    Else
        If swmodel.GetType = swDocASSEMBLY Then
            Dim swFeatMgr As SldWorks.FeatureManager
            Dim swConfigMgr As SldWorks.ConfigurationManager
            Dim swConfig As SldWorks.Configuration
            Dim swRootComp As SldWorks.Component2
           
            Set swFeatMgr = swmodel.FeatureManager
            Set swConfigMgr = swmodel.ConfigurationManager
            Set swConfig = swConfigMgr.ActiveConfiguration
            Set swRootComp = swConfig.GetRootComponent3(True)
            swFeatMgr.EnableFeatureTree = False
           
            Dim vChildCompArr As Variant
            Dim vChildComp As Variant
            Dim swChildComp As SldWorks.Component2
            Dim nRetVal As Long
           
            vChildCompArr = swRootComp.GetChildren
            For Each vChildComp In vChildCompArr
                Set swChildComp = vChildComp
                nRetVal = swChildComp.SetSuppression2(swComponentFullyResolved)
                Debug.Print swChildComp.Name2 & " <" & swChildComp.ReferencedConfiguration & "> --> " & swChildComp.GetPathName
            Next vChildComp
           
            swFeatMgr.EnableFeatureTree = True
        End If
    End If
   
End Sub


Gruss Andreas

------------------
21 ist nur die halbe Antwort.

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

Lubber
Mitglied



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

Beiträge: 39
Registriert: 21.01.2011

erstellt am: 04. Dez. 2020 07:51    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

Guten Morgen Andreas,

vielen Dank für die antwort und der Hilfe. Funktioniert hervorragend.
Was auch Top ist: Unterdrückte Teile in Unterbaugruppen bleiben verschont. Perfekt.
Ich habe ewig in der API-Hilfe gesucht, das aber nicht finden können.

Also, nochmals vielen Dank für die Hilfe und ein schönes Wochenende!

Gruß
Daniel

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