| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für EPLAN |
| |
 | Eplan und Rittal zeigen Effizienztreiber für mehr Wertschöpfung , eine Pressemitteilung
|
Autor
|
Thema: Script-dxf-Export-Zip (2084 / mal gelesen)
|
A.Robert Mitglied staatl. gepr. Techniker
 
 Beiträge: 479 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: 2295 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: 479 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: 811 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: 811 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: 479 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: 1924 Registriert: 23.04.2003 EPLAN Electric P8 2025 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: 479 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 |

| Werkstudent*in Montagetechnologien Integration Vision Systems | Life is always about becoming? Im Leben geht es darum, sich auf eine Reise zu begeben, um die beste Version unseres zukünftigen Selbst zu werden. Während wir Neues entdecken, stellen wir uns Herausforderungen, meistern sie und wachsen über uns hinaus.
Bewerben Sie sich bei Mercedes-Benz und finden Sie den Aufgabenbereich, in dem Sie Ihre Talente individuell entfalten können. Dabei werden Sie von visionären Kolleginnen und Kollegen unterstützt, die Ihren Pioniergeist teilen.... | Anzeige ansehen | Studentenjobs, Werkstudent |
|
F.S. Moderator
    
 Beiträge: 1924 Registriert: 23.04.2003 EPLAN Electric P8 2025 Prof.
|
erstellt am: 08. Nov. 2017 11:27 <-- editieren / zitieren --> Unities abgeben:          Nur für A.Robert
|