JohannWeiher

Über Johann Weiher

Der Autor hat bisher keine Details angegeben.
Bisher hat Johann Weiher, 505 Blog Beiträge geschrieben.

EPLAN Scripting & API Dokumentation erstellen

Wie schon öfters angemerkt, gibt es eine API-Dokumentation von EPLAN, welche leider nur mit dem Erwerb der API-Entwickler einsehbar ist.

Besonders schade daran ist, dass Scripting dort sehr gut beschrieben wird.

Da die Dokumentation von EPLAN selbst auch automatisch generiert wird, hat sich Daniel Papp die Mühe gemacht und das Ganze mal mit Sandcastle getestet.

Mit seiner Anleitung kann man sich eine eigene Scripting & API Dokumentation erstellen:

http://broadcast.oreilly.com/2010/09/build-html-documentation-for-y.html
Nicht erschrecken! Wir brauchen nur Step 1, Step 4 und den Anfang von 5.
Anstelle der in der Anleitung erzeugten Guy.dll + Guy.xml, binden wir die folgenden Dateien aus dem „..\EPLAN\Platform\[version]\Bin“ Ordner ein:

  • Eplan.EplApi.AFu.dll
  • Eplan.EplApi.AFu.xml
  • Eplan.EplApi.Baseu.dll
  • Eplan.EplApi.Baseu.xml
  • Eplan.EplApi.DataModelu.dll
  • Eplan.EplApi.DataModelu.xml
  • Eplan.EplApi.EServicesu.dll
  • Eplan.EplApi.EServicesu.xml
  • Eplan.EplApi.Guiu.dll
  • Eplan.EplApi.Guiu.xml
  • Eplan.EplApi.HEServicesu.dll
  • Eplan.EplApi.HEServicesu.xml
  • Eplan.EplApi.MasterData.dll
  • Eplan.EplApi.Ppeu.dll
  • Eplan.EplApi.Ppeu.xml
  • Eplan.EplApi.Systemu.dll
  • Eplan.EplApi.Systemu.xml

In den Project Properties (Taste F4) kann man noch ein paar Einstellungen wie den Ausgabepfad, Format, Titel, Name etc. vornehmen.
Die Durchlaufzeit des Build-Prozesses kann je nach Rechnerleistung relativ hoch sein (Intel Core2, 2,4GHz ca. 50min).
Es werden auch Tausende Warnungen wegen fehlender Referenzen ausgegeben. Diesen bin ich nicht weiter nachgegangen. Das Ergebnis ist dennoch brauchbar.
Der User, und Migration Guide aus der Originaldoku fehlen. Der Rest scheint sehr ähnlich zu sein.
Man könnte so auch eigene Doku anfügen, oder sich nur die für das Scripting relevanten Bibliotheken (*.AFu.*; *.Baseu.*; *.Guiu.*) erzeugen.

Von |2017-11-09T11:22:20+01:002015-04-29|EPLAN, EPLAN-Scripts|

Postbuild Befehlszeile ApiAddin

Ich muss selber immer nachschauen oder kopier mir es, darum schreib ich es hier mal auf :^)

Bei einem EPLAN ApiAddin ist es praktisch wenn die fertige DLL gleich ins Zielverzeichnis kopiert wird. In Visual Studio kann man das per Postbuild-Befehlszeile automatisieren:

COPY /Y "$(TargetDir)$(ProjectName).dll" "C:\Program Files (x86)\EPLAN\Platform\2.4.4\Bin\$(ProjectName).dll"

2015-04-28_09-46-33

Kurz zur Erklärung:

  • /Y: Unterdrückt die Bestätigungsaufforderung vor dem Überschreiben vorhandener Zieldateien.
  • $(TargetDir): Eingestellte Ausgabeverzeichnis
  • $(ProjectName): Projektname (sollte dem der DLL entsprechen)
Von |2017-11-09T11:24:11+01:002015-04-28|EPLAN, EPLAN-API|

EPLAN Hilfe Online

Hab mir die Beta noch nicht angeschaut, nur mal gestartet. Aber was mich gleich interessierte war das neue Hilfesystem.
Finde es klasse dass EPLAN hier mal, die ohnehin schon gute Hilfe, aktualisiert hat.

Da ist mir aufgefallen dass die Hilfe auch Online verfügbar ist und das (zum Glück) ohne Anmeldung.

Wer die Hilfe mal anschauen möchte, kann das unter eplan.help tun!
Man sollte dazusagen, dass dies noch Beta ist.

Von |2015-04-16T10:10:30+02:002015-04-16|EPLAN|

300. Beitrag

… und ich habs verpennt, sind eigentlich schon 303.
Habe gerade mal nachgeschaut wann das ganze Online ging… das war am 11.02.2010, in Worten: Über-Fünf-Jahre!

Bin selbst stolz, solange durchgehalten zu haben :^)

Generell würde ich gerne mehr schreiben, aber es fehlt wie immer die Zeit.
Zusätzlich fehlen mir auch Ideen bezüglich EPLAN-Scripting, also wenn Ihr Ideen / Fragen / Anregungen habt, einfach schreiben.

Na dann auf die nächsten 100…!

Von |2015-04-15T07:57:40+02:002015-04-15|Allgemein|

Automatischer Action-Name ApiAddin

Da ich derzeit viel mit der EPLAN-API machen darf, hab ich mir mal Gedanken gemacht wie man das ewige Action deklarieren automatisieren kann.

Die Deklaration funktioniert ein bisschen anders als im Scripting und somit kann man auch auf die Methoden- / bzw. Klassennamen zugreifen.

Mit dieser Lösung wird immer der Klassenname als Action-Name verwendet, was für mich immer zutreffend ist.
In diesem Beispiel wäre der Action-Name MyAction:

using Eplan.EplApi.ApplicationFramework;
using System;
using System.Reflection;

namespace Suplanus.EplAddin.Examples
{
    class MyAction : IEplAction
    {
        public bool OnRegister(ref string Name, ref int Ordinal)
        {
            Name = MethodBase.GetCurrentMethod().DeclaringType.Name; // Get name from class
            Ordinal = 20;
            return true;
        }

        public bool Execute(ActionCallingContext oActionCallingContext)
        {
            throw new NotImplementedException();
        }

        public void GetActionProperties(ref ActionProperties actionProperties)
        {
            throw new NotImplementedException();
        }
    }
}
Von |2017-11-09T11:24:17+01:002015-04-14|EPLAN, EPLAN-API|
Nach oben