EPLAN-Scripts

Pfadvariablen Update 2.6

Es sind wieder neue Pfadvariablen dazugekommen, Ihr findet findet die Daten hier:

EPLAN_Pfadvariablen

 

Neuerungen

  • $(EPLAN_EXECUTABLE): Pfad zur EPLAN.exe
  • $(EPLAN_VARIANT): Name der gestarteten Produktvariante
  • $(EPLAN_VERSION): Versionsnummer
  • $(EPLAN_VERSION_SHORT): Hauptversionsnummer
  • $(RIGHTS_DB_PATH): Pfad zur Rechtedatenbank
Von |2019-04-10T10:19:25+02:002016-04-14|EPLAN, EPLAN-Scripts|

EPLAN 2.6: Scripting Neuerungen

Die Betaversion für EPLAN 2.6 ist nun verfügbar und ich schreibe hier mal was ich bzgl. Scripting aus den News und der Hilfe lesen konnte.

Die Actions CreateTopologyFunctions und RouteTopology wurden in die Action Topology verschoben.

 

Folgende Actions sind nun (offiziell) hinzugekommen:

Action

Beschreibung

GenerateMacros

Erzeugt Makros aus einem Projekt.

SwitchProjectType

Schaltet die Eigenschaft “Art des Projekts” um.

Topology

Verlegt Topologie-Verbindungen oder erzeugt Topologie-Funktionen.

XEsUserPropertiesExportAction

Exportiert benutzerdefinierte Eigenschaften in eine Datei.

XEsUserPropertiesImportAction

Importiert benutzerdefinierte Eigenschaften aus einer Datei.

XPamsDeviceSelectionAction

Führt eine Geräteauswahl durch oder aktualisiert Gerätedaten.

XPrjActionUpgradeProjects

Aktualisiert ein oder mehrere Projekte auf das aktuelle Datenbankschema.

XSettingsExport

Exportiert Benutzer-, Stations- oder Firmeneinstellungen.

 

Die Action projectmanagement wurde erweitert um folgende Funktionen:

Projekt Korrigieren

/TYPE:CORRECTPROJECTITEMS
/SCHEME:"My scheme"

 

Projekt reorganisieren

/TYPE:REORGANIZE
/EXTENDEDMODE:1
Von |2018-12-11T08:08:35+01:002016-04-06|EPLAN, EPLAN-Scripts|

Aufrufparameter Sprache

Wenn man wie ich EPLAN in Deutsch und Englisch lizensiert hat, möchte man die Variante jeweils schnell starten.

Das geht über den Aufrufparameter /Language :

"C:\Program Files\EPLAN\Platform\2.5.4\Bin\Eplan.exe" /Variant:"Electric P8" /Language:en_US

Wichtig: Die Einstellung für Dialogsprache wird nicht verändert, was schlimm ist wenn man wie ich die Dialogsprache per Script ermitteln will.

2016-03-01_14-12-18

Naja, aber wir haben ja die Möglichkeit es manuell zu setzen:

"C:\Program Files\EPLAN\Platform\2.5.4\Bin\Eplan.exe" /Variant:"Electric P8" /Language:en_US XAfActionSetting /set:"USER.SYSTEM.GUI.LANGUAGE" /value:"en_US" /index:0

Ich habe mir einfach eine weitere Verknüpfung ins Startmenü gemacht :^)

2016-03-01_14-21-16

Von |2017-11-09T11:22:15+01:002016-03-01|EPLAN, EPLAN-Scripts|

Action: projectmanagement Parameter

Ach… das mit der Dokumentation der Actions ist bei EPLAN immer so eine Sache.

In der API Dokumentation steht es drin, in der EPLAN Hilfe nicht.

Die Aktion projectmanagement  hat mehrere Parameter (ab EPLAN 2.4). Praktisch ist hier das kopieren eines Projektes:

projectmanagement /TYPE:CREATESNAPSHOTCOPY /FILENAME:"C:\Test\Copy.elk"

Dadurch wird das aktuelle Projekt unter neuem Pfad gespeichert. Hier kann auch noch /PROJECTNAME  angegeben werden um ein bestimmtes Projekt zu “sichern”.

Es gibt auch noch die Typen /PUBLISHTODISK  und /PUBLISHTOEMAIL  hier kann man auch noch ein /SCHEME  mit angeben.

Von |2017-11-09T11:22:15+01:002016-02-26|EPLAN, EPLAN-Scripts|

EPLAN RemoteClient

Ich hatte ja schon erklärt wie man EPLAN per COM-Schnittstelle ansprechen kann.

Nachteil: Bei 32/64bit gewinnt der Server der als erstes gestartet wurde.
Aber es gibt einen Weg mit dem man sogar die Version auswählen kann (wenn z.B. mehrere EPLAN Versionen installiert bzw. geöffnet sind).

Diese Schnittstelle ist nicht offiziell dokumentiert!

 

Ihr müsst eine Referenz auf die DLL Eplan.EplApi.RemoteClientu.dll machen, welche sich im Installationsverzeichnis von EPLAN befindet, z.B.:

C:\Program Files\EPLAN\Platform\2.5.4\Bin\

 

Hier ein Beispiel wie man die aktuellen EPLAN Versionen erhält und bei der aktuellsten das Projekt schließt:

EplanRemoteClient eplanRemoteClient = new EplanRemoteClient();
List eplanServerDatas = new List();
eplanRemoteClient.GetActiveEplanServersOnLocalMachine(out eplanServerDatas);
if (eplanServerDatas.Count > 0)
{
	var eplanServerDataLast = eplanServerDatas.OrderBy(obj=>obj.EplanVersion).LastOrDefault();
	if (eplanServerDataLast != null)
	{
		eplanRemoteClient.Connect("localhost", eplanServerDataLast.ServerPort.ToString(),new TimeSpan(0,0,0,5));
		eplanRemoteClient.ExecuteAction("XPrjActionProjectClose");
		eplanRemoteClient.Disconnect();
	}
}

Localhost für den lokalen Rechner verwenden, den Timespan brauchte ich, da EPLAN zu langsam reagierte.

Von |2017-11-09T11:22:15+01:002016-01-29|EPLAN, EPLAN-Scripts|
Nach oben