X

Eplan Electric P8: Eine Liste von Vorlagen für EPLAN-Aktionen

Zusätzlich zur Beispieldatei der EplanActions.cs1, sammle ich in diesem Beitrag Kopiervorlagen für die verschiedensten EPLAN-Aktionen. Damit soll es für dich noch einfacher werden, deine eigene Kommandozeile für Eplan Electric P8 zusammenzustellen.

Immer up to date: Aboniere den RSS-Feed und werde automatisch über neue Artikel informiert.

Zuletzt aktualisiert am 24.04.2018.

Anleitung zur Verwendung der Vorlagen

Die jeweiligen Code-Schnipsel braucht ihr von hier nur in eure eigene EplanActions.cs zu kopieren. Und zwar unterhalb des [Sart]-Tags:

using System.Windows.Forms;
using Eplan.EplApi.Scripting;

public class Class
{

  CommandLineInterpreter oCLI = new CommandLineInterpreter();

  [Start]
  //  Ab hier Code-Schnipsel einfügen:

}

Die Reihenfolge ist dabei egal. Außerdem könnt ihr die Namen der Aktionen und deren Mnemonics nach euren eigenen Vorstellungen vergeben2:

[DeclareAction("NAME-DER-AKTION")]
public void MNEMONIC()
{
  ...
  return;
}

Eplan Electric P8 automatisieren: weiterführende Informationen

Der Beitrag Kommandozeile für Eplan Electric P8 erklärt, was eine Kommandozeile bzw. Befehlszeile ist, welche Vorteile sie für euch bietet und wie ihr sie für Eplan Electric P8 einrichtet.

Ausführliche Informationen zu den EPLAN-Aktionen bekommt ihr auf der Seite Übersicht der EPLAN-Aktionen der Online-Hilfe von Eplan, sowie in einem Tutorial zum Anpassen von Symbolleisten von Johann Weiher auf suplanus.de.

Vorlagen der EPLAN-Aktionen

Einstellungen setzen

Modus „Eigenschaften (übergreifend)“ toggeln

//
//  Modus "Eigenschaften (übergreifend)" toggeln
//
[DeclareAction("oom")]
public void ooMode()
{
  oCLI.Execute("XDTGUIToggleObjectorientedModeAction");
  return;
}

Anzeigesprache wechseln

//
//  Anzeigesprache wechseln -- de_DE
//
[DeclareAction("de")]
public void set_lang_de()
{
  oCLI.Execute("ChangeLanguage /dispLANGUAGE:de_DE; /varLANGUAGE:de_DE");
  return;
}

Einstellungen für Artikelplatzierung (2D-Aufbau)

//
//  Artikelplatzierung Montageplatte: Vorlage
//
[DeclareAction("NAME-DER-AKTION")]
public void MNEMONIC()
{
  //  Bestückungsrichtung:
  //oCLI.Execute("SetPlacementDirection /direction:Horizontal");              // Bestückungsrichtung
  //oCLI.Execute("SetPlacementDirection /direction:Vertical");                // Bestückungsrichtung
                                                                              
  //  Drehwinkel:                                                             
  //oCLI.Execute("SetRotationAngle /angle:0");                                // Drehwinkel
  //oCLI.Execute("SetRotationAngle /angle:90");                               // Drehwinkel
  //oCLI.Execute("SetRotationAngle /angle:180");                              // Drehwinkel
  //oCLI.Execute("SetRotationAngle /angle:270");                              // Drehwinkel
                                                                              
  //  Anfasspunkt:                                                            
  //oCLI.Execute("SetGripperPosition /position:UpperLeft");                   // Anfasspunkt (Lage)
  //oCLI.Execute("SetGripperPosition /position:UpperCenter");                 // Anfasspunkt (Lage)
  //oCLI.Execute("SetGripperPosition /position:UpperRight");                  // Anfasspunkt (Lage)
  //oCLI.Execute("SetGripperPosition /position:CenterLeft");                  // Anfasspunkt (Lage)
  //oCLI.Execute("SetGripperPosition /position:Center");                      // Anfasspunkt (Lage)
  //oCLI.Execute("SetGripperPosition /position:CenterRight");                 // Anfasspunkt (Lage)
  //oCLI.Execute("SetGripperPosition /position:LowerLeft");                   // Anfasspunkt (Lage)
  //oCLI.Execute("SetGripperPosition /position:LowerCenter");                 // Anfasspunkt (Lage)
  //oCLI.Execute("SetGripperPosition /position:LowerRight");                  // Anfasspunkt (Lage)
                                                                              
  //oCLI.Execute("SetGripperFromMacro /from_Macro:yes");                      // Anfasspunkt (aus Makro)
  //oCLI.Execute("SetGripperFromMacro /from_Macro:no");                       // Anfasspunkt (aus Makro)

  //  Übernahme:
  //oCLI.Execute("SetDataOvertaking /data_from:SizeFromArticle");             // Übernahme
  //oCLI.Execute("SetDataOvertaking /data_from:MacroAndSizeFromArticle");     // Übernahme
  //oCLI.Execute("SetDataOvertaking /data_from:MacroFromArticle");            // Übernahme
  //oCLI.Execute("SetDataOvertaking /data_from:ManualInput");                 // Übernahme
  //oCLI.Execute("SetDataOvertaking /data_from:ManualInputMacroFromArticle"); // Übernahme

  return;
}
//
//  Artikelplatzierung Montageplatte: Waagrecht (Standard):
//
[DeclareAction("mpw")]
public void mpw()
{
  oCLI.Execute("SetPlacementDirection /direction:Horizontal");   // Bestückungsrichtung
  oCLI.Execute("SetRotationAngle /angle:0");                     // Drehwinkel
  oCLI.Execute("SetGripperPosition /position:CenterLeft");       // Anfasspunkt (Lage)
  oCLI.Execute("SetGripperFromMacro /from_Macro:yes");           // Anfasspunkt (aus Makro)
  oCLI.Execute("SetDataOvertaking /data_from:MacroFromArticle"); // Übernahme
  return;
}
//
//  Artikelplatzierung Montageplatte: Senkrecht (Standard):
//
[DeclareAction("mps")]
public void mps()
{
  oCLI.Execute("SetPlacementDirection /direction:Vertical");     // Bestückungsrichtung
  oCLI.Execute("SetRotationAngle /angle:90");                   // Drehwinkel
  oCLI.Execute("SetGripperPosition /position:CenterLeft");       // Anfasspunkt (Lage)
  oCLI.Execute("SetGripperFromMacro /from_Macro:yes");           // Anfasspunkt (aus Makro)
  oCLI.Execute("SetDataOvertaking /data_from:MacroFromArticle"); // Übernahme
  return;
}

Makro einfügen

Diese Aktion ist besonders stark in Kombination mit Platzhalterobjekten und passenden Wertesätzen!

//
//  Makro einfügen
//
[DeclareAction("NAME-DER-AKTION")]
public void MNEMONIC()
{
  oCLI.Execute("XGedStartInteractionAction /Name:XMIaInsertMacro /filename:Fragmente/F_Text_Kommentar.ema /variant:0");
  return;
}

Aktionen anstoßen

Artikel: Aktuelles Projekt aktualisieren

Nachdem der Artikelstamm geändert wurde, werden mit diesem Befehl die neuen Artikeldaten im Projekt verfügbar gemacht (siehe auch Aktion Artikelverwaltung öffnen).

//
//  Artikel des aktuelles Projekt aktualisieren (nach Änderungen am Artikelstamm):
//
[DeclareAction("ptrf")]
public void start_updateProjectParts()
{
  oCLI.Execute("XPameSynchronizeUpdateProject");
  return;
}

Kabelbaumdaten exportieren (Harness)

//
//  Kabelbaumdaten exportieren
//
[DeclareAction("cabx")]
public void cabTreeExport()
{
  oCLI.Execute("XHExportAction");
  return;
}

Projekt auswerten und Seiten nummerieren

//
//  Projekt auswerten
//
[DeclareAction("ev")]
public void eval_project()
{
  oCLI.Execute("XFgEvaluateProjectAction"); //  Projekt auswerten
  oCLI.Execute("XPageNumberingDialog");     //  Seiten nummerieren (Dialog)
  return;
}

Auswertungen aktualisieren

//
//  Auswertung aktualisieren
//
[DeclareAction("evr")]
public void cmd_evrefresh()
{
  oCLI.Execute("XFgUpdateEvaluationAction");
  return;
}

Arbeitsbereich umschalten

//
//  Arbeitsbereich umschalten
//
[DeclareAction("1")]
public void wslp()
{
  oCLI.Execute("OpenWorkspaceAction /Workspacename:_A-SLP");
  return;
}

Projekt als PDF ausgeben

//
//  Projekt als PDF ausgeben
//
[DeclareAction("pdf")]
public void pdf_export()
{
  oCLI.Execute("XPdfExportAction");
  return;
}

Verbindungen aktualisieren

//
//  Verbindungen aktualisieren
//
[DeclareAction("vba")]
public void generateConnections()
{
  oCLI.Execute("EsGenerateConnections");
  return;
}

Dialoge

Artikelverwaltung öffnen

//
//  Artikelverwaltung öffnen
//
[DeclareAction("pt")]
public void start_parts_management()
{
  oCLI.Execute("XPartsManagementStart");
  return;
}

Mit der Aktion Artikel: Aktuelles Projekt aktualisieren werden die geänderten Artikeldaten im Projekt verfügbar gemacht.

Projekt öffnen / schließen

//
//  Dialog: Projekt öffnen
//
[DeclareAction("op")]
public void open_dialog_project()
{
  oCLI.Execute("XPrjActionProjectOpen");
  return;
}

//
//  Projekt schliessen (kein Dialog, passt hier aber)
//
[DeclareAction("cp")]
public void close_dialog_project()
{
  oCLI.Execute("XPrjActionProjectClose");
  return;
}

Projekt sichern

//
//  Dialog: Projekt sichern
//
[DeclareAction("bak")]
public void backup_project()
{
  oCLI.Execute("BackupProjectDialogShow");
  return;
}

Prüflauf ausführen

//
//  Dialog: Prüflauf ausführen
//
[DeclareAction("ver")]
public void verifyProject()
{
  oCLI.Execute("XMsgActionStartVerification");
  return;
}

Beschriftung ausgeben

//
//  Dialog: Beschriftung ausgeben
//
[DeclareAction("lbl")]
public void start_labeling()
{
  oCLI.Execute("XLbLabelingStart");
  return;
}

Einstellungen-Dialog

//
//  Dialog: Einstellungen
//
[DeclareAction("cfg")]
public void start_config()
{
  oCLI.Execute("XEsSettingsMasterDlgAction");
  return;
}

EPLAN 5-Assistent für die Projektübernahme

Mit Version 2.7 von Eplan Electric P8 wurde die Möglichkeit der Datenübernahme von Eplan5 / Eplan21 ersatzlos gestrichen. Mit dieser Aktion könnt ihr den Übernahmedialog trotzdem noch aufrufen (zumindest bis zur Version 2.7). Zusätzliche Informationen findet ihr auch im Beitrag Datenübernahme von Eplan5 / Eplan21 eingestellt.

//
//  Dialog: EPLAN 5-Assistent für die Projektübernahme
//
[DeclareAction("e5p")]
public void start_e5ImpProj()
{
  oCLI.Execute("E5ExfProjectImportAction");
  return;
}

Seitenfilter: Detaillierte Auswahl (im Seitennavigator)

Hinweis: Diese Aktion funktioniert nur, wenn der Fokus im Seitennavigator liegt. Das heißt: eine Seite oder ein Kennzeichen muss markiert sein.
//
//  Dialog: Detaillierte Auswahl (im Seitennavigator)
//
[DeclareAction("pf")]
public void start_pageFilter()
{
  oCLI.Execute("PageBrowserGuiIGfWindPageSpecialFilter");
  return;
}

Strukturkennzeichenverwaltung öffnen

//
//  Dialog: Strukturkennzeichenverwaltung öffnen
//
[DeclareAction("rkz")]
public void start_XPLEditorStart()
{
  oCLI.Execute("XPLEditorStart");
  return;
}

Befehle

Spiegeln

//
//  Spiegeln
//
[DeclareAction("sp")]
public void cmd_mirror()
{
  oCLI.Execute("XGedStartInteractionAction2D /Name:XGedIaMirror /Cursor:MIRROR");
  return;
}

Skalieren

//
//  Skalieren (ACAD: VARIA)
//
[DeclareAction("var")]
public void cmd_scale()
{
  oCLI.Execute("XGedStartInteractionAction2D /Name:XGedIaScale");
  return;
}

Abschneiden

//
//  Abschneiden (ACAD: Stutzen)
//
[DeclareAction("su")]
public void cmd_cutOff()
{
  oCLI.Execute("XGedStartInteractionAction2D /Name:XGedIaEditCutOff /Cursor:CUTOFF");
  return;
}

Fußnoten

  1. Siehe Kommandozeile zum Nachrüsten (für Eplan Electric P8) im Download-Bereich.
  2. Im Rahmen der Regeln zur Namensgebung von Variablen und Funktionen in C#. Mnemonic und Actionname dürfen nur einmal vorkommen. Meine Empfehlung für Mnemonics: 1-4 Kleinbuchstaben. Keine Ziffern an erster Stelle und Sonderzeichen bzw. Umlaute vermeiden.
Gerald Mayer: Konstrukteur seit 2000, mit den Tätigkeitsschwerpunkten: Konstruktion von Schaltschränken für Umwelttechnikanlagen, Administration von EPLAN, Stammdatenpflege, dem optimieren bzw. automatisieren von Standardabläufen (Scripting, VBA, ...), technische Redaktion, Maschinenüberprüfungen, und vielem mehr.