| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für EPLAN |
Autor
|
Thema: Script-dxf-Export-Zip (1848 / mal gelesen)
|
A.Robert Mitglied staatl. gepr. Techniker
Beiträge: 441 Registriert: 09.03.2015 EPLAN Electric P8 - Select Version: 2.6 HF4 2.8 HF4 / SQL 2.9 SP1 Update 14 / ProPanel
|
erstellt am: 07. Nov. 2017 13:30 <-- editieren / zitieren --> Unities abgeben:
Tach zusammen ich muss auf Wunsch unseren Kunden die automatische-Schaltplangenerierung (Script) erweitern. Benötigt werden jetzt nicht nur die pdf-Dateien, sondern auch eine dxf/dwg-Datei habe dazu etwas experimentiert, in einem Test-Projekt:
Code: using System.Windows.Forms; using Eplan.EplApi.Scripting; using Eplan.EplApi.ApplicationFramework; using Eplan.EplApi.Base; using System; using System.IO; using System.IO.Compression; public class TEST_PROJECT { [Start] public void Function() { //dxf-dwg Export
#region DXF-Export + Zip-File CommandLineInterpreter oCLI1 = new CommandLineInterpreter(); ActionCallingContext dxfContext = new ActionCallingContext(); dxfContext.AddParameter("TYPE", "DXFDWGPROJECTSCHEME"); dxfContext.AddParameter("EXPORTSCHEME", "DXF_CustomerDocumentary-Filter"); oCLI1.Execute("export", dxfContext);
bis hierhin kein Problem Code:
string startPath = @"Pfad"; string zipPath = @"Pfad\Ausgabe.zip"; ZipFile.CreateFromDirectory(startPath, zipPath); #endregion }
ab hier kommt die Fehlermeldung => Was möchte Eplan hier von mir? ------------------ Gruß Robert
[Diese Nachricht wurde von A.Robert am 07. Nov. 2017 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cad_hans Ehrenmitglied V.I.P. h.c. Techn. Angestellter
Beiträge: 2052 Registriert: 25.08.2003 ruplan4.70 eplan5.x P8 V1.9 bis V2.7
|
erstellt am: 07. Nov. 2017 13:53 <-- editieren / zitieren --> Unities abgeben: Nur für A.Robert
|
A.Robert Mitglied staatl. gepr. Techniker
Beiträge: 441 Registriert: 09.03.2015 EPLAN Electric P8 - Select Version: 2.6 HF4 2.8 HF4 / SQL 2.9 SP1 Update 14 / ProPanel
|
erstellt am: 07. Nov. 2017 13:59 <-- editieren / zitieren --> Unities abgeben:
|
Jonny Wire Mitglied Script-Troll
Beiträge: 786 Registriert: 08.12.2008 EPLAN Electric P8 ... in allen Versionen/Varianten
|
erstellt am: 07. Nov. 2017 16:39 <-- editieren / zitieren --> Unities abgeben: Nur für A.Robert
|
Jonny Wire Mitglied Script-Troll
Beiträge: 786 Registriert: 08.12.2008 EPLAN Electric P8 ... in allen Versionen/Varianten
|
erstellt am: 08. Nov. 2017 07:28 <-- editieren / zitieren --> Unities abgeben: Nur für A.Robert
|
A.Robert Mitglied staatl. gepr. Techniker
Beiträge: 441 Registriert: 09.03.2015 EPLAN Electric P8 - Select Version: 2.6 HF4 2.8 HF4 / SQL 2.9 SP1 Update 14 / ProPanel
|
erstellt am: 08. Nov. 2017 08:34 <-- editieren / zitieren --> Unities abgeben:
Hallo Jonny und Danke für die Antwort ich habe mir 7Zip geladen und über cmd ausprobiert (7z a -tzip archive.zip @listfile.txt, scheint zu laufen. Wie arbeitest du damit? bindest du die dll ein oder über commandline? Hättest du vielleicht ein kleines Beispiel?
------------------ Gruß Robert Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
F.S. Moderator
Beiträge: 1815 Registriert: 23.04.2003 EPLAN Electric P8 2023 Prof.
|
erstellt am: 08. Nov. 2017 09:17 <-- editieren / zitieren --> Unities abgeben: Nur für A.Robert
Ich verwende auch 7zip. ein kleines Beispiel:
Code:
//Ordner in ZIP-Datei packen public void ZIPFolder(string strSource, string strTarget) { Process objProcess = new Process(); string sExitCode; //Odnerinhalt zippen objProcess.StartInfo.FileName = PathMap.SubstitutePath("$(MD_SCRIPTS)") + @"\7za.exe"; objProcess.StartInfo.Arguments = "a \"" + strTarget + "\" \"" + strSource + "\""; objProcess.StartInfo.WindowStyle = ProcessWindowStyle.Minimized; objProcess.Start(); //Warten, bis der Prozess eine ExitCode zurückgibt objProcess.WaitForExit(); //der Exitcode als String sExitCode = objProcess.ExitCode.ToString(); switch (sExitCode) { case "0": //MessageBox.Show("ZIP-Datei wurde erstellt.", "7z, Meldung", MessageBoxButtons.OK, MessageBoxIcon.Information); break; case "1": MessageBox.Show("Warning (Non fatal error(s)). For example, one or more files were locked by some other application, so they were not compressed.", "7z, Meldung", MessageBoxButtons.OK, MessageBoxIcon.Warning); break; case "2": MessageBox.Show("Fatal error", "7z, Meldung", MessageBoxButtons.OK, MessageBoxIcon.Error); break; case "7": MessageBox.Show("Command line error", "7z, Meldung", MessageBoxButtons.OK, MessageBoxIcon.Error); break; case "8": MessageBox.Show("Not enough memory for operation", "7z, Meldung", MessageBoxButtons.OK, MessageBoxIcon.Error); break; case "255": MessageBox.Show("User stopped the process", "7z, Meldung", MessageBoxButtons.OK, MessageBoxIcon.Information); break; } objProcess.Close(); return; }
------------------ grüße FrankS Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
A.Robert Mitglied staatl. gepr. Techniker
Beiträge: 441 Registriert: 09.03.2015 EPLAN Electric P8 - Select Version: 2.6 HF4 2.8 HF4 / SQL 2.9 SP1 Update 14 / ProPanel
|
erstellt am: 08. Nov. 2017 10:59 <-- editieren / zitieren --> Unities abgeben:
Mega Frank! Dankeschön Für die Leser, die den Beitrag in Zukunft durch die Suche finden werden: durch: Code:
objProcess.StartInfo.Arguments = "a \"" + strTarget + "\" \"" + strSource + "\"";
wird eine .7z erstellt durch:
Code:
objProcess.StartInfo.Arguments = "a -tzip \"" + strTarget + "\" \"" + strSource + "\"";
wird eine .zip erstellt EDIT: 10Ü sind sowas von für beide drin ------------------ Gruß Robert [Diese Nachricht wurde von A.Robert am 08. Nov. 2017 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
F.S. Moderator
Beiträge: 1815 Registriert: 23.04.2003 EPLAN Electric P8 2023 Prof.
|
erstellt am: 08. Nov. 2017 11:27 <-- editieren / zitieren --> Unities abgeben: Nur für A.Robert
|