Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Alle externen Referenzen brechen mit Makro

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
  
SPS
Autor Thema:  Alle externen Referenzen brechen mit Makro (1850 mal gelesen)
Donald177
Mitglied


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

Beiträge: 3
Registriert: 20.03.2015

erstellt am: 20. Mrz. 2015 08:20    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 würde gerne eine Makro erstellen mit dem ich in einer Baugruppe alle externen Referenzen der beinhalteten Teile brechen kann.

Aus diversen Seiten habe ich mir nun so ein Makro gebastelt. Dies funktioniert auch sehr gut, jedoch nur wenn keines der Bauteile unterdrückt ist.

Wie kann ich folgendes Makro erweitern dass es unterdrückte Teile/Baugruppen einfach überspringt?

Dim swApp As Object
Dim Part As Object
Dim AssemblyDoc As Object
Dim Component As Object
Dim ComponentList As Variant
Dim RootComponent As Object
Dim Antwort  As Variant
Dim Name As String


Sub main()

' an SolidWorks anklinken und aktives Assembly holen
    Set swApp = Application.SldWorks
    Set AssemblyDoc = swApp.ActiveDoc
   
'  Überprüfen ob irgendwas geöffnet ist
If AssemblyDoc Is Nothing Then
    MsgBox "Kein Solidworks-Dokument geöffnet!", vbInformation, title
    End
End If
   
'  Überprüfen ob eine Baugruppe geöffnet ist
If AssemblyDoc.GetType() <> swDocASSEMBLY Then
    MsgBox "Keine Baugruppe geöffnet!", vbInformation, title
    End
End If


Antwort = MsgBox("Sollen wirklich alle externen Referenzen unterbrochen/gesperrt werden?" _
        & vbCrLf & " " & vbCrLf & "Ja = Unterbrechen" _
        & vbCrLf & " " & vbCrLf & "Nein = Sperren", vbYesNoCancel)


If Antwort = vbYes Then
 
    ' Root-Komponente des Assemblies als Ausgangspunkt festmachen
    Set Configuration = AssemblyDoc.GetActiveConfiguration()
    Set RootComponent = Configuration.GetRootComponent()
   
    'Komponentenliste...
    ComponentList = RootComponent.GetChildren()

    Debug.Print "Anzahl der Komponenten:" & Str$(UBound(ComponentList))
    For n = 0 To UBound(ComponentList)
        Set Component = ComponentList(n)
        Name = Component.Name2
        Set Part = Component.GetModelDoc
        Part.BreakAllExternalReferences
'      Part.LockAllExternalReferences
        Debug.Print Name
    Next n
   
   
ElseIf Antwort = vbNo Then
   
    ' Root-Komponente des Assemblies als Ausgangspunkt festmachen
    Set Configuration = AssemblyDoc.GetActiveConfiguration()
    Set RootComponent = Configuration.GetRootComponent()
   
    'Komponentenliste...
    ComponentList = RootComponent.GetChildren()

    Debug.Print "Anzahl der Komponenten:" & Str$(UBound(ComponentList))
    For n = 0 To UBound(ComponentList)
        Set Component = ComponentList(n)
        Name = Component.Name2
        Set Part = Component.GetModelDoc
'      Part.BreakAllExternalReferences
        Part.LockAllExternalReferences
        Debug.Print Name
    Next n
   
   
End If
   
End Sub

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

jörg.jwd
Ehrenmitglied V.I.P. h.c.
CAD-PDM Administrator


Sehen Sie sich das Profil von jörg.jwd an!   Senden Sie eine Private Message an joerg.jwd  Schreiben Sie einen Gästebucheintrag für joerg.jwd

Beiträge: 3109
Registriert: 05.11.2003

Win7-64,Win10-64
SWX 2010/11/12/13/14/15/16/17/18,19,20,21,22
Immer das aktuellste SP
Autodesk Product Design Suite Standard 2020
DraftSight Énterprise 2021SP2
CIM Database 11.3 32GB RAM. NVIDIA Quadro P1000

erstellt am: 20. Mrz. 2015 08:43    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 Donald177 10 Unities + Antwort hilfreich


2015-03-20_084125.jpg

 
...mal ne dumme Frage:

wozu Makro, wenn's doch mit Bordmitteln geht? --------->

------------------
Grüße

Jörg

da ich weiß daß ich nichts weiß weiß ich immer noch mehr als die die nicht wissen daß sie nichts wissen (weiß nicht von wem)

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

Donald177
Mitglied


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

Beiträge: 3
Registriert: 20.03.2015

erstellt am: 20. Mrz. 2015 08:49    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

Wow das geht ja nun wirklich für alle Teile einer Baugruppe.

Wir haben grade von 2011 auf 2014 umgestellt.
In 2011 musste man dies für jedes einzelne Teil machen.....

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

jörg.jwd
Ehrenmitglied V.I.P. h.c.
CAD-PDM Administrator


Sehen Sie sich das Profil von jörg.jwd an!   Senden Sie eine Private Message an joerg.jwd  Schreiben Sie einen Gästebucheintrag für joerg.jwd

Beiträge: 3109
Registriert: 05.11.2003

Win7-64,Win10-64
SWX 2010/11/12/13/14/15/16/17/18,19,20,21,22
Immer das aktuellste SP
Autodesk Product Design Suite Standard 2020
DraftSight Énterprise 2021SP2
CIM Database 11.3 32GB RAM. NVIDIA Quadro P1000

erstellt am: 20. Mrz. 2015 09: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 Nur für Donald177 10 Unities + Antwort hilfreich

...und immer daran denken einmal gebrochen immer gebrochen. Lässt sich nicht mehr rückgängig machen.

------------------
Grüße

Jörg

da ich weiß daß ich nichts weiß weiß ich immer noch mehr als die die nicht wissen daß sie nichts wissen (weiß nicht von wem)

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