Endlich darf ich mal auf einen anderen EPLAN-Blog hinweisen. Dieser ist englischsprachig und wird von Luc Morin gepflegt. Die Seite findet ihr unter http://www.stlm.ca/.
An dieser Stelle vielen Dank!
Mit dem Script wird das Sortieren bzw. Nummerieren vereinfacht. Am besten seht ihr euch das Beispielvideo von Luc an.
Das Script ist auf Github zu finden:
SetSortCode
//Created by Luc Morin, November 2011
//http://www.stlm.ca
public class MultiLevelSortCode
{
[DeclareAction("SetSortCodeAction")]
public void SetSortCodeAction()
{
//Use a Command Line Interpreter to call the Action
CommandLineInterpreter CLI = new CommandLineInterpreter();
Eplan.EplApi.Base.Settings set = new Eplan.EplApi.Base.Settings();
if(!set.ExistSetting("USER.SCRIPTS.SORTCODE"))
{
bool bOk = set.AddNumericSetting("USER.SCRIPTS.SORTCODE", new int[] { 0 },
new Range[] { new Range { FromValue = 0, ToValue = 32768}}, "Sort code setting", new int[] { 0 },
ISettings.CreationFlag.Insert);
}
int index = set.GetNumericSetting("USER.SCRIPTS.SORTCODE", 0);
ActionCallingContext ctx1 = new ActionCallingContext();
ctx1.AddParameter("propertyID","20809"); //Sort code
ctx1.AddParameter("propertyIndex","0");
ctx1.AddParameter("propertyValue", index.ToString());
CLI.Execute("XEsSetPropertyAction", ctx1);
set.SetNumericSetting("USER.SCRIPTS.SORTCODE", ++index, 0);
return;
}
[DeclareMenu]
public void SetSortCodeMenuFunction()
{
Eplan.EplApi.Gui.Menu oMenu = new Eplan.EplApi.Gui.Menu();
oMenu.AddMenuItem("Set sort code", "SetSortCodeAction");
}
[DeclareAction("ResetSortCodeAction")]
public void ResetSortCodeAction()
{
//Use a Command Line Interpreter to call the Action
CommandLineInterpreter CLI = new CommandLineInterpreter();
Eplan.EplApi.Base.Settings set = new Eplan.EplApi.Base.Settings();
if(!set.ExistSetting("USER.SCRIPTS.SORTCODE"))
{
bool bOk = set.AddNumericSetting("USER.SCRIPTS.SORTCODE", new int[] { 0 },
new Range[] { new Range { FromValue = 0, ToValue = 32768}}, "Sort code setting", new int[] { 0 },
ISettings.CreationFlag.Insert);
}
set.SetNumericSetting("USER.SCRIPTS.SORTCODE", 0, 0);
return;
}
[DeclareMenu]
public void ResetSortCodeMenuFunction()
{
Eplan.EplApi.Gui.Menu oMenu = new Eplan.EplApi.Gui.Menu();
oMenu.AddMenuItem("Reset sort code", "ResetSortCodeAction");
}
}
Hallo Jonny,
im Video sieht man (Laufzeit: 2.27 min), dass noch eine Eigenschaft eingetragen wird.
Leider kann ich nicht erkennen welche das ist. Hast du das herausgefunden und ist die überhaubpt nötig?
Wenn ich nämlich nur auf “Set sort code” gehe, wird in der Reihenfolge 3,1,2 sortiert.
Vielen Dank für Deine Antwort!
Grüße
Sebastian
Bei 2:27 wird exemplarisch die Sortierkennung eingetragen, dass kann man aber mit Hilfe des Scriptes dann machen (Set sort code) und ist nicht manuell nötig.
Du musst deine Gruppe nacheinander markieren damit diese auch in der richtigen Reihenfolge sortiert werden.
Ich habe gerade herausgefunden warum bei mir die Sortierung der Ebenen nach 3,1,2, erfolgt:
Ich habe für die Ebene 1 als Bezeichnung +, in der Ebene 2 – und in der Ebene 3 z.B. 1 stehen.
Eplan sortiert erste die Nummern und dann die Sonderzeichen.
D.h. wenn man das Script erfolgreich nutzen will, dann kann man bei Ini Klemmen kein + bzw. – verwenden.
Evtl. kannst du Luc ein Makro schicken und Ihm dein Problem erklären?!
Ich habe mal Kontakt auf genommen. Ich melde mich wieder.