Archiv für das Jahr: 2025

Buch – EPLAN Scripting – 4. Auflage

Mein Herzensprojekt geht in die vierte Runde 💖

Da ich das Buch nun selbst vertreibe, bieten sich mehr Möglichkeiten:

  • Am meisten freut es mich, dass ich nun den kompletten Beginner-Teil kostenlos zur Verfügung stellen kann 👨‍🏫
  • Auf einer interaktiven Website wird nun der Code mit schönem Syntax-Highlighting dargestellt 🧑‍💻
  • Lange erwartet und nun endlich da: Englische Version 🇬🇧

Alles rund um das Buch findet Ihr hier: eplan-scripting.suplanus.de.

Changelog

  • Verfügbar in English

  • Digitale Version auf interaktiven Website

  • Kompletter Inhalt Beginner kostenfrei

  • ListSelectDecisionContext

  • Remote Client komplett an das neue Framework angepasst

  • XML Kapitel optimiert

  • Debug Kapitel überarbeitet und Settings-Script hinzugefügt

  • Anpassungen an die EPLAN Version 2026

Von |2025-06-30T14:12:27+02:002025-06-30|EPLAN, EPLAN-Scripts|

DeletePages

Mit diesem Script kann man beliebige Seiten im Projekt löschen. Es können mehrere Seiten mit Pipe | getrennt angegeben werden. Beispiel-Aufruf:

DeletePages /Pages:"=TEST/11|=TEST/12"

Ist eine angegebene Seite im Projekt nicht vorhanden, wird eine Systemmeldung ausgegeben.

using Eplan.EplApi.ApplicationFramework;
using Eplan.EplApi.Base;
using Eplan.EplApi.Scripting;

public class DeletePages
{
  [DeclareAction("DeletePages")]
  public void Action(ActionCallingContext acc)
  {
    string pagesString = null;
    acc.GetParameter("Pages", ref pagesString);
    if (string.IsNullOrEmpty(pagesString))
    {
      new Decider().Decide(EnumDecisionType.eOkDecision, "Parameter 'Pages' missing.", "DeletePages",
                           EnumDecisionReturn.eOK, EnumDecisionReturn.eOK, null, false, EnumDecisionIcon.eFATALERROR);
      return;
    }
    
    var pages = pagesString.Split('|');
    foreach (var page in pages)
    {
      DeletePage(page);
    }
  }

  private void DeletePage(string page)
  {
    ActionCallingContext accPage = new ActionCallingContext();
    accPage.AddParameter("PAGENAME", page);
    var isPageValid = new CommandLineInterpreter().Execute("edit", accPage);
    if (isPageValid)
    {
      using (new QuietModeStep(QuietModes.ShowNoDialogs))
      {
        new CommandLineInterpreter().Execute("XGedSelectPageAction");
        new CommandLineInterpreter().Execute("GfDlgMgrActionIGfWindDelete");
      }
    }
    else
    {
      new BaseException("Page not found: " + page, MessageLevel.Error).FixMessage();
    } 
  }
}
Von |2025-03-13T06:41:51+01:002025-03-12|EPLAN, EPLAN-Scripts|

EPLAN legacy Menü einblenden

Selbst in 2025 ist das Menü nicht ganz verschwunden. In älteren Versionen konnte man es über den Arbeitsbereich einblenden. Der Menüpunkt ist verschwunden, aber über die Action mfToggleMainMenuAction kann das Menü auch in EPLAN 2025 eingeblendet werden.

Von |2025-02-13T07:58:39+01:002025-02-13|EPLAN|
Nach oben