Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  EPLAN Electric P8
  Konstruktionsmodus beim Schrankaufbau

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 EPLAN
Autor Thema:  Konstruktionsmodus beim Schrankaufbau (1457 / mal gelesen)
EplanNerd
Mitglied
Elektrokonstrukteur


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

Beiträge: 82
Registriert: 17.11.2020

erstellt am: 17. Nov. 2020 14:37    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 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



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

Beiträge: 1815
Registriert: 23.04.2003

EPLAN Electric P8
2023 Prof.

erstellt am: 18. Nov. 2020 07: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 Nur für EplanNerd 10 Unities + Antwort hilfreich

Der Rasterfang wird in dieser Einstellung "USER.GedViewer.Grid.Snap" gespeichert.

------------------
grüße
FrankS

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

EplanNerd
Mitglied
Elektrokonstrukteur


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

Beiträge: 82
Registriert: 17.11.2020

erstellt am: 18. Nov. 2020 08:30    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

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



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

Beiträge: 1816
Registriert: 14.06.2004

5.70 Prof
P8 2.9.4 Update14

erstellt am: 18. Nov. 2020 09:21    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 EplanNerd 10 Unities + Antwort hilfreich

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


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

Beiträge: 82
Registriert: 17.11.2020

erstellt am: 18. Nov. 2020 09:47    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 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


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

Beiträge: 82
Registriert: 17.11.2020

erstellt am: 18. Nov. 2020 13: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 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



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

Beiträge: 1815
Registriert: 23.04.2003

EPLAN Electric P8
2023 Prof.

erstellt am: 18. Nov. 2020 15: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 EplanNerd 10 Unities + Antwort hilfreich

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


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

Beiträge: 82
Registriert: 17.11.2020

erstellt am: 18. Nov. 2020 15:35    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

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

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)2023 CAD.de | Impressum | Datenschutz