Archiv für den Monat: Mai 2012

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 (1217 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 (1706 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|

Bild zur Laufzeit laden (Web)

Zur Ergänzung des vergangen Artikels Bild zur Laufzeit laden, hier noch ein Snippet um eine Datei aus dem Internet zu laden:

const string url = @"https://suplanus.de/star_16x16.png";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
WebResponse response = request.GetResponse();
Image img = Image.FromStream(response.GetResponseStream());
response.Close();
pb.Image = img; // PictureBox
Von |2012-06-12T12:33:46+02:002012-05-08|C#|

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 (1327 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 (1380 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