SetStringSettingExamplePath
1Anbei 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 (14)
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); } }
SetStringSetting
3Weiß 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 (14)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | 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); } } |
InsertPageMacro
1Anbei eine Möglichkeit ein Seitenmakro per Script einzufügen. Diese Action ist nicht von EPLAN dokumentiert.
InsertPageMacro (28)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | 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); } } |



:biggrin: