Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  EPLAN Electric P8
  Baum-/Seitenstruktur per Script in Eplan P8 2.9 umstellen

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:  Baum-/Seitenstruktur per Script in Eplan P8 2.9 umstellen (1191 / mal gelesen)
Partyarti
Mitglied
Elektrokonstrukteur


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

Beiträge: 18
Registriert: 25.04.2022

erstellt am: 25. Apr. 2022 10: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


Screenshot2022-04-25101040.jpg


Screenshot2022-04-25101140.jpg

 
Hallo,

u.a. für einen PDF Export bräuchten wir eine Umstellung der Seitenstruktur.
Ich würde es gerne mit einem Script umschaltbar machen. Entweder direkt beim PDF Export für die Elektriker oder auf ein/zwei Buttons legen.
Nur kriege ich es per Script nicht umgestellt...

Wir nutzen aktuell Dokumentenart, Anlage, Einbauort. Bsp.: &EFS=HMI+CC1/1
Brauchen immer wieder für die Elektriker folgende Reihenfolge: Dokumentenart, Einbauort, Anlage. Bsp.: &EFS+CC1=HMI/1


In den Einstellungen: Baumstruktur (Seiten) kann man leider nichts importieren, aber vlt. eine Action etc. ausführen? (Hier stelle ich aktuell immer die Struktur um)

In den Projekteigenschaften kann man zwar Projekteigenschaften importieren, klappt bei mir auch, nur wie krieg ich das importierte Schema aktiviert (Anhang rot markiert)?
Hab von Suplanus ein Script ausprobiert, dass die Projekteigenschaften eines ausgewählten Projekts importiert, leider verändert sich diese Einstellung nicht.

Hat jemand noch eine Idee?

Danke & Grüße

[Diese Nachricht wurde von Partyarti am 25. Apr. 2022 editiert.]

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

nairolf
Ehrenmitglied
Elektroingenieur


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

Beiträge: 1987
Registriert: 21.01.2006

EPLAN Electric P8 2022.0.3 Update 2 (Build 17673)
EPLAN Pro Panel Professional Addon
EPLAN Fluid Addon

erstellt am: 25. Apr. 2022 10:52    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 Partyarti 10 Unities + Antwort hilfreich

Bin mir nicht zu 100% sicher, aber ich denke per Script geht da leider nichts. Evtl. mit API, aber da bin ich nicht so tief drin 

VG
nairolf

------------------
Der Fuchs ist schlau und stellt sich dumm.
Bei vielen ist es andersrum 
------------------------------------------
Da lernt man mühevoll laufen und sprechen,
und nun soll ich stillsitzen und die Klappe halten !

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

cad_hans
Ehrenmitglied V.I.P. h.c.
Techn. Angestellter


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

Beiträge: 2052
Registriert: 25.08.2003

ruplan4.70
eplan5.x
P8 V1.9 bis V2.7

erstellt am: 25. Apr. 2022 14:40    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 Partyarti 10 Unities + Antwort hilfreich

hallo,
das ist doch eine projekteinstellung.
also über script exportieren
sichern
ändern
importieren
pdf ausgabe
sicherung wieder importieren

voila

------------------
ruplan4.70
eplan5.x
P8 V1.9 bis V2.7

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

ThMue
Ehrenmitglied V.I.P. h.c.
M.Sc. Wirtschaftsingeneurswesen, B.Eng. Elektro- und Automatisierungstechnik


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

Beiträge: 2385
Registriert: 22.10.2013

EPLAN Electric P8 - Professional 2.9/2022 + alle Addons

erstellt am: 25. Apr. 2022 14:51    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 Partyarti 10 Unities + Antwort hilfreich

ich werf mal in den raum.
warum brauchen die elektriker die andere reifenfolge?

1. darstellung ist funktionsorientiert
2. darstellung ist ortsorientientiert

normal haste funktionen gebündelt auf X seiten und dort sind ortsorientiert untergeordnet.

Das meiste kannste über auswertungen realisieren indem man z.b. artikelstücklisten ortsorientiert ausgibt ...

------------------
Vorlesungen machen den Verstand träge. Sie zerstören das Potenzial für authentische Kreativität!

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

Partyarti
Mitglied
Elektrokonstrukteur


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

Beiträge: 18
Registriert: 25.04.2022

erstellt am: 25. Apr. 2022 15:19    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 cad_hans,

ich kann die Einstellung importieren, aber ich weiß nicht wie ich sie "aktiviere"...
Wenn die Projekteinstellung importiert wurde, dann muss man sie noch in den Eigenschaften auswählen und bestätigen, erst dann wird sie geladen... gibt es einen anderen Weg?

public static void importProjectScheme(string pathProjectScheme)
        {
            //Projekt Schemata importieren + überschreiben
            ActionCallingContext ReadXMLFile = new ActionCallingContext();
            string strProject = PathMap.SubstitutePath("$(P)");
            ReadXMLFile.AddParameter("Project", strProject);
            ReadXMLFile.AddParameter("XMLFile", pathProjectScheme);
            ReadXMLFile.AddParameter("Option", "OVERWRITE");
            new CommandLineInterpreter().Execute("XSettingsImport", ReadXMLFile);
        }


In der XML gibts eine Setting "StructureSequence", kann man die evtl. direkt im Projekt verändern?
<Setting name="StructureSequence" type="string">
       <Val><10001><10006><10003><10002><10004><10007><10005></Val>
</Setting>

Danke & Grüße

[Diese Nachricht wurde von Partyarti am 25. Apr. 2022 editiert.]

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

Partyarti
Mitglied
Elektrokonstrukteur


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

Beiträge: 18
Registriert: 25.04.2022

erstellt am: 25. Apr. 2022 15: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

Zitat:
Original erstellt von ThMue:
ich werf mal in den raum.
warum brauchen die elektriker die andere reifenfolge?

Hallo ThMue,
das frage ich mich auch... Ist aber gewünscht und ich schaue jetzt eben, ob man das irgendwie umsetzen kann.

Danke & Grüße

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

ThMue
Ehrenmitglied V.I.P. h.c.
M.Sc. Wirtschaftsingeneurswesen, B.Eng. Elektro- und Automatisierungstechnik


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

Beiträge: 2385
Registriert: 22.10.2013

EPLAN Electric P8 - Professional 2.9/2022 + alle Addons

erstellt am: 25. Apr. 2022 15:27    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 Partyarti 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Partyarti:

Hallo ThMue,
das frage ich mich auch... Ist aber gewünscht und ich schaue jetzt eben, ob man das irgendwie umsetzen kann.

Danke & Grüße


ich würde erstmal nach der ursache und dem Grund suchen, wieso sie das BRAUCHEN. die sterben ja fast immer wenn sie es nicht so bekommen wie sie es wollen.
Kenn das ja selbst und zwar nicht einmal und nicht zweimal bestimmt schon zehnmal gehört.

immer wenn man näher drauf eingeht brauchen sie das in wirklichkeit gar nicht, sondern ihnen reicht eine lösung, eine auswertung oder ähnliches.

z.b. verbindungsliste nach ORT macht daschon deutlich sinn ... von größten nach kleinsten querschnitten sortiert ... problem gelöst :P
legende vom 2d/3d aufbau ... artikelstückliste von ORT ... bam problem gelöst 
daher würde ich erstmal den ansatz wählen zu hinterfragen und tiefer zu bohren warum es den wirklich benötigt wird.

------------------
Vorlesungen machen den Verstand träge. Sie zerstören das Potenzial für authentische Kreativität!

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

Partyarti
Mitglied
Elektrokonstrukteur


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

Beiträge: 18
Registriert: 25.04.2022

erstellt am: 26. Apr. 2022 13: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

Alles klar, danke ThMue, ich habs eh aufgegeben...  

Ein paar Einstellungen kann man auf jeden Fall schreiben, auch ohne API.

Mich würde nur interessieren ob ich einen Fehler habe, oder ob manche Einstellungen einfach nicht veränderbar sind und vielleicht kann jemand für sich damit was anfangen:

Man kann den Kopf einer XML Datei anschauen und sich die Pfade (CAT, MOD, LEV... usw.) holen.
Bei mir kann ich z.B. die Setting "ReadOnly" in der gleichen XML verändern, die Setting "StructureSequence" aber nicht - keine Ahnung wieso       

<?xml version="1.0" encoding="utf-8" ?>
<!-- PrjManagementGUI_PROJECT_PageStructureScheme: PRP.Dokumentenart_Anlage_Einbauort.xml -->
<Settings format="2">
<CAT name="PROJECT">
  <MOD name="PrjManagementGUI">
   <LEV1 name="PageStructureScheme" nodekind="scheme">
    <LEV2 name="Dokumentenart_Anlage_Einbauort">
     <LEV3 name="Data" nodekind="block">
      <Setting name="StructureSequence" type="string">
       <Val><10001><10006><10003><10002><10004><10007><10005></Val>
      </Setting>
     </LEV3>
     <Setting name="ReadOnly" type="bool">
      <Val>0</Val>
     </Setting>
       .
       .
       .
       usw.

        [DeclareAction("test")]
        public void test()
        {
            ////Setting setzen
            SetProjectSetting("PrjManagementGUI.PageStructureScheme.Dokumentenart_Anlage_Einbauort.Data.StructureSequence", "<10001><10006><10003><10004><10002><10007><10005>");
            SetProjectSetting("PrjManagementGUI.PageStructureScheme.Dokumentenart_Anlage_Einbauort.ReadOnly", "0");

            ////Setting auslesen
            string node = "PrjManagementGUI.PageStructureScheme.Dokumentenart_Anlage_Einbauort";
            string setting = "/Settings/CAT/MOD/LEV1/LEV2/LEV3/Setting[@name='StructureSequence']/Val";
            string setting2 = "/Settings/CAT/MOD/LEV1/LEV2/Setting[@name='ReadOnly']/Val";
            string settingTemp = GetProjectSetting(node, setting);
            string settingTemp2 = GetProjectSetting(node, setting2);

            MessageBox.Show(settingTemp + Environment.NewLine + settingTemp2);
        }


        private string GetProjectSetting(string node, string setting)
        {
            try
            {
                string projectPath = PathMap.SubstitutePath("$(PROJECTPATH)");
                string settingsTempFile = Path.Combine(System.Environment.GetEnvironmentVariable("TEMP"), "GetProjectSetting_temp.xml");
                new CommandLineInterpreter().Execute("XSettingsExport /XmlFile:\"" + settingsTempFile + "\" /prj:\"" + projectPath + "\" /Node:" + node);
                var xmlDocument = new XmlDocument();
                xmlDocument.Load(settingsTempFile);
                var settingNode = xmlDocument.DocumentElement.SelectSingleNode(setting);
                var projectSetting = settingNode.InnerText;
                File.Delete(settingsTempFile);
                return projectSetting;
            }
            catch (BaseException exc)
            {
                String strMessage = exc.Message;
                System.Windows.Forms.MessageBox.Show("Exception: " + strMessage);
                return string.Empty;
            }
        }

        private void SetProjectSetting(string setting, string value)
        {
            CommandLineInterpreter interpreter = new CommandLineInterpreter();
            ActionCallingContext XAfActionSettingProjectContext = new ActionCallingContext();
            XAfActionSettingProjectContext.AddParameter("set", setting);
            XAfActionSettingProjectContext.AddParameter("value", value);
            interpreter.Execute("XAfActionSettingProject", XAfActionSettingProjectContext);
        }


Danke & Grüße  

[Diese Nachricht wurde von Partyarti am 26. Apr. 2022 editiert.]

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

Partyarti
Mitglied
Elektrokonstrukteur


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

Beiträge: 18
Registriert: 25.04.2022

erstellt am: 30. Jun. 2022 14:34    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,

falls es jemanden irgendwann mal interessiert... ich habe die Lösung zum Umschalten der Seitenstruktur ohne API-Lizenz gefunden.

Mit "XEsGetProjectPropertyAction" kann man die ID "10092" (Aufbau der Baumstruktur im Seitenbaum) auslesen
und mit "XEsSetProjectPropertyAction" setzen.

Hab die Property ausgelesen und verändert.
Um zwischen funktionsorientiert oder einbauorientiert umzuschalten, musste ich z.B. je nach Bedarf "10002" (Projektstruktur: Anlage) mit "10004" (Projektstruktur: Einbauort) tauschen, oder andersrum.

Bei mir:
funktionsorientiert: "3 10006 0 1 10002 0 1 10004 0 1 11017 0 0"
einbauorientiert: "3 10006 0 1 10004 0 1 10002 0 1 11017 0 0"


Leider wird die Setting aber nicht direkt übernommen, sondern erst nach Projektneustart. Also nach dem Ändern einfach eine Methode zum Schließen und Öffnen des Plans ausführen und dann passt es:

private void updateProjectInfoXml()
        {
            CommandLineInterpreter cli = new CommandLineInterpreter();
            ActionCallingContext acc = new ActionCallingContext();

            string strProject = PathMap.SubstitutePath("$(P)");

            acc.AddParameter("PROJECT", strProject);
            cli.Execute("XPrjActionProjectClose", acc);
            acc.AddParameter("PROJECT", strProject);
            cli.Execute("XPrjActionProjectOpen", acc);
        }


Ich nutze es, um dem Schaltschrankbau eine PDF mit anderer Struktur zu erzeugen.
Grüße

[Diese Nachricht wurde von Partyarti am 30. Jun. 2022 editiert.]

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: 01. Jul. 2022 08: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 Partyarti 10 Unities + Antwort hilfreich

Hallo,

danke für das teilen der Infos.
Anstatt das Projekt zu schließen und wieder zu öffnen könntes du mal Probieren das Event "PageManagement.ProjectSettings.Changed" auszulösen.

Code:

new EventManager().Send("PageManagement.ProjectSettings.Changed", new EventParameterString());

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

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

Partyarti
Mitglied
Elektrokonstrukteur


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

Beiträge: 18
Registriert: 25.04.2022

erstellt am: 01. Jul. 2022 10:33    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 Frank,

vielen Dank  .
Für den PDF Export funktioniert es perfekt, ohne das Projekt neu Öffnen zu müssen.
Leider wird der Seitennavigator nicht aktualisiert, aber das stört mich eigentlich nicht weiter.

(Wenn ich die Optionen öffne, ist die Einstellung auf jeden Fall "an Eplan übermittelt"  , beim Schließen der Optionen aktualisiert sich dann auch der Seitennavigator - aber für mich ja irrelevant)

Danke & Grüße
Artur

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