EPLAN

MenuCreator

Kennt Ihr das…?
Man hat ein Projekt längere Zeit im Kopf und man kommt nicht zur Umsetzung… Bei MenuCreator sind es ca. fünf Jahre.

Scripting in EPLAN macht Spaß, aber das Menübauen ist meiner Meinung nach nicht schön gelöst. Es ist somit fast unmöglich für einen EPLAN Anwender ohne Programmierkenntnissen sich selbst eins zu bauen.

Somit war das Ziel eine einfache UI zu bauen, in der man sich ein oder mehrere Menüs zusammenbauen kann.

Es können alle Scripte vom ShopForProcess einfach hinzugefügt werden. Aber auch eigene Scripte oder EPLAN Actions.

1

2

ShopForProcess: MenuCreator

Von |2015-03-25T13:08:01+01:002015-03-25|EPLAN, ShopForProcess|

Eigenschaftsanordnungsprojekt

Als EPLAN-Admin kennt man wohl die mühselige Arbeit alle Eigenschaftsanordnungen auf einen Standard zu bringen. Es ist sehr zeitintensiv und schwer zu organisieren. Hier kann ich jedem empfehlen es in einem eigenen Projekt zu machen und die Eigenschaftsanordnungen zu Im-/Exportieren über Projekt>Organisieren.

Eigenschaftsanordnungen-exportieren

Wenn man alle EPLAN-Symbole in allen Varianten platzieren möchte benötigt man dafür sehr viel Zeit. Ich habe es kurz mal gebenchmarked:

  • Symbolbibliotheken: 22
  • Symbole: 11590
  • Varianten: 87548

Bei manueller Platzierung wären es 251h vorausgesetzt man hat einen schnellen Rechner und arbeitet lokal. Wir haben ein Projekt vorbereitet welches alle Symbole in allen Varianten beinhaltet. Die Projekt-Struktur ist identisch mit der unter Einfügen>Symbol. Somit findet man sich schnell zurecht.

EPLAN-Projekt-Eigenschaftsanordnungen-Deutsch-2-3

Folgende Symbolbibliotheken wurden platziert:

  • BaseSymbolLibrary
  • CCL1ESS
  • GB_single_symbol
  • GB_symbol
  • GOST_single_symbol
  • GOST_symbol
  • GRAPHICS
  • HVAC_ESS
  • HYD1ESS
  • HYD2ESS
  • IEC_ED_ESS
  • IEC_SC_ESS
  • IEC_single_symbol
  • IEC_symbol
  • LUB1ESS
  • NFPA_single_symbol
  • NFPA_symbol
  • OS_SYM_ESS
  • PID_ESS
  • PNE1ESS
  • PPE_SYM SPECIAL

EPLAN-Projekt-Eigenschaftsanordnungen-Deutsch-2-3-Motorschutz

 

Pro Symbol und Variante wird eine eigene Eigenschaftsanordnung erstellt. Der Name ist Customer_A (wobei “A” die Variante darstellt). Gerne können wir auch z.B. euer Firmenkürzel voranstellen. Somit ist sogar dieser Aufwand minimiert einen Namen zu wählen.

2015-03-10_13-52-27

Das Projekt gibt es in Deutsch & Englisch in Version 2.3 & 2.4. Auf Anfrage erstellen wir gerne auch das Projekt in einer anderen Sprache bzw. Version. Im Artikel findet Ihr auch Beispiel-PDFs der Projekte:

Von |2016-01-11T14:35:18+01:002015-03-12|EPLAN, ShopForProcess|

MainMenuName

Man lernt nie aus…
Menü-Erzeugung ist etwas was man beim EPLAN-Scripting meist als erstes macht… da schaut man sich auch keine Methoden an…

Wie im vorherigen Post erwähnt, habe ich bisl was mit mehreren Oberflächensprachen gemacht. Hier gab es ein Problem wenn man ein Hauptmenü hinzufügen will, denn normalerweise gibt man ja den Namen an (z.B. “Hilfe”). Aber im englischen heißt es eben anders…

Dafür hat EPLAN die Enumeration MainMenuName implementiert, was eigentlich immer der empfohlene Weg wäre:

public enum MainMenuName {
  eMainMenuProject = 0,
  eMainMenuPage,
  eMainMenuEdit,
  eMainMenuView,
  eMainMenuProjectData,
  eMainMenuFind,
  eMainMenuOptions,
  eMainMenuUtilities,
  eMainMenuWindow,
  eMainMenuHelp,
  eMainMenuInsert,
  eMainMenuLayoutspace,
}

Die Verwendung sieht wie folgt aus:

uint menuId = menu.AddMainMenu("MyMenu", Eplan.EplApi.Gui.Menu.MainMenuName.eMainMenuHelp,
    "MyMenu", "ActionName", "Description", 1);

Hätte ich das eher Gewusst das besser recherchiert als ich das Buch geschrieben habe, wäre die Info eher gekommen :^)

Von |2017-11-09T12:23:40+01:002015-03-09|EPLAN, EPLAN-Scripts|

GuiLanguage

Es ist schön mit MultiLanguageStrings zu arbeiten, wenn man z.B. ein Menü in verschiedenen Oberflächensprachen darstellen möchte.

Leider gibt es keine Methodenüberlagerung für ein Popup-Menü, welches MultiLanguageStrings erlaubt.
Aus diesem Grund habe ich einen Weg gesucht um dies trotzdem zu realisieren.
Geht auch, mit umgekehrten Weg… Den MultiLanguageString per GetStringToDisplay() Methode anzeigen…

Hier benötigt man aber auch die GuiLanguage, welche man wie folgt herausfindet:

ISOCode.Language guiLanguage = new Languages().GuiLanguage.GetNumber();
Von |2017-11-09T12:23:40+01:002015-03-08|EPLAN, EPLAN-Scripts|

DXF/DWG mit Schema exportieren

Kurze Info, da es mir aufgefallen ist:
Möchte man über die Action export DXF bzw. DWG Dateien exportieren, fehlt hier der Type für PROJECTSCHEME & PAGESCHEME.

Es gibt diese Parameter, aber sind nur in der API-Dokumentation aufgeführt, nicht in der EPLAN-Hilfe. Ich habe es an EPLAN weitergegeben damit diese ergänzt werden. Der Parameter ist erst ab Version 2.4 verfügbar!

DXFDWGPROJECTSCHEME: Export a project in DXF or DWG format. All settings are read from scheme, also the DXF or DWG format.
DXFDWGPPAGESSCHEME: Export pages in DXF or DWG format. All settings are read from scheme, also the DXF or DWG format.

Used together with PAGENAMEn paramenters(e.g. /PAGENAME1:=AP+ST1/2 /PAGENAME2:=AP+ST1/4 /PAGENAME3:=AP+ST1/7 etc.) or SELn paramenters (e.g. /SEL1:38/4/12/0 (result from StorableObject.ToStringIdentifier()))

Generell frage ich mich, warum der Teil in der API-Hilfe, welcher sich dem Scripting widmet und echt gut ist, nicht in die EPLAN-Hilfe wandert…
Ist wohl der Aufwand das alles zu übersetzen, da die API-Hilfe nur in Englisch verfügbar ist. Leider gibt EPLAN diese nicht mit der EPLAN Installation heraus.

Von |2017-11-09T12:23:40+01:002015-03-06|EPLAN, EPLAN-Scripts|
Nach oben