Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  EPLAN Electric P8
  Projekt per Script kopieren

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:  Projekt per Script kopieren (3566 / mal gelesen)
fency
Mitglied
Eplan Konstrukteur


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

Beiträge: 185
Registriert: 15.07.2011

erstellt am: 22. Feb. 2016 16: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 Leute,

ich brauche mal wieder eure Hilfe.

Hat jemand ein Beispiel oder einen Denkanstoss für mich, wie ich ein Projekt per Script kopiere / erstelle?
Das Ausgangsprojekt ist immer das gleiche. Dieses möchte ich kopieren und ihm gleich den richtigen Namen geben.
Den Befehl "XPrjActionProjectCopy" habe ich gefunden, aber wie sieht es mit den Parametern dafür aus? Brauche ja zumindest Quelle, Ziel und wahrscheinlich auch den "Kopiermodus", also "mit Auswertung", usw.
Kann mir da einer weiterhelfen?
Eine Möglichkeit wäre natürlich, wenn ich den Ordner und die Verknüpfung auf Dateiebene kopiere, möchte ich aber eigentlich vermeiden.

Bin für jede Hilfe sehr dankbar.

beste Grüße

Florian

------------------
Eplan 5.70 Prof.
Eplan P8 2.0 Prof. (mit Optionstool)
Eplan P8 2.1 SP1 Prof. (mit Optionstool)

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

Sbg Markus
Mitglied



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

Beiträge: 516
Registriert: 24.11.2009

Eplan P8 2.7
Eplan P8 2.5
Eplan P8 2.3
Eplan P8 2.2
Eplan P8 2.0
Eplan 5.70.4.26200

erstellt am: 23. Feb. 2016 07:45    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 fency 10 Unities + Antwort hilfreich

Ich hab das mit einer BAT Datei gemacht.
In dieser Datei werden folgende Befehle abgearbeitet:

- Die Auftragsdaten ( Kunde, Lieferdatum, EVU, Kommission ) werden abgefragt

- Es wird eine XML Datei für die Projekteigenschaften erzeugt

- Das Basis Projekt wird kopiert, der Projektname = Auftragsnummer

- Die Projekteigenschaften importiert

- Über eine Abfrage werden, werden Seiten Makros ins Projekt eingelesen

- Die Stammdaten des Projektes werden aktualisiert.

------------------
---------------

mfg Markus

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

fency
Mitglied
Eplan Konstrukteur


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

Beiträge: 185
Registriert: 15.07.2011

erstellt am: 24. Feb. 2016 11: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

Danke für die Antwort Markus.
Sonst noch jemand Ideen?

------------------
Eplan 5.70 Prof.
Eplan P8 2.0 Prof. (mit Optionstool)
Eplan P8 2.1 SP1 Prof. (mit Optionstool)

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

Straight-Potter
Mitglied
Dipl.Ing. E-Technik


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

Beiträge: 601
Registriert: 14.07.2008

EPLAN Plattform 2.9 SP1
API
EEC Prof
EEC One

erstellt am: 24. Feb. 2016 14:06    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 fency 10 Unities + Antwort hilfreich

Das geht leider nicht per Scripting... Die Action die du gefunden hast ist eine Inoffizielle Action (ohne dokumentierte Parameter). Da diese Benutzerinteraktionen benötigt, kannst Du diese leider nicht per Script automatisieren.

Das ganze wäre was für die API
(Namespace Eplan::EplApi: ataModel::ProjectManager)

Straight-Potter

------------------
Wenn wir bedenken, dass wir alle verrückt
sind, ist das Leben erklärt.

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

Jonny Wire
Mitglied
Script-Troll


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

Beiträge: 786
Registriert: 08.12.2008

EPLAN Electric P8
... in allen Versionen/Varianten

erstellt am: 24. Feb. 2016 15:39    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 fency 10 Unities + Antwort hilfreich

Geht schon, habe das mal gemacht, wie folgt:
Projekt schließen
Code:
new CommandLineInterpreter().Execute("XPrjActionProjectClose");

Auf Dateiebene kopieren

Code:
private static void Copy(string pathSourceElk, string pathDestinationElk, string pathSourceEdb,
    string pathDestinationEdb)
{
    // elk
    File.Copy(pathSourceElk, pathDestinationElk, true);

    // edb
    foreach (string directory in Directory.GetDirectories(pathSourceEdb, "*",
        SearchOption.AllDirectories))
    {
        Directory.CreateDirectory(directory.Replace(pathSourceEdb, pathDestinationEdb));
    }
    foreach (string file in Directory.GetFiles(pathSourceEdb, "*.*",
        SearchOption.AllDirectories))
    {
        File.Copy(file, file.Replace(pathSourceEdb, pathDestinationEdb), true);
    }
}


Pfad in elk Datei setzen

Code:
private static void ChangePathInElkFile(string pathDestinationElk, string pathDestinationEdb)
{
    var lines = File.ReadAllLines(pathDestinationElk);
    lines[0] = Path.GetFileName(pathDestinationEdb); // Crazy naming, but working
    File.WriteAllLines(pathDestinationElk, lines, Encoding.Unicode);
}

Projekt öffnen

Code:
ActionCallingContext actionCallingContext = new ActionCallingContext();
actionCallingContext.AddParameter("Project", pathDestinationElk);
new CommandLineInterpreter().Execute("ProjectOpen", actionCallingContext);

------------------
Scripting in EPLAN ist einfach (toll)!

Scripte & Anwendungen rund um EPLAN!

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

fency
Mitglied
Eplan Konstrukteur


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

Beiträge: 185
Registriert: 15.07.2011

erstellt am: 24. Feb. 2016 16:42    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

Danke Jonny für die Antwort,

werde das mal ausprobieren.

------------------
Eplan 5.70 Prof.
Eplan P8 2.0 Prof. (mit Optionstool)
Eplan P8 2.1 SP1 Prof. (mit Optionstool)

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: 25. Feb. 2016 07: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 fency 10 Unities + Antwort hilfreich

Hallo,

um welche Eplan Version geht es hier?
Wenn wirklich nur 2.1 dann bleibt dir wohl nur kopieren auf Dateiebene, Jonny hat das ja schon sehr schön gezeigt.
Wenn 2.4 oder höher dann gibt es einen neuen noch nicht richtig dokumentierten Befehl: 

Code:

projectmanagement /TYPE:CREATESNAPSHOTCOPY /PROJECTNAME:\"{0}\" /FILENAME:\"{1}\"


Von mir wurde dieser Befehl bisher noch nicht eingesetzt, daher erstmal gründlich testen!

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

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

fency
Mitglied
Eplan Konstrukteur


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

Beiträge: 185
Registriert: 15.07.2011

erstellt am: 27. Feb. 2016 14: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

Es geht um Version 2.5.
Wie genau könnte der Befehl aussehen?
wo gebe ich ihm das zu kopierende Projekt an und wo den Dateinpfad + Name für das neue Projekt?
Danke für eure Hilfe

mfg

Florian

------------------
Eplan 5.70 Prof.
Eplan P8 2.0 Prof. (mit Optionstool)
Eplan P8 2.1 SP1 Prof. (mit Optionstool)

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

Jonny Wire
Mitglied
Script-Troll


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

Beiträge: 786
Registriert: 08.12.2008

EPLAN Electric P8
... in allen Versionen/Varianten

erstellt am: 29. Feb. 2016 07: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 Nur für fency 10 Unities + Antwort hilfreich

Habe das mal hier http://suplanus.de/action-projectmanagement-parameter/ dokumentiert.

Habe EPLAN auch schon Bescheid gegeben dass es in der normalen P8 Hilfe fehlt.

------------------
Scripting in EPLAN ist einfach (toll)!

Scripte & Anwendungen rund um EPLAN!

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

fency
Mitglied
Eplan Konstrukteur


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

Beiträge: 185
Registriert: 15.07.2011

erstellt am: 02. Mrz. 2016 16: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

Hallo Jonny,

Wie immer ist auf dich verlass.
Hat super funktioniert.
Ich hab das mal schnell geschrieben, können ja sicher auch andere brauchen.
Ich kopiere dabei ein Projekt, öffne es dann und werte dann noch die Auswertungsvorlagen aus.
Kannst es natürlich gerne so noch in deinem Blog posten.

           

Code:
            //Projekt kopieren
            CommandLineInterpreter oCLY = new CommandLineInterpreter();
            ActionCallingContext acy = new ActionCallingContext();
            acy.AddParameter("TYPE", "CREATESNAPSHOTCOPY");
            acy.AddParameter("PROJECTNAME", EplanOriginal); // "EplanOriginal" ist mein string mit dem Dateipfad des zu kopierenden Eplan
            acy.AddParameter("FILENAME", EplanNewProject2015);// "EplanNewProject2015" ist mein string mit dem Dateipfad des zu erstellenden Eplan
            oCLY.Execute("projectmanagement", acy);
            //Projekt öffnen -> öffnet das neue Projekt
            CommandLineInterpreter oCLZ = new CommandLineInterpreter();
            ActionCallingContext acz = new ActionCallingContext();
            acz.AddParameter("PROJECT", EplanNewProject2015);
            oCLZ.Execute("XPrjActionProjectOpen", acz);
            //Auswertungen: -> hier wird das neue Projekt ausgewertet
            CommandLineInterpreter oCLA = new CommandLineInterpreter();
            oCLA.Execute("XFgEvaluateProjectAction");

------------------
Eplan 5.70 Prof.
Eplan P8 2.0 Prof. (mit Optionstool)
Eplan P8 2.1 SP1 Prof. (mit Optionstool)

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