script

EplanCOMApplication

Oftmals muss man aus einer Applikation heraus EPLAN befeuern aufrufen und Actions ausführen.

Mit der COM Api von EPLAN ist dies möglich.

In Visual Studio müsst ihr den Verweis herstellen:

Verweise

Aufgerufen wird das ganze wie folgt:

EplanApplication eplanApplication = new EplanApplication();
eplanApplication.Show();
eplanApplication.ExecuteCommand("edit " +
                                "/PROJECTNAME:" + EplanProject +
                                " /DEVICENAME:" + SelectedFunction);

Zu beachten:

  • Ist EPLAN geöffnet wird dieser Prozess verwendet.
  • Ist EPLAN nicht geöffnet wird ein Prozess im Hintergrund gestartet und erst mit Show() sichtbar gemacht.
  • Wird beim Start des COM Objektes keine gültige Lizenz für EPLAN gefunden, bleibt das Programm stehen (muss abgeschossen werden).
Von |2017-11-09T12:23:42+01:002014-09-25|EPLAN, EPLAN-Scripts|

TranslateLanguages

Mit diesem Script können alle Sprachen des eingestellten Wörterbuchs abgerufen werden:

using Eplan.EplApi.Base;
using Eplan.EplApi.Scripting;
using System;
using System.Windows.Forms;

public class TranslateLanguages
{
    [Start]
    public void Execute()
    {
        Settings setting = new Settings();
        string stringSetting = setting.GetStringSetting("USER.TRANSLATE.TRANSLATE_LANGUAGES", 0);
        MessageBox.Show(stringSetting.Replace(";", Environment.NewLine));
    }
}

Translate_Languages

Von |2017-11-09T12:23:42+01:002014-09-22|EPLAN, EPLAN-Scripts|

XFREActionFrameOpen

Mit diesem Script wird ein Normblatt zum editieren geöffnet.

Vielen Dank an KRM!

using Eplan.EplApi.ApplicationFramework;
using Eplan.EplApi.Scripting;

class XFREActionFrameOpenAction
{
    [Start]
    public void XFREActionFrameOpenActionFunction()
    {
        ActionCallingContext acc = new ActionCallingContext();
        acc.AddParameter("NewFrame", "1");
        acc.SetStrings(new string[] { @"\\Path\To\Frame\NameOfFile.fn1" });
        new CommandLineInterpreter().Execute("XFREActionFrameOpen", acc);
    }
}
Von |2017-11-09T12:23:42+01:002014-07-17|EPLAN, EPLAN-Scripts|

GetProjectnameOnPostOpen

FrankS hat in einem Q2A-Beitrag eine sehr schöne Lösung aufgezeigt, wie man per Eventhandler den Projektnamen identifizieren kann:

using System.Windows.Forms;
using Eplan.EplApi.ApplicationFramework;
using Eplan.EplApi.Scripting;

public class GetProjectnameOnPostOpen
{
    [DeclareEventHandler("Eplan.EplApi.OnPostOpenProject")]
    public void MyEventHandlerFunction(IEventParameter iEventParameter)
    {
        try
        {
            EventParameterString oEventParameterString = new EventParameterString(iEventParameter);
            MessageBox.Show("Projekt öffnen:\n" + oEventParameterString.String, "OnPostOpenProject");

        }
        catch (System.InvalidCastException exc)
        {
            MessageBox.Show(exc.Message, "Fehler");
        }
    }
}
Von |2017-11-09T12:23:42+01:002014-06-05|EPLAN, EPLAN-Scripts|
Nach oben