Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  GetDisplayStates

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
  
Hands-on 3D-Druck am 06.06.2024 in Langenau
Autor Thema:  GetDisplayStates (613 / mal gelesen)
Hermann75
Mitglied
Konstrukteur


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

Beiträge: 124
Registriert: 04.05.2016

MS Windows 11 Pro; Intel Core i9-12900HX, 2.3GHz;
64GB Ram; 64bit; NVIDIA RTX A3000
SW 2021 SP5.1 Professional
SW-PDM 2021 Professional
HiCAD next 2008
Helios next 2008

erstellt am: 13. Nov. 2023 11: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

Vielleicht wurde die Frage ja bereits schon mal gestellt und beantwortet, bin leider aber nicht fündig geworden:

Der Befehl GetDisplayStates gibt ein Array mit den Namen der einzelnen DisplayStates zurück. Leider ist der erste Name der des aktiven Anzeigestatus. Gibt es eine Möglichkeit Aktiven Display Status auf den Obersten Eintrag zu setzen? Bei uns oft "Anzeigestatus-1"? Sonnst muss ich darauf hoffen, dass der Bediener nichts falsch macht. Vielen Dank.

Grüsse aus der Schweiz, Hermann

 

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

riesi
Mitglied
CAD-Admin


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

Beiträge: 1073
Registriert: 06.05.2002

SWX Premium 2020-Sp5

erstellt am: 13. Nov. 2023 13: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 Nur für Hermann75 10 Unities + Antwort hilfreich

Und wenn Du den zweiten Eintrag nimmst, würde es passen?

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

Hermann75
Mitglied
Konstrukteur


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

Beiträge: 124
Registriert: 04.05.2016

MS Windows 11 Pro; Intel Core i9-12900HX, 2.3GHz;
64GB Ram; 64bit; NVIDIA RTX A3000
SW 2021 SP5.1 Professional
SW-PDM 2021 Professional
HiCAD next 2008
Helios next 2008

erstellt am: 14. Nov. 2023 07:26    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

Der erste Eintrag ist so etwas wie die Basis. Alle Teile sind sichtbar. Die andern mit unter 30 Einträge sind entweder für die Zeichnung gedacht und stellen z.B. nur eine Unterbaugruppe dar, oder werden zukünftig für die Softwareentwicklung und Elektroplanung gebraucht.

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

Christian_W
Ehrenmitglied V.I.P. h.c.
Konstrukteur (Dipl-Ing)


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

Beiträge: 3189
Registriert: 04.04.2001

CSWP 12/2015<P>SWX2021sp5 Win10/11
(SWX2016, SWX2012)
proAlpha6.2e00/calinkV9
(Tactonworks)
(Medusa7, NesCAD2010,
solidEdge19)

erstellt am: 14. Nov. 2023 11:25    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 Hermann75 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von riesi:
Und wenn Du den zweiten Eintrag nimmst, würde es passen?

vermutlich nicht, wenn der aktive bereits der oberste ist.

Wenn der Algorithmus die Reihenfolge sonst beibehält und nur den aktiven nach vorne holt,
könnte man wechseln und vergleichen, evtl braucht man 2 Wechsel, das ist was für einen Logiker 
2. ist gleich geblieben --> 2. ist der oberste
2. ist nach vorne gerutscht --> ??
1. ist auf 2 gerutscht --> ??

Alternative oder Ergänzung vielleicht die ausgeblendeten Komponenten zählen (bastelei mit GetDisplayStateComponentVisibility)
und den mit den meisten sichtbaren Komponenten als obersten annehmen?

Gruß, Christian

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

riesi
Mitglied
CAD-Admin


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

Beiträge: 1073
Registriert: 06.05.2002

SWX Premium 2020-Sp5

erstellt am: 14. Nov. 2023 11:56    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 Hermann75 10 Unities + Antwort hilfreich

Wenn immer die gleich Vorlage genommen wird und die erste immer "Anzeigestatus-1" ist, könnte man die Liste auch durchlaufen und danach suchen. Alternativ auch mit Regex. Das Setzen der Anzeigestati setzt sowieso Disziplin voraus. Dann kann man auch erwarten, dass der erste immer einen bestimmten Namen hat.

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

Hermann75
Mitglied
Konstrukteur


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

Beiträge: 124
Registriert: 04.05.2016

MS Windows 11 Pro; Intel Core i9-12900HX, 2.3GHz;
64GB Ram; 64bit; NVIDIA RTX A3000
SW 2021 SP5.1 Professional
SW-PDM 2021 Professional
HiCAD next 2008
Helios next 2008

erstellt am: 14. Nov. 2023 14:29    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

@Christian_W
Es ist in der Tat so, dass der aktive Anzeigestatus an die erste Position rückt und danach alle andern bis zum Aktiven Anzeigestatus um eine Position verschoben werden.

Was ich jetzt gemacht habe, aufgrund eurer Inspiration, dass ich schaue, ob der erste Anzeigestatus auch "Anzeigestatus-1" heisst. Wenn ja, gehe ich davon aus, dass der erste Anzeigestatus auch angewählt ist. Wenn der zweite so heisst, dann gehe ich davon aus, dass was verschoben ist. Dann kann ich diesen aktivieren und dann stimmt alles wieder. Wenn weder die erste noch die zweite Position "Anzeigestatus-1" heisst, dann wurde was umbenannt und der Benutzer muss selbst den ersten Ansichtsstatus anwählen.

Das mit den Komponenten zählen. Dem vertraue ich nicht. Könnte ja sein, dass es einen Status gibt, wo der Benutzer die angrenzenden Teile eingeblendet hat.

@riesi
Das mit der Vorlage passt. Nur war es bis jetzt kein Problem, wenn man den ersten Anzeigestatus umbenannt hat.

Danke euch für die Inspiration. Wäre hald schön gewesen, wenn es einen Trick gegeben hätte, um die richtige Reihenfolge erhalten zu können, ohne die Benennung berücksichtigen zu müssen.

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

Swazi
Mitglied


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

Beiträge: 6
Registriert: 10.02.2013

SOLIDWORKS 2021/2022/2023 SP0.1
WIN10x64 21H2

erstellt am: 15. Nov. 2023 09:28    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 Hermann75 10 Unities + Antwort hilfreich

Moin,
ein „Trick“ würde mir einfallen, was aber eine Dokument Änderung zur Folge hätte.

Zum Ablauf:
1. Erstelle ein neuen DisplayState (CreateDisplayState) bspw. mit dem Namen „temp“
  • Nach dem Neuaufbau (ForceRebuild3) des Dokumentes ist der DisplayState „temp“ Aktiv und somit im Array von (GetDisplayStates) an erster Stelle.
  • Da die DisplayStates nicht sortiert werden, wird der „temp“ DisplayState an letzter Stelle gesetzt.
2. Aktiviere den DisplayState aus dem Array „1“ (ApplyDisplayState)
3. Lösche den neu erstellten DisplayState „temp“ (DeleteDisplayState)

Nach meiner Logik, ohne es getestet zu haben, sollte nun der erste DisplayState Aktiv sein und der Array in der richtigen Reihenfolge.

Ich hoffe es ist verständlich.

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

Hermann75
Mitglied
Konstrukteur


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

Beiträge: 124
Registriert: 04.05.2016

MS Windows 11 Pro; Intel Core i9-12900HX, 2.3GHz;
64GB Ram; 64bit; NVIDIA RTX A3000
SW 2021 SP5.1 Professional
SW-PDM 2021 Professional
HiCAD next 2008
Helios next 2008

erstellt am: 20. Nov. 2023 07:25    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 Swazi

Danke für dein Mitdenken, werde mal deine Routine programmieren und austesten. Bin gespannt, was dabei rauskommt. Aktuell schlage ich mich aber noch mit einem Windowsupdate herum, dass mir fast PDM unbrauchbar macht.

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

Hermann75
Mitglied
Konstrukteur


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

Beiträge: 124
Registriert: 04.05.2016

MS Windows 11 Pro; Intel Core i9-12900HX, 2.3GHz;
64GB Ram; 64bit; NVIDIA RTX A3000
SW 2021 SP5.1 Professional
SW-PDM 2021 Professional
HiCAD next 2008
Helios next 2008

erstellt am: 06. Dez. 2023 08:57    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

So hab es nun hinbekommen:

bRet = swConfig.CreateDisplayState("temp") 'Punkt 1 von Swazi
DisplayStateNames = swConfig.GetDisplayStates 'Punkt 1A - Forcerebuild braucht es nicht, aber die Displaystatus müssen neu eingelesen werden, damit der erste Displaystatus sicher an Position 2 ist.
bRet = swConfig.ApplyDisplayState(DisplayStateNames(1)) 'Punkt 2 von Swazi
bRet = swConfig.DeleteDisplayState("temp") 'Punkt 3 von Swazi
DisplayStateNames = swConfig.GetDisplayStates 'Neue Sortierung nochmals einlesen

Danke fürs Lösungsfinden.

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