Archiv für den Monat: Februar 2016

EPLAN-API: Templates

Ich hab mal drei Templates für die EPLAN API Programmierung erstellt.

Dadurch können Addins/Verfications und Actions sehr schnell eingefügt werden:

2016-02-26_10-36-04

Beim ActionTemplate wird gleich der Klassenname als Actionname verwendet, was ich immer sehr praktisch finde.

Einfach in euer Template Verzeichnis packen (z.B. Documents\Visual Studio 2015\My Exported Templates) und freuen :^)

Von |2017-11-09T11:23:18+01:002016-02-27|EPLAN, EPLAN-API|

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-API: Showcase 2016 Februar

Man merkt wohl anhand der Beiträge dass ich derzeit Vieles mit der EPLAN API mache :)

Fertiggestellt habe ich mal zwei Prüfläufe.

 

LinkToPartsDbVerification

Überprüft ob ein Artikel in der Datenbank vorhanden ist. Der Prüflauf von EPLAN (007012) zeigt leider Artikel nicht an, die schon mal im Projekt eingelagert wurden.
Wenn zum Beispiel eine Artikelnummer geändert wird, taucht dieser nie in der Meldungsverwaltung auf.

 

LocationDescriptionVerification

Prüft ob ein Strukturkennzeichen eine leere Beschreibung hat.

Von |2016-02-26T08:39:24+01:002016-02-26|EPLAN|

EPLAN API: Preview in WPF Update

Ich hatte ja beschrieben wie man mit (viel Aufwand und) WPF eine Vorschau von Makros für EPLAN erzeugen kann.

Hier gab es aber ein Problem: Seitenmakros konnten nicht gruppiert dargestellt werden, da es einen Bug in der API gibt, wenn WPF verwendet wird.

Nun habe das Ganze aber zerlegt:
Alle Darstellungsarten und alle Varianten (bzw. Seiten) können ausgewählt werden.

Hier im Video sieht man das Ergebnis, Makros sind nur Testdaten, bitte nicht darauf achten :^)

Habe auch soweit noch optimiert, dass man nur noch einmal die Preview machen muss (Größenveränderungen werden automatisch erkannt).

 

Verwendung

// start eplan
_eplanOffline = new EplanOffline();

// Needed if its an OfflineApplication
_eplanOffline.StartWpf(this);
if (!_eplanOffline.IsRunning)
{
	throw new Exception("EPLAN not running");
}

// Init preview
_eplanOffline.Preview = new Preview(previewBorder, _previewProject);

// display
_eplanOffline.Preview.Display(_macroPath, PreviewType.WindowMacro);

 

Wie gewohnt auf GitHub zu finden…

Von |2017-11-09T11:23:26+01:002016-02-24|EPLAN, EPLAN-API|

EPLAN API: Seitenmakros mit Struktur

Ich hab mal die Methode zum Generieren erweitert. Man kann nun die Struktur mit übergeben.

Beispiel:

string projectLinkPath = @"\\Mac\Home\Desktop\Test.elk";
string projectTemplatePath = @"\\Mac\Home\Documents\GitHub\ibKastl.MechatronicsConfigurator\DemoData\Templates\IEC_bas001.zw9";

List<GeneratablePageMacro> generatablePageMacros = new List<GeneratablePageMacro>();
generatablePageMacros.Add(new GeneratablePageMacro(
	@"\\Mac\Home\Documents\GitHub\ibKastl.MechatronicsConfigurator\DemoData\Macros\PageMacro_Axis-X.emp",
	new LocationIdentifierIdentifier
	{
		FunctionAssignment = "TEST1",
		Plant = "TEST11",
		PlaceOfInstallation = "TEST111",
		Location = "TEST1111",
		UserDefinied = "TEST11111",
	}));

generatablePageMacros.Add(new GeneratablePageMacro(
	@"\\Mac\Home\Documents\GitHub\ibKastl.MechatronicsConfigurator\DemoData\Macros\PageMacro_Supply.emp",
	new LocationIdentifierIdentifier
	{
		FunctionAssignment = "TEST2",
		Plant = "TEST22",
		PlaceOfInstallation = "TEST222",
		Location = "TEST2222",
		UserDefinied = "TEST22222",
	}));

// check overwrite
generatablePageMacros.Add(new GeneratablePageMacro(
	@"\\Mac\Home\Documents\GitHub\ibKastl.MechatronicsConfigurator\DemoData\Macros\PageMacro_Axis-X.emp",
	new LocationIdentifierIdentifier
	{
		FunctionAssignment = "TEST1",
		Plant = "TEST11",
		PlaceOfInstallation = "TEST111",
		Location = "TEST1111",
		UserDefinied = "TEST11111",
	}));

generatablePageMacros.Add(new GeneratablePageMacro(
	@"\\Mac\Home\Documents\GitHub\ibKastl.MechatronicsConfigurator\DemoData\Macros\PageMacro_Supply.emp",
	new LocationIdentifierIdentifier
	{
		FunctionAssignment = "TEST2",
		Plant = "TEST22",
		PlaceOfInstallation = "TEST222",
		Location = "TEST2222",
		UserDefinied = "TEST22222",
	}));

ProjectUtility.Generate(projectLinkPath, projectTemplatePath, generatablePageMacros);

 

Hier sieht man recht schön dass die Seiten nicht überschrieben werden, sondern nacheinander eingefügt werden. Sind im Projekt Strukturkennzeichen nicht aktiv (z.B. Funktionale Zuordnung) dann werden diese einfach ignoriert:

Generate

Von |2017-11-09T11:23:34+01:002016-02-12|EPLAN, EPLAN-API|
Nach oben