script

SetStringSettingExamplePath

Anbei ein Beispiel wie man die Settings nutzen kann.

Mit diesem Script kann ein Pfad gesetzt werden. Dieser wird gespeichert und beim erneuten Ausführen des Scriptes geladen.

SetSettingExamplePath (1798 Downloads )

 

private void frmSetSettingExamplePath_Load(object sender, System.EventArgs e)
{
    // Check if setting exists
    if (!oSettings.ExistSetting(SettingPath))
    {
        // Add setting
        oSettings.AddStringSetting(
            SettingPath,
            new string[] {},
            new string[] {},
            "FolderBrowseDialog Path",
            new string[] {@"Default value of test setting"},
            ISettings.CreationFlag.Insert
            );
        // Add setting value
        oSettings.SetStringSetting(SettingPath, Environment.GetFolderPath(Environment.SpecialFolder.Desktop), 0);
        txtPath.Text = oSettings.GetStringSetting(SettingPath, 0);
    }
    else
    {
        // Load values
        txtPath.Text = oSettings.GetStringSetting(SettingPath, 0);
    }
}

private void btnPath_Click(object sender, System.EventArgs e)
{
    // Check if directory exists
    if (Directory.Exists(txtPath.Text))
    {
        fbd.SelectedPath = txtPath.Text;
    }
    else
    {
        fbd.SelectedPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
    }

    // Set path to setting
    if (fbd.ShowDialog() == DialogResult.OK)
    {
        txtPath.Text = fbd.SelectedPath;
        oSettings.SetStringSetting(SettingPath, fbd.SelectedPath, 0);
    }
}
Von |2017-11-09T12:23:47+01:002012-05-16|EPLAN, EPLAN-Scripts|

SetStringSetting

Weiß ja nicht ob ihr es wusstet, ich nicht… Man kann in EPLAN eigene Settings erstellen und dann (wie bekannt) abrufen.

Das ermöglicht einiges im Scripting. So können Pfade, Fensterpositionen, usw. gespeichert werden.

Anbei ein Beispiel um ein String Setting zu erstellen und diesem Werte zuzuweisen.

SetStringSetting (1453 Downloads )

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

public class SetStringSetting
{
    [Start]
    public void SetStringSettingVoid()
    {
        const string SettingPath = "USER.SCRIPTS.SUPLANUS";
        Eplan.EplApi.Base.Settings oSettings = new Eplan.EplApi.Base.Settings();

        // Check if setting exists
        if (oSettings.ExistSetting(SettingPath))
        {
            oSettings.DeleteSetting(SettingPath);
            MessageBox.Show("Setting removed.", SettingPath);
        }

        // Add setting
        oSettings.AddStringSetting(
            SettingPath,
            new string[] {},
            new string[] {},
            "My setting from Suplanus",
            new string[] {@"Default value of test setting"},
            ISettings.CreationFlag.Insert
            );

        // Add setting values
        oSettings.SetStringSetting(SettingPath, "Message 0", 0);
        oSettings.SetStringSetting(SettingPath, "Message 1", 1);
        oSettings.SetStringSetting(SettingPath, "Message 2", 2);
        MessageBox.Show("Setting OK.", SettingPath);

        // Show setting values
        string value = oSettings.GetStringSetting(SettingPath, 1);
        MessageBox.Show("Value of Index " + 1 + ":\n" + value, SettingPath);
    }
}
Von |2017-11-09T12:23:47+01:002012-05-14|EPLAN, EPLAN-Scripts|

InsertPageMacro

Anbei eine Möglichkeit ein Seitenmakro per Script einzufügen. Diese Action ist nicht von EPLAN dokumentiert.

InsertPageMacro (1953 Downloads )

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

public class InsertPageMacro
{
    [Start]
    public void InsertPageMacroVoid()
    {
        string strFilename = @"C:\test.emp";

        ActionCallingContext oAcc = new ActionCallingContext();
        CommandLineInterpreter oCLI = new CommandLineInterpreter();

        oAcc.AddParameter("filename", strFilename);
        oCLI.Execute("XMInsertPageMacro", oAcc);
    }
}
Von |2017-11-09T12:23:49+01:002012-05-09|EPLAN, EPLAN-Scripts|

SelectLanguage

Wie ihr vielleicht bemerkt habt, habe ich viel mit dem MultiLanguageTool von EPLAN gearbeitet. Ziel war es eine Sprachauswahl zu machen um per Scripting eine Sprache zu wählen.

Ich persönlich benötige des öfteren eine andere Sprache wenn man eine Beschriftung erstellt (z.B. Graviertexte).

Das Script muss geladen werden und kann dann aus jedem anderen Script aufgerufen werden. Man erhält einen Rückgabeparameter mit der ausgewählten Sprache “Language”. Zusätzlich ist es möglich den Dialog-Namen anzugeben (DialogName). Folgende Sprachentypen stehen bereit:

  • Project: Projektsprachen
  • Display: Anzeigesprachen

Anbei ein Beispielvideo. Ich habe auch ein Beispiel angehängt wie man die Action nutzt.

SelectLanguage (1577 Downloads )

 

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

public class SelectLanguage_UsingExample
{
    [Start]
    public void Execute()
    {
        CommandLineInterpreter oCLI = new CommandLineInterpreter();
        ActionCallingContext acc = new ActionCallingContext();
        string ActionReturnParameterValue = string.Empty;

        acc.AddParameter("Language", "Project"); // parameters: "Project" or "Display"
        acc.AddParameter("DialogName", "MyDialogName");
        oCLI.Execute("SelectLanguage", acc);
        acc.GetParameter("Language", ref ActionReturnParameterValue);

        MessageBox.Show("Language from SelectLanguage:\n\n---> " + ActionReturnParameterValue);

    }
}

 

Von |2017-11-09T12:23:49+01:002012-05-06|EPLAN, EPLAN-Scripts|

MultilanguageToolExamples Settings

Weiter gehts mit dem MultilanguageTool von EPLAN. Anbei Beispiele wie man die Übersetzungseinstellungen ändern kann.

  MultilanguageToolExamples Settings (1655 Downloads )

 

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

public class MultilanguageToolExamples_Settings
{
    [Start]
    public void MultilanguageToolExamples_Settings_Void()
    {
        CommandLineInterpreter oCLI = new CommandLineInterpreter();
        ActionCallingContext acc = new ActionCallingContext();

        oCLI.Execute("XTrSettingsDlgAction"); // Settings DEFAULT

        // Bei Eingabe übersetzen
        #region SetTranslationOnInput
        acc.AddParameter("ACTIVE", "YES"); // parameters: YES, NO
        oCLI.Execute("SetTranslationOnInput", acc);
        oCLI.Execute("XTrSettingsDlgAction");
        #endregion

        // Groß- / Kleinschreibung beachten
        #region SetMatchCase 
        acc.AddParameter("ACTIVE", "YES"); // parameters: YES, NO
        oCLI.Execute("SetMatchCase", acc);
        oCLI.Execute("XTrSettingsDlgAction");
        #endregion

        // Bereits übersetzte Texte verändern
        #region SetChangeTranslatedText
        acc.AddParameter("ACTIVE", "YES"); // parameters: YES, NO
        oCLI.Execute("SetChangeTranslatedText", acc);
        oCLI.Execute("XTrSettingsDlgAction");
        #endregion

        // Manuelle Auswahl bei Mehrfachbedeutungen
        #region SetManualSelectionForMultipleMeanings
        acc.AddParameter("ACTIVE", "YES"); // parameters: YES, NO
        oCLI.Execute("SetManualSelectionForMultipleMeanings", acc);
        oCLI.Execute("XTrSettingsDlgAction");
        #endregion

        // Segment
        #region SetTranslationSegment
        acc.AddParameter("SEGMENT", "ENTIRE ENTRY"); // parameters: WORD, SENTENCE, ENTIRE ENTRY
        oCLI.Execute("SetTranslationSegment", acc);
        oCLI.Execute("XTrSettingsDlgAction");
        #endregion

        // Groß- / Kleinschreibung
        #region SetUpperLowerCase
        acc.AddParameter("TYPE", "ALLUPPERCASE"); // parameters: ACCORDINGTODICTIONARY, ALLUPPERCASE, ALLLOWERCASE, CAPITALIZEFIRSTLETTER
        oCLI.Execute("SetUpperLowerCase", acc);
        oCLI.Execute("XTrSettingsDlgAction");
        #endregion

        // Fehlende Übersetzung: Anzeigen
        #region SetShowMissingTranslation
        acc.AddParameter("ACTIVE", "YES"); // parameters: YES, NO
        oCLI.Execute("SetShowMissingTranslation", acc);
        oCLI.Execute("XTrSettingsDlgAction");
        #endregion
    }
}
Von |2017-11-09T12:23:49+01:002012-05-03|EPLAN, EPLAN-Scripts|
Nach oben