| | |
 | Purdue University eröffnet zwei Technik-Labs von Rittal und Eplan , eine Pressemitteilung
|
|
Autor
|
Thema: Konstruktionsmodus beim Schrankaufbau (2695 / mal gelesen)
|
EplanNerd Mitglied Elektrokonstrukteur

 Beiträge: 82 Registriert: 17.11.2020
|
erstellt am: 17. Nov. 2020 14:37 <-- editieren / zitieren --> Unities abgeben:         
Hallo allerseits, ich bin relativ neu beim Thema Eplan-Script und brauche mal Hilfe von den Spezis. Ziel des Scripts ist es beim Einschalten des 2D-Schaltschrankaufbaunavigators automatisch den Rasterfang aus- / Objektfang ein- / Konstruktionsmodus einzuschalten. Leider bekomme ich es nicht hin den Zustand vom Rasterfang abzufragen. Ich vermute, es ist nicht über "USER.GedViewer.GridSnap" abgefragt. Vorab vielen Dank für die Hilfe! Code:
public class Schrankaufbau { [DeclareEventHandler("onActionStart.String.XplDoPanelLayoutAction")] public long UmschaltungGrafik(IEventParameter iEventParameter) { CommandLineInterpreter CLI = new CommandLineInterpreter(); //MessageBox.Show ("Rasterfang: " + Rasterfang.ToString()); //MessageBox.Show ("Objektfang: " + Objektfang.ToString()); //MessageBox.Show ("Konstruktionsmodus: " + Konstruktionsmodus.ToString()); if (!Rasterfang) CLI.Execute("XGedToggleGridSnapAction"); if (!Objektfang) CLI.Execute("XGedToggleObjectSnapAction"); if (!Konstruktionsmodus) CLI.Execute("XGedActionToggleConstructionMode"); return 0; } private bool Rasterfang { get { return new Eplan.EplApi.Base.Settings().GetBoolSetting("USER.GedViewer.GridSnap", 0); } } private bool Objektfang { get { return new Eplan.EplApi.Base.Settings().GetBoolSetting("USER.GedViewer.ObjectSnap.Active", 0); } } private bool Konstruktionsmodus { get { return new Eplan.EplApi.Base.Settings().GetBoolSetting("USER.GedViewer.ConstructionMode", 0); } } }
------------------ Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt. (Albert Einstein) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
F.S. Moderator
     

 Beiträge: 2001 Registriert: 23.04.2003 EPLAN Electric P8 2026 Premium
|
erstellt am: 18. Nov. 2020 07:57 <-- editieren / zitieren --> Unities abgeben:          Nur für EplanNerd
|
EplanNerd Mitglied Elektrokonstrukteur

 Beiträge: 82 Registriert: 17.11.2020
|
erstellt am: 18. Nov. 2020 08:30 <-- editieren / zitieren --> Unities abgeben:         
VIELEN VIELEN DANK! Woher weißt du denn sowas? Bin relativ frisch im Thema und mach es eher im Format Try&Error. Eine Dokumentation wäre da vielleicht manchmal hilfreich. Grüße ------------------ Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt. (Albert Einstein) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HOC Ehrenmitglied V.I.P. h.c.

 Beiträge: 2075 Registriert: 14.06.2004 P8 Vers.2025 Update7 P8 Vers.2027 Update1
|
erstellt am: 18. Nov. 2020 09:21 <-- editieren / zitieren --> Unities abgeben:          Nur für EplanNerd
Zitat: Original erstellt von EplanNerd: ...beim Einschalten des 2D-Schaltschrankaufbaunavigators automatisch den Rasterfang aus- / Objektfang ein- / Konstruktionsmodus einzuschalten...
Daran wäre ich auch interessiert Ich kann aber leider nichts mit (meinen) Script-Kenntnissen beitragen ------------------ Grüße HOC Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
EplanNerd Mitglied Elektrokonstrukteur

 Beiträge: 82 Registriert: 17.11.2020
|
erstellt am: 18. Nov. 2020 09:47 <-- editieren / zitieren --> Unities abgeben:         
Hallo HOC, weiter unten findest du meinen aktuellen Code. Leider bekomme ich es noch nicht hin, dass beim Schließen des Navigators wieder umgeschaltet werden. Vielleicht könnte uns da noch jemand helfen? Alternativ hatte ich auch schon die Idee irgendwie das Script PageChangeZoomAll von Nairolf zu nutzen. Darin müsste man prüfen, ob die Schaltplanseite grafisch oder Schaltschrankaufbau ist und dann den Konstruktionsmodus einschalten. Ansonsten würde der Konstruktionsmodus abgeschaltet. Alles noch Phantasie. Vielleicht ist ja jemand motiviert zu helfen . Code:
public class Schrankaufbau { [DeclareEventHandler("onActionStart.String.XplDoPanelLayoutAction")] public long UmschaltungGrafik(IEventParameter iEventParameter) { CommandLineInterpreter CLI = new CommandLineInterpreter(); if (Rasterfang) CLI.Execute("XGedToggleGridSnapAction"); if (!Objektfang) CLI.Execute("XGedToggleObjectSnapAction"); if (!Konstruktionsmodus) CLI.Execute("XGedActionToggleConstructionMode"); return 0; } private bool Rasterfang { get { return new Eplan.EplApi.Base.Settings().GetBoolSetting("USER.GedViewer.Grid.Snap", 0); } } private bool Objektfang { get { return new Eplan.EplApi.Base.Settings().GetBoolSetting("USER.GedViewer.ObjectSnap.Active", 0); } } private bool Konstruktionsmodus { get { return new Eplan.EplApi.Base.Settings().GetBoolSetting("USER.GedViewer.ConstructionMode", 0); } } }
------------------ Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt. (Albert Einstein) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
EplanNerd Mitglied Elektrokonstrukteur

 Beiträge: 82 Registriert: 17.11.2020
|
erstellt am: 18. Nov. 2020 13:20 <-- editieren / zitieren --> Unities abgeben:         
Hallo nochmal, da ich es nicht besser wusste, habe ich Umschaltung jetzt an den Button für den Konstruktionsmodus gehangen. Vorlage dazu war der Thread: Tastenkürzel für Objektfang und Konstruktionsmodus https://ww3.cad.de/foren/ubb/Forum467/HTML/006069.shtml#000001 Code: public class Schrankaufbau { [DeclareEventHandler("onActionStart.String.XGedActionToggleConstructionMode")] public bool ToggleKonstruktionsmodus(IEventParameter iEventParameter) { CommandLineInterpreter CLI = new CommandLineInterpreter(); if (!Konstruktionsmodus) { if (Rasterfang) CLI.Execute("XGedToggleGridSnapAction"); if (!Objektfang) CLI.Execute("XGedToggleObjectSnapAction"); } else { if (!Rasterfang) CLI.Execute("XGedToggleGridSnapAction"); if (Objektfang) CLI.Execute("XGedToggleObjectSnapAction"); } return true; } private bool Rasterfang { get { return new Eplan.EplApi.Base.Settings().GetBoolSetting("USER.GedViewer.Grid.Snap", 0); } } private bool Objektfang { get { return new Eplan.EplApi.Base.Settings().GetBoolSetting("USER.GedViewer.ObjectSnap.Active", 0); } } private bool Konstruktionsmodus { get { return new Eplan.EplApi.Base.Settings().GetBoolSetting("USER.GedViewer.ConstructionMode", 0); } } }
------------------ Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt. (Albert Einstein) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
F.S. Moderator
     

 Beiträge: 2001 Registriert: 23.04.2003 EPLAN Electric P8 2026 Premium
|
erstellt am: 18. Nov. 2020 15:25 <-- editieren / zitieren --> Unities abgeben:          Nur für EplanNerd
Hallo, ich habe etwas gebraucht bis ich auf die Lösung gekommen bin wie man im Scripting den Zustand des Navigator rausbekommen kann. Der folgende Code macht genau das was du möchtest, er bietet aber noch Potenzial. Ich weiss nicht ob es ratsam ist die Einstellungen zu togglen, es wäre bestimmt besser der gewünschten Zustand direkt in die Einstellungen zu schreiben, auch könnte man die Zustände vorher noch speichern und nach schließen des Navigators wieder herstellen.
Code:
public class Class { [DeclareEventHandler("onActionStart.String.XplDoPanelLayoutAction")] public bool Function() { CommandLineInterpreter CLI = new CommandLineInterpreter(); //Prüfen ob Navigator ein oder aus geschaltet wird Eplan.EplApi.Gui.Menu oMenu = new Eplan.EplApi.Gui.Menu(); bool IsActionChecked = oMenu.IsActionChecked("XplDoPanelLayoutAction"); if (!IsActionChecked) //Navigator ist aus und wird eingeschaltet { if (Rasterfang) CLI.Execute("XGedToggleGridSnapAction"); if (!Objektfang) CLI.Execute("XGedToggleObjectSnapAction"); if (!Konstruktionsmodus) CLI.Execute("XGedActionToggleConstructionMode"); } else //Navigator ist ein und wird ausgeschaltet { if (!Rasterfang) CLI.Execute("XGedToggleGridSnapAction"); if (Objektfang) CLI.Execute("XGedToggleObjectSnapAction"); if (Konstruktionsmodus) CLI.Execute("XGedActionToggleConstructionMode"); } return true; } private bool Rasterfang { get { return new Eplan.EplApi.Base.Settings().GetBoolSetting("USER.GedViewer.Grid.Snap", 0); } } private bool Objektfang { get { return new Eplan.EplApi.Base.Settings().GetBoolSetting("USER.GedViewer.ObjectSnap.Active", 0); } } private bool Konstruktionsmodus { get { return new Eplan.EplApi.Base.Settings().GetBoolSetting("USER.GedViewer.ConstructionMode", 0); } } }
------------------ grüße FrankS Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
EplanNerd Mitglied Elektrokonstrukteur

 Beiträge: 82 Registriert: 17.11.2020
|
erstellt am: 18. Nov. 2020 15:35 <-- editieren / zitieren --> Unities abgeben:         
Vielen vielen Dank, endlich ein Punkt der ewigen ToDo Liste weg. Mal sehen, wie sich das Script so in Zukunft macht. Aber es ist genau das, was ich wollte. Grüße A.T. ------------------ Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt. (Albert Einstein) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HOC Ehrenmitglied V.I.P. h.c.

 Beiträge: 2075 Registriert: 14.06.2004 P8 Vers.2025 Update7 P8 Vers.2027 Update1
|
erstellt am: 20. Okt. 2026 14:37 <-- editieren / zitieren --> Unities abgeben:          Nur für EplanNerd
|
F.S. Moderator
     

 Beiträge: 2001 Registriert: 23.04.2003 EPLAN Electric P8 2026 Premium
|
erstellt am: 26. Okt. 2026 16:20 <-- editieren / zitieren --> Unities abgeben:          Nur für EplanNerd
|
HOC Ehrenmitglied V.I.P. h.c.

 Beiträge: 2075 Registriert: 14.06.2004 P8 Vers.2025 Update7 P8 Vers.2027 Update1
|
erstellt am: 27. Okt. 2026 07:24 <-- editieren / zitieren --> Unities abgeben:          Nur für EplanNerd
Danke Frank, habe es gerade getestet 2D-Navi wird ein-/ausgeschaltet Konstruktionsmodus, Objektfang werden eingeschalten, aber beim Beenden des 2D-Navi nicht mehr ausgeschalten ------------------ Grüße HOC Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
F.S. Moderator
     

 Beiträge: 2001 Registriert: 23.04.2003 EPLAN Electric P8 2026 Premium
|
erstellt am: 27. Okt. 2026 11:35 <-- editieren / zitieren --> Unities abgeben:          Nur für EplanNerd
Hallo HOC, ich denke das du den Navigator durch das X schließt, dabei wird leider kein Event in EPLAN ausgelöst, deshalb dieses verhalten. Ich habe das mal mit ChatGPT diskutiert, die Lösung ist recht aufwendig, mal schauen ob ich was draus baue. ------------------ grüße FrankS Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HOC Ehrenmitglied V.I.P. h.c.

 Beiträge: 2075 Registriert: 14.06.2004 P8 Vers.2025 Update7 P8 Vers.2027 Update1
|
erstellt am: 27. Okt. 2026 12:36 <-- editieren / zitieren --> Unities abgeben:          Nur für EplanNerd
Zitat: Original erstellt von F.S.: ..den Navigator durch das X schließt..
Hallo Frank, bis jetzt (Vers.2025) habe ich habe ich eine Tastenkombination verwendet zum Ein-/Ausschalten ------------------ Grüße HOC Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
F.S. Moderator
     

 Beiträge: 2001 Registriert: 23.04.2003 EPLAN Electric P8 2026 Premium
|
erstellt am: 27. Okt. 2026 14:37 <-- editieren / zitieren --> Unities abgeben:          Nur für EplanNerd
|

| | EPLAN-Konstrukteur / Elektrokonstrukteur (m/w/d) | Aus technischen Anforderungen entstehen durchdachte Schaltanlagen. Wer wir sind Wir arbeiten dort, wo anspruchsvolle Technik, Erfahrung und Präzision den Unterschied machen. Unser Schwerpunkt liegt im Elektro-Anlagenbau sowie in der MSR- und Automatisierungstechnik. Wir realisieren anspruchsvolle Projekte für Industrieunternehmen ... | | Anzeige ansehen | Feste Anstellung |
|
HOC Ehrenmitglied V.I.P. h.c.

 Beiträge: 2075 Registriert: 14.06.2004 P8 Vers.2025 Update7 P8 Vers.2027 Update1
|
erstellt am: 10. Nov. 2026 14:48 <-- editieren / zitieren --> Unities abgeben:          Nur für EplanNerd
Hallo, funktioniert leider bei uns nicht Konstruktionsmodus und Objektfang sind AUS Rasterfang ist EIN Jetzt schalte ich das 2D-Navi mit Strg+Umschalt+M EIN, -> Konstruktionsmodus und Objektfang werden EIN Rasterfang wird AUS Es werden immer diese Einstellungen durchgeführt und kein Toggle mehr Ich habe bereits versucht alles am Hauptbildschirm durchzuführen bzw. das 2D-Navi anzudocken, leider ohne Erfolg. Kann vielleicht sonst noch jemand das Script testen: wir verwenden Eplan Electric P8 Premium Version 2027 Update 1 Built 27481 ------------------ Grüße HOC Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |