EPLAN-Scripts

Seitenfilter per Script setzen

Ich hab, mit Hilfe des tollen API-Supports, es geschafft per Script den Seitenfilter zu setzen und diesen auch zu aktivieren.
In diesem Beispiel wird dann der Filter (sofern vorhanden) “MyFilter” im Seitennavigator gesetzt:

const string SCHEME_NAME = "MyFilter";
const string SETTINGS_PATH = "USER.PageBrowserGui.PageFilterScheme";

SchemeSetting schemeSetting = new SchemeSetting();
schemeSetting.Init(SETTINGS_PATH);

// Update page filter
schemeSetting.SetLastUsed(SCHEME_NAME);
new Settings().SetBoolSetting("USER.PageBrowserGui.PageFilterScheme.ApplyCheckBox", true, 0);
EventParameterString eventParameterString = new EventParameterString();
eventParameterString.String = "RefreshPageFilter";
new EventManager().Send("RefreshPageFilter", eventParameterString);
Von |2018-11-30T16:12:00+01:002018-12-11|EPLAN, EPLAN-Scripts|

Scripting C# Version

EPLAN verwendet aktuell (2.7) das .NET Framework 4.5.2
Somit würde uns mindestens C# Version 5 beim Programmieren zur Verfügung stehen (abhängig vom Client Rechner). In der EPLAN API geht das auch…

Leider verwendet EPLAN beim Laden von Scripten den CodeDomProvider  welcher nur C# Version 4 kann.
Somit könnte man im Visual Studio Projekt was programmieren, was keine Fehler verursacht, aber in EPLAN schon…

Stellt die Projekteinstellungen vom Visual Studio Projekt um: Projekt > Eigenschaften > Build > Erweitert… > Sprachversion > C# 4

Ich habe es dem Support gemeldet. Problem wurde erkannt, aber bis wann es umgesetzt wird, kann ich leider nicht sagen.

Von |2018-11-30T16:16:53+01:002018-12-10|EPLAN, EPLAN-Scripts|

XPrjActionProjectClose

Dies ist eine interne Action. Mit dieser Action könnt Ihr das aktuelle Projekt schließen. Zusätzlich besitzt es den Parameter /PROJECT  um gezielt ein bestimmtes Projekt zu schließen.

Von |2018-12-06T17:44:23+01:002018-12-06|EPLAN, EPLAN-Scripts|

Seitenmakro erstellen

Es gibt die interne Action XMExportPageMacroAction  um ein Seitenmakro aus der aktuellen Selektion zu erzeugen.
Wie gehabt, handelt es sich um eine nicht dokumentierte Action, welche nicht von EPLAN supported wird.

Parameter:

  • /Filename : vollständiger Name/Pfad der emp-Datei
  • /Description : Beschreibung
Von |2018-11-26T13:20:08+01:002018-11-26|EPLAN, EPLAN-Scripts|

Beschriftung: Filter per Script setzen

Jochen hat hier ein Script bereitgestellt um Stücklisten für PSI-Penta zu erstellen. Vielen Dank dafür!
Ich habe mir das mal angeschaut und er setzt den Filter im Script. Sehr elegant. Denn das Schema wird als Einstellungsknoten importiert und kann somit per Script angesprochen werden.

string schemaName = "My scheme";
string location = "+S1";
string usage = "external";
new Settings().SetStringSetting("USER.Labelling.Config." + schemaName + ".Data.SortFilter.FilterSchemeData",
"0|1|1|1200;0|0|" + location + "|0|1|1|0|0|0;0|#0|1|1|22041;0|0|29|0|1|1|0|0|0;0|#0|1|0|22144;0|0|" + usage + "|0|1|1|0|0|0;0|#3|1|0|;0|0||0|1|1|0|0|0;0|#0|1|1|1220;0|0|" + location + "|0|1|1|0|0|0;0|#0|1|0|22028;0|0|184|0|1|1|0|0|0;0|#0|1|0|22144;0|0|" + usage + "|0|1|1|0|0|0;0", 0);

Nun ist nur noch die Frage wie man an diesen kryptischen Filtertext kommt. Eigentlich relativ einfach (Bild aus dem CAD.Forum von Jochen):

Von |2018-11-09T07:16:30+01:002018-11-08|EPLAN, EPLAN-Scripts|
Nach oben