Es ist im Scripting möglich Actions von EPLAN auch zu überschreiben. Das sollte aber mit großer Vorsicht geschehen.
Einen konkreten Anwendungsfall hab ich in einem fertigen Script schon mal hier implementiert.
SGB Markus aus dem CAD.de Forum, vielen Dank dafür, hat vom grandiosen API-Support auch eine Lösung bekommen um Parameter abzufragen. Dazu muss der Parametername bekannt sein. Diesen einfach als Parameter in die Methode und fertig :^)
using Eplan.EplApi.ApplicationFramework; using Eplan.EplApi.Scripting; class Program { [DeclareAction("GfDlgMgrActionIGfWind", 50)] public void Action(string function) { // Do something before action is called switch (function.ToLower()) { case "copy": // Do something at copy break; case "cut": // Do something at cut break; case "paste": // Do something at paste break; } // Call the original action ActionManager actionManager = new ActionManager(); Eplan.EplApi.ApplicationFramework.Action action = actionManager.FindBaseActionFromFunctionAction(true); ActionCallingContext actionCallingContext = new ActionCallingContext(); actionCallingContext.AddParameter("function", function); // add parameter again action.Execute(actionCallingContext); } }
Hallo Suplanus,
erstmal danke für deine vielen Eplan-Themen. Das ist extrem interessant und hilfreich!
Gerade eben ist mir, beim Test dieses Scripts aufgefallen, dass der Parameter “function” mit führenden Großbuchstaben zurückgegeben wird. Also “Copy” statt “copy” und “Cut” statt “cut”.
Ist das versionsabhängig?!? Ich habe es mal für die V2.6, V2.4, V2.2 getestet und dort ist es jeweils immer mit Großbuchstaben am Anfang.
VG Markus
Hallo Markus,
ich hab es per ToLower() abgefangen… dann ist man eh auf der sicheren Seite (sollte man immer machen).
Danke für die Rückmeldung!
Aha, das ToLower() habe ich wahrscheinlich überlesen…
Danke für den Tipp!!!
Hab ich heute erst eingefügt :^)