| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
Autor
|
Thema: Auswahlfilter API (325 mal gelesen)
|
Maico Mitglied Konstrukteur

 Beiträge: 22 Registriert: 28.02.2002
|
erstellt am: 14. Feb. 2005 09:34 <-- editieren / zitieren --> Unities abgeben:         
Guten Tag SolidWorks Profis!  Ich bin dran ein Programm zu schreiben mit dem man automatisch ein O-Ring erstellen und einbauen kann wenn die Nut ausgewählt ist. Nun stehe ich vor folgendem Problem: Ich möchte das während mein Programm läuft alle Auswahlfilter ausgeschaltet sind und nur der Auswahlfilter für die Flächen aktiv ist. Da wir in unserem Betrieb sehr viel mit Auswahlfilter arbeiten möchte ich, dass wenn das Programm beendet wird wieder der ursprüngliche Zustand der Auswahlfilter erstellt wird (also der Zustand bevor mein Programm gestartet wurde). Hat jemand von Euch so etwas schon programmiert oder kann mir helfen? Vielen Dank. MfG Maico 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: 14. Feb. 2005 10:35 <-- editieren / zitieren --> Unities abgeben:          Nur für Maico
Hallo Maico, hab ich zwar noch nicht gemacht, aber ich würde zunächst mit SldWorks::GetSelectionFilters die aktuellen Einstellungen abfragen und merken, dann mit SldWorks::SetSelectionFilters das so einstellen wie ich es brauche und zum Schluß die gemerkten Werte wieder setzen. Für einzelne Werte heißen die Befehle genau so nur ohne das "s" am Ende, also SldWorks::GetSelectionFilter und SldWorks::SetSelectionFilter Ciao, Stefan ------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Maico Mitglied Konstrukteur

 Beiträge: 22 Registriert: 28.02.2002
|
erstellt am: 14. Feb. 2005 10:47 <-- editieren / zitieren --> Unities abgeben:         
|
u.clemens Mitglied Konstrukteur
  
 Beiträge: 964 Registriert: 04.07.2000 engineer's law o cheap o fast o good check only two !
|
erstellt am: 14. Feb. 2005 11:48 <-- editieren / zitieren --> Unities abgeben:          Nur für Maico
Zitat: Original erstellt von Maico: Noch eine kleine Frage: Gibt es kein Befehl um alle Auswahlfilter auf einmal auszuschalten?
eigentlich gibt es unter den Selection Types (swSelectType_e) den Wert swSelEVERYTHING. Von dem hätte ich erwartet, daß ich mit swApp.SetSelectionFilter swSelEVERYTHING, False alle ausschalten kann. Das scheint aber nicht zu klappen. Ersatzweise könntest Du Dir mit einer For i=0 to ... -Anweisung behelfen.Oder Du füllst den Vektor mit allen Selection Types und arbeitest eben mit SetSelectionFilters
------------------ mfg uc Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| |
Maico Mitglied Konstrukteur

 Beiträge: 22 Registriert: 28.02.2002
|
erstellt am: 14. Feb. 2005 12:38 <-- editieren / zitieren --> Unities abgeben:         
Ich habe das Problem jetzt so gelöst: Public SWActiveFilters As Variant Public SWFilterState As Boolean Private Sub Form_Initialize() Dim i As Integer
'Aktuelle Filter-Einstellungen werden gespeichert SWActiveFilters = swApp.GetSelectionFilters SWFilterState = swApp.GetApplySelectionFilter 'Alle Filter werden deaktiviert On Error Resume Next For i = 0 To UBound(SWActiveFilters) swApp.SetSelectionFilter SWActiveFilters(i), False Next On Error GoTo 0 'Flächen-Auswahlfilter wird aktiviert swApp.SetApplySelectionFilter True swApp.SetSelectionFilter swSelFACES, True End Sub Private Sub Form_Unload(Cancel As Integer) Dim i As Integer 'Flächen-Auswahlfilter wird deaktiviert swApp.SetSelectionFilter swSelFACES, False 'Filter werden in Ausgangslage zurückgesetzt On Error Resume Next For i = 0 To UBound(SWActiveFilters) swApp.SetSelectionFilter SWActiveFilters(i), True Next On Error GoTo 0 swApp.SetApplySelectionFilter SWFilterState End Sub
Es scheint als würde es funktionieren.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |