Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  EPLAN Electric P8
  Scripting - Änderung des Normblatts bzw. Seiteneigenschaft

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
  
Eplan Engineering Standard: So gelingt der Einstieg ins Projekt schneller und effizienter, eine Pressemitteilung
Autor Thema:  Scripting - Änderung des Normblatts bzw. Seiteneigenschaft (440 / mal gelesen)
19andre79
Mitglied
Elektrokonstrukteur


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

Beiträge: 148
Registriert: 01.09.2009

EPLAN Electric P8 2.9
EPLAN Harness ProD 2.9

erstellt am: 11. Sep. 2024 09:02    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

Guten Morgen zusammen,

ich habe eine Frage bezüglich der Erstellung eines Scriptes. Vorweg: Ich habe keine wirkliche Erfahrung oder Ausbildung in diesem Zusammenhang. Oftmals erarbeite ich mir Dinge indem ich mich anhand von Beispielen/Codeschnipseln meiner Aufgabenstellung annähere. Also viel try&error.

Ich habe ein Script erstellt, das es mir erlaubt per Button bestimmte Projekteigenschaften zu setzen und auch das Standard-Normblatt im Projekt (in den Einstellungen) umzuschalten. Da diese Anforderung recht häufig bei uns vorkommt, erleichtert es die Arbeit ungemein dies über einen Knopfdruck auszuführen. Das funktioniert grundsätzlich auch problemlos.

Nun zur eigentlichen Problemstellung. Die Mechanikabteilung nutzt für ihre Fluidpläne ein abweichendes Normblatt, welches in den Seiteneigenschaften (Normblattname <11016> ) eingetragen wird. Dies betrifft meist 1-4 Seiten im Projekt, die ich bislang dann händisch anpassen muss. Gibt es eine Möglichkeit diese Eigenschaften ebenfalls über (m)ein Script zu ändern?
Die Struktur in der diese Seiten liegen ist immer identisch, die Anzahl der Seiten kann variieren.

Ich stelle mir so etwas vor, wie: Wenn Seiten in dieser Struktur vorhanden, ändere die Eigenschaft (Normblattname <11016> ) zu "Mein Normblatt"...

Vielleicht kann mir jemand mit einem kleinen Beispielcode weiterhelfen?

Auf jeden Fall vielen Dank für Eure Mühe!

------------------
*** Alles wird gut..! ***

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: 1884
Registriert: 23.04.2003

EPLAN Electric P8
2024 Prof.

erstellt am: 11. Sep. 2024 16:00    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 19andre79 10 Unities + Antwort hilfreich

Hallo,

ich weiß nicht genau wie du dir das vorstellst.

Das einfachste wäre du markierst die Seiten im Seiten-Navigator und fürst dann ein Skript aus welches das Normblatt einstellt.

So könnte das Skript aussehen:

Code:

[Start]
public void PagePropertyWrite_Start()
{
CommandLineInterpreter oCLI = new CommandLineInterpreter();
ActionCallingContext acc = new ActionCallingContext();

string Id = "11016"; //Normblatt
string value = "FN1_001"; //Dein Normblatt

acc.AddParameter("PropertyId", Id);
acc.AddParameter("PropertyIndex", "0");
acc.AddParameter("PropertyValue", value);

oCLI.Execute("XEsSetPagePropertyAction", acc);

oCLI.Execute("XGedRedrawAction");

}


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

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

19andre79
Mitglied
Elektrokonstrukteur


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

Beiträge: 148
Registriert: 01.09.2009

EPLAN Electric P8 2.9
EPLAN Harness ProD 2.9

erstellt am: 11. Sep. 2024 16:50    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,

danke für Deine Antwort.

Ich stelle mir vor die Funktionalität mit dem Schreiben der Eigenschaft (Normblattname <11016> ) in meinem vorhandenen Script mit unterzubringen, damit alles in einem Arbeitsschritt ausgeführt bzw. geändert wird.

Wie gesagt, derzeit ist der Ablauf so: Projekt im Seitennavigator markieren --> Button für Script betätigen --> es werden Projekteigenschaften mit den gewünschten Adressdaten befüllt und das Normblatt (in den Projekteinstellungen!) passend eingestellt.

Nun fehlen mir lediglich die Seiten, die das Normblatt nicht über die Projekteinstellungen beziehen, sondern über die an der Seite eingestellte Eigenschaft (Normblattname <11016> ). Die betreffenden Seiten sind immer innerhalb der gleichen Struktur im Projekt und es sind auch die einzigen Seiten die die Eigenschaft (Normblattname <11016> ) überhaupt tragen.

Ich stelle mir vor das man die Seiten über einen der beiden Möglichkeiten (Struktur oder Eintrag in <11016> ) identifiziert und nur dort die <11016> passend schreibt.

Ich könnte jetzt mit Deinem Code weitermachen, doch das setzt dann einen weiteren Arbeitsschritt voraus: Seiten markieren & zweites Script ausführen. Ich hätte es gern, wie gesagt, in mein vorhandenes Script integriert.

Ich hoffe ich habe das verständlich dargestellt?

Falls es hilft kann ich das bisherige Script hier einstellen, aber es beinhaltet bislang nichts von der gewünschten Funktionalität. Lediglich der am Anfang des Beitrages beschriebene Ablauf ist dort enthalten.

Gruß André

------------------
*** Alles wird gut..! ***

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: 1884
Registriert: 23.04.2003

EPLAN Electric P8
2024 Prof.

erstellt am: 13. Sep. 2024 11:58    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 19andre79 10 Unities + Antwort hilfreich


SetPageFormplotmitSeitenfilter.cs.txt

 
Hallo,

meine Idee dazu wäre, dass Du dir einen Seitenfilter baust der deine Fluid-Struktur filtert. Per Skript nun diesen Filter aktivieren, in den Seiten-Eigenschaften das Normblatt einstellen und Filter wieder deaktivieren.
Das begefügte Skipt macht dieses, jedoch funktioniert es bei mir nicht zuverlässig, es kommt beim 2. Ausführen eine Fehlermeldung, bin da nun ratlos ob es ein Bug in EPLAN ist?
Vielleicht hilft es dir weiter, ich werde im Moment nicht mehr Zeit  investrieren.

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

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

19andre79
Mitglied
Elektrokonstrukteur


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

Beiträge: 148
Registriert: 01.09.2009

EPLAN Electric P8 2.9
EPLAN Harness ProD 2.9

erstellt am: 13. Sep. 2024 13:08    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 Deine Mühe und dem Beispielcode. Ich werde das einmal ausprobieren und sehen ob ich es für meine Zwecke verwenden kann.

Der Code funktioniert nur unter der Version 24?

Und nur nochmal für mein eigenes Verständnis, gibt es keinen Weg zu sagen "IF Seitenname = Seite in bestimmter Struktur, THEN schreibe Eigenschaft in <11016>?
Man muss also bei solchen Aktionen immer den Weg über eine Art Vorselektion über einen Seitenfilter oder ein händisches Markieren der Seiten im Seitennavigator gehen?

Nochmals vielen Dank und ein schönes Wochenende!


PS: Ich hab es mal unter der Version 2.9 laufen lassen, es funktioniert dort problemlos. 2024 habe ich nicht getestet.

------------------
*** Alles wird gut..! ***

[Diese Nachricht wurde von 19andre79 am 13. Sep. 2024 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: 1884
Registriert: 23.04.2003

EPLAN Electric P8
2024 Prof.

erstellt am: 13. Sep. 2024 14:03    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 19andre79 10 Unities + Antwort hilfreich

Man kann per Skript nicht einfach alle Seiten eines Projektes in einer Schleife durchlaufen, man kann nur die markierten Seiten in einer Schleife durchlaufen, dabei könnte man dann die Struktur auslesen und entsprechend eine Eigenschaft der Seite setzen, ich gehe aber davon aus das man dazu die Seite erst per Skipt öffnen muß bevor man eine Eigenschaft setzen kann. Dies wäre alles nicht so performant.

Wenn das Skipt in der 2.9 funktioniert, wäre meine Vermutung bestätigt das das in der 2024 fehlerhaft ist.

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

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

19andre79
Mitglied
Elektrokonstrukteur


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

Beiträge: 148
Registriert: 01.09.2009

EPLAN Electric P8 2.9
EPLAN Harness ProD 2.9

erstellt am: 13. Sep. 2024 15:53    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, nochmal kurz zum Abschluss. Ich habe Deinen Code in meinem vorhandenen Script mit aufgenommen und es läuft sowohl in der 2.9 als auch in der 2024 alles wie gewünscht.
Einen Unterschied kann ich nicht ausmachen, weil Du sagtest es könnte ein Fehler in der 2024 sein...

Das ich anfangs skeptisch war wegen dem Seitenfilter hat sich auch erledigt, man bekommt den Vorgang optisch nur wirklich mit, wenn man den Seitennavigator beobachtet. Das geht wirklich alles sehr schnell vonstatten.

Ich bin froh eine Lösung zu haben, komplett verstanden habe ich den Code noch nicht. Aber ich habe hier auch noch Lektüre zu dem Thema liegen, es fehlt nur leider immer die Zeit.

Nochmals vielen Dank und allen ein schönes Wochenende!

------------------
*** Alles wird gut..! ***

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: 1884
Registriert: 23.04.2003

EPLAN Electric P8
2024 Prof.

erstellt am: 16. Sep. 2024 09: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 19andre79 10 Unities + Antwort hilfreich

Schön das du nun eine Lösung für dich hast.
Am Wochenende ist mir noch die Idee gekommen das man das auch über "Externe Bearbeitung" hätte lösen können. Also Seiteneigenschaften über externe Bearbeitung in eine XML-Datei exportieren, die XML-Datei entsprechend bearbeiten und dann wieder importieren. Dies alles geht per Skript.

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

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

19andre79
Mitglied
Elektrokonstrukteur


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

Beiträge: 148
Registriert: 01.09.2009

EPLAN Electric P8 2.9
EPLAN Harness ProD 2.9

erstellt am: 17. Sep. 2024 06: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

Guten Morgen,
mir ist jetzt tatsächlich doch noch etwas aufgefallen.

Sowohl in V2.9 als auch in der 2024 wird nicht der im Script angegebene Seitenfilter verwendet, sondern immer der zuletzt verwendete Seitenfilter. Ist das nachvollziehbar?

------------------
*** Alles wird gut..! ***

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: 1884
Registriert: 23.04.2003

EPLAN Electric P8
2024 Prof.

erstellt am: 17. Sep. 2024 07:24    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 19andre79 10 Unities + Antwort hilfreich


XMActionDCCommonExportDataConfigurationXMLverandern.cs.txt

 
Guten Morgen,

ich hatte ja auch schon das Gefühl das dies nicht stabil funktioniert, beim mir kam dann die Fehlermeldung Filter xy nicht vorhanden oder so ähnlich.

Schau dir mal dieses Skript an, dort geht der Weg über Extern Bearbeiten, wie ich oben schon beschrieben hab. Dies sollte besser funktionieren,
Wichtig ! du mußt das Standard Schema "Seiteneigenschaften" hierfür um die Eigenschaft "Normblatt <11016>" erweitern.

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

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

19andre79
Mitglied
Elektrokonstrukteur


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

Beiträge: 148
Registriert: 01.09.2009

EPLAN Electric P8 2.9
EPLAN Harness ProD 2.9

erstellt am: 17. Sep. 2024 11: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

Hallo Frank,

vielen Dank für Deine Mühe! Ich habe eben damit experimentiert, das funktioniert soweit ich sehe ganz gut.

Kurze Frage: Kann man "CONFIGSCHEME" "Page properties" auf ein eigenes Schema abändern?

Und hier wird nur geschaut ob der String überhaupt enthalten ist: if (cell.Attribute("P11009").Value.Contains(sStruktur), das bedeutet, hier lässt sich grundsätzlich jedes identifizierende Merkmal der Seitenstruktur verwenden, richtig?

------------------
*** Alles wird gut..! ***

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: 1884
Registriert: 23.04.2003

EPLAN Electric P8
2024 Prof.

erstellt am: 17. Sep. 2024 13:13    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 19andre79 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von 19andre79:
Kann man "CONFIGSCHEME" "Page properties" auf ein eigenes Schema abändern?


Genau, statt Page properties kannst du dein eigenes Schema eintragen.

Zitat:
Original erstellt von 19andre79:
Und hier wird nur geschaut ob der String überhaupt enthalten ist: if (cell.Attribute("P11009").Value.Contains(sStruktur), das bedeutet, hier lässt sich grundsätzlich jedes identifizierende Merkmal der Seitenstruktur verwenden, richtig?


Ja genau.

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

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