Nach der Erzeugung von P8-Projekten kann optional die Ausführung eines C#-Skripts in P8 angestoßen werden.
Um ein Skript auszuführen, muss ein Parameter mit dem absoluten Pfad zum C#-Skript vorhanden sein. Der Pfad ist mit doppelten Backslashes anzugeben, beispielsweise =c:\\scripts\\ecad\\myP8Script.cs.
Optional kann ein weiterer Parameter angegeben werden, der eine Map mit den Argumenten enthält, welche beim Aufruf an das C#-Skript übergeben werden.
Die Projektkomponente vom Typ WiringDiagram muss diese Parameter enthalten.
Die Namen dieser Parameter sind standardmäßig Script und ScriptArguments. Davon abweichende Namen sind in den Modellvariablen einzutragen.
Das C#-Skript für EPLAN Electric P8 muss eine Methode enthalten, die mit dem Attribut [Start] gekennzeichnet ist. Der Name der Methode kann beliebig sein.
Für die Argumente der Start-Methode werden derzeit die Datentypen string und int unterstützt. Die Reihenfolge der Argumente muss nicht beachtet werden, da die Zuordnung über die Parameternamen erfolgt.
using System.Text;
using System.Xml;
using System.IO;
using System.Windows.Forms;
using Eplan.EplApi.Scripting;
using Eplan.EplApi.ApplicationFramework;
using Eplan.EplApi.Base;
public class Script
{
static int nActionsPercent = 100;
static int nActions = 7;
[Start]
public void Function(
string ProjectName,
//pdf
string PDFActive, string PDF_ExportPathPDF, string PDF_BlackWhite, string PDF_UseZoom, string PDF_Language, string PDF_3D_Modelview
)
...
}
Erläuterung:
Um dieses Skript ausführen zu können, ist der Name des C#-Skripts als Parameterwert für den EEC-Parameter Script anzugeben. Außerdem werden Werte für die C#-Skript-Parameter PDFActive, PDF_ExportPathPDF, PDF_BlackWhite, PDF_UseZoom, PDF_Language und PDF_3D_Modelview erwartet.
Die erwarteten Werte werden mit Hilfe des EEC-Parameters ScriptArguments als Map übergeben:
=Map
{
Pair{'PDFActive', 'true'},
Pair{'PDF_ExportPathPDF', '=c:\\TEMP'},
Pair{'PDF_BlackWhite', 'false'},
Pair{'PDF_UseZoom', 'false'},
Pair{'PDF_Language', 'de_DE'},
Pair{'PDF_3D_Modelview', 'false'}
}
In einem C#-Skript kann optional der Parameter refreshFS angegeben werden. Ist der Wert des Parameters true, wird nach Ausführung des Skripts das interne EEC-Dateisystem synchronisiert.
Siehe auch:
Mehr: