Schemata (erzwungen) laden

Problemstellung

Regelmäßig wird nach der Projektbearbeitung vergessen auch noch die Fertigungsdaten oder Stücklisten neu auszuschreiben, oder es wird als „nerviges Übel“ empfunden und nur ungern gemacht. Manchmal gibt es auch Updates des Exportschemata und das Add-On zur Verteilung von Einstellungen etc. ist noch nicht bekannt oder wird schlicht nicht genutzt.

Problemlösung

Der Import des Schemata wurde schon behandelt, nun geht es an den Export. Über Label lassen sich alle Art von Fertigungsunterlagen und Listen ausschreiben, sofern diese nur vorher mal als Schemata angelegt wurden:

using Eplan.EplApi.ApplicationFramework;
using Eplan.EplApi.Scripting;

public class fertdataexport {
  [DeclareAction("loadscript")]
  public void stuecklistenExport() {
    string projektname = PathMap.SubstitutePath("$(PROJECTNAME)");
    //string jobpath;
    string schemeName   = "StuecklisteXYZ";
    string schemeFile   = "LB.StuecklisteXYZ.xml";
    string calcFileName = "StuecklisteXYZ_" + projektname + ".xlsm";
    
    // wenn nicht in der gleichen Klasse noch ein new Klassenname(). davor
    checkSchemeImport("USER.Labelling.Config", schemeFile, schemeName);
    
    // Artikel aktualisieren kann nochmal hilfreich sein
    new CommandLineInterpreter().Execute("XFgUpdateEvaluationAction");
    
    // Userfeadback : a Process is running
    Progress progress = new Progress("SimpleProgress");
    progress.SetAllowCancel(true);
    progress.SetAskOnCancel(true);
    progress.BeginPart(100, "Berechnung Verlustleistungen");
    progress.ShowImmediately();
    
    // Define Params for execute
    ActionCallingContext acc = new ActionCallingContext();
    acc.AddParameter("CONFIGSCHEME", schemeName); // Konfigurationsschema
    acc.AddParameter("LANGUAGE", "de_DE, en_US"); // Sprachen definieren
    acc.AddParameter("DESTINATIONFILE ", "$(PROJECTPATH)\\" + calcFileName) ); // Zieldatei
    acc.AddParameter("FILTERSCHEME", "");         // Filterschema (optional)
    acc.AddParameter("RECREPEAT", "1");           // Anzahl der Wiederholungen pro Etikett 
    acc.AddParameter("SORTSCHEME", "");           // Sortierungsschemata
    acc.AddParameter("PROJECTNAME", PathMap.SubstitutePath("$(P)"));

    new CommandLineInterpreter().Execute("label", acc);
    progress.EndPart(true);
    return;
  }
}

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert