[SolidWorks] Filter-Makro (VBA)

Hallo

 

Ich möchte ein Filtermakro erstellen (In meinem Unternehmen sind alle Assemblys nach dem gleichen Modell zusammengesetzt). Daher möchte ich in der Lage sein, ein Makro zu erstellen, das alles ausblendet und nur bestimmte Teile anzeigt (basierend auf dem NAMEN der Datei).

Auch ein Makro, das alles neu anzeigen würde..

 

Vielen Dank.

 

[Bearbeiten] Das Problem besteht vor allem darin, alle Komponenten in der Baugruppe zu "parsen". Gibt es eine Möglichkeit, dies in einer for-Schleife zu tun?

Hallo

Wenn Sie die Mycadtools-Dienstprogramme haben, gibt es die TreeManager-App, die Ihnen dabei helfen könnte.

Schönen Tag.

1 „Gefällt mir“

Vielen Dank

 

Leider werde ich nicht in der Lage sein, auf die MyCadTools Utilities zuzugreifen.

Also muss ich wirklich in der Lage sein, es mit einem Makro zu machen, und wie ich schon sagte, besteht das große Problem derzeit darin, alle Elemente in einer Baugruppe zu nehmen.

Hallo, in den Tutorials, die ich auf Lynkoa gepostet habe, gibt es ein oder zwei Beispiele, um alle Komponenten einer Assembly zu durchlaufen. Andernfalls finden Sie weitere Informationen zum Filtern in der erweiterten Auswahl von SolidWorks.
1 „Gefällt mir“

Hallo, danke.

Könntest du mir einen Link zu einem deiner Tutorials geben oder sprichst du davon?

Es stimmt, dass es unmöglich ist, Tutorials zu finden, die von einer Person erstellt wurden, sorry. Ich habe über dieses Tutorial gesprochen, aber tatsächlich betrifft es alle Konfigurationen einer Assembly:

http://www.lynkoa.com/tutos/solidworks/macro-pour-toutes-les-configurations-d-un-assemblage-pour-activer-l-option-"befördern" Ich suche nach dem Makro, das ich gemacht habe, aber es ist nicht auf Lynkoa.

1 „Gefällt mir“

Ich habe im Internet etwas gefunden, das es mir ermöglicht, die Komponenten einer Baugruppe zu durchsuchen, das Problem ist, dass ich sie nicht verstecken kann. Wozu?

 

Sub main()
    Dim swModel As ModelDoc2
   
    Dimmen von vComps als Variante
    Dimmen swComp als SldWorks.Component2
    Dim swAssy As SldWorks.AssemblyDoc
    Dim i als Integer
   
    Legen Sie swApp = Application.SldWorks fest
    Festlegen von swModel = swApp.ActiveDoc
   
    Wenn swModel.GetType = swDocASSEMBLY dann
        Set swAssy = swModel
        vComps = swAssy.GetComponents(Falsch)
        Für i = 0 TB UBound(vComps)
            Setze swComp = vComps(i)
            Legen Sie swModel = swComp.GetModelDoc2 fest
            Debug.Print swModel.GetTitle
            swModel.HideComponent2 'Funktioniert nicht...
            swModel.ClearSelection2 Wahr
        Weiter i
    Ende, wenn
Ende Sub

 

[Bearbeiten]

Ich habe einen Weg gefunden, die ID zurückzunehmen mit:

            Debug.Print swComp.GetSelectByIDString
            boolstatus = Part.Extension.SelectByID2(swComp.GetSelectByIDString, "KOMPONENTE", 0, 0, 0, Falsch, 0, Nichts, 0)
            Teil.HideComponent2

 

Im Moment denke ich, dass mein Problem gelöst sein sollte. Ich warte noch ein wenig, bevor ich es in eine Entschließung bringe. Vielen Dank!

1 „Gefällt mir“

In der Tat, wie im folgenden Link angegeben, müssen Sie die Komponente mit auswählen HideComponent2 , sonst bieten sie eine andere Methode mit Sichtbarkeit:

https://books.google.fr/books?id=ftVsBgAAQBAJ&pg=PA39&lpg=PA39&dq=HideComponent2&source=bl&ots=11v9gfMep9&sig=Kdp-G1le6iPqcbxSFNSueTQXQs4&hl=fr&sa=X&ved=0CCwQ6AEwAmoVChMI-6DIiZuyxwIVAr0aCh3dXQmW#v=onepage&q=HideComponent2&f=false

 

1 „Gefällt mir“

Dank Ihnen betrachte ich das Problem als gelöst.