JohannWeiher

Über Johann Weiher

Der Autor hat bisher keine Details angegeben.
Bisher hat Johann Weiher, 531 Blog Beiträge geschrieben.

Navigator aktualisieren

Um Navigatoren in EPLAN zu aktualisieren (wie F5 drücken), könnt ihr folgenden Action verwenden:

GfDlgMgrActionReload /DialogName:<Name des Dialogs>

Der Seitennavigator hat hier eine eigene Methode, da hier noch der Filter mit dran hängt:

EventParameterString eventParameterString = new EventParameterString(); 
eventParameterString.String = "RefreshPageFilter"; 
new EventManager().Send("RefreshPageFilter", eventParameterString);
Von |2019-04-10T13:12:11+02:002019-04-11|EPLAN, EPLAN-Scripts|

API-Addins & Scripte auslesen

Im CAD.de-Forum gab es die Frage wie man auslesen kann welche API-Addins und Scripte geladen sind. Ich habe das mal ausprogrammiert:

using System.Windows.Forms;
using Eplan.EplApi.Base;
using Eplan.EplApi.Scripting;
using System.Collections.Generic;
using System.Collections.Specialized;

public class ReadApiAddinsAndScripts
{
  [Start]
  public void Action()
  {
    // API addins
    List<string> apiAddins = GetApiAddins();
    string apiAddinsText = string.Join("\n", apiAddins);
    MessageBox.Show(apiAddinsText, "ApiAddins", MessageBoxButtons.OK, MessageBoxIcon.Information);

    // scripts
    List<string> scripts = GetScripts();
    string scriptsText = string.Join("\n", scripts);
    MessageBox.Show(scriptsText, "Scripts", MessageBoxButtons.OK, MessageBoxIcon.Information);
  }

  public List<string> GetApiAddins()
  {
    List<string> list = new List<string>();
    Settings settings = new Settings();
    SettingNode settingsNode = new SettingNode("STATION.EplanEplApiModule.Module");
    StringCollection nodes = new StringCollection();
    settingsNode.GetListOfNodes(ref nodes, false);
    foreach (string node in nodes)
    {
      SettingNode subNode = settingsNode.GetSubNode(node);
      string name = subNode.GetNodePath() + ".AssemblyName";
      var text = settings.GetStringSetting(name, 0);
      list.Add(text);
    }
    return list;
  }

  private List<string> GetScripts()
  {
    List<string> list = new List<string>();
    Settings settings = new Settings();
    string settingsPath = "STATION.EplanEplApiScriptGui.Scripts";
    var count = settings.GetCountOfValues(settingsPath);
    for (var index = 0; index < count; index++)
    {
      var text = settings.GetStringSetting(settingsPath, index);
      list.Add(text);
    }
    return list;
  }
}
Von |2019-04-01T11:15:12+02:002019-04-01|EPLAN, EPLAN-API, EPLAN-Scripts|

Suplanus.Stapi – TIA Openness Library

Hab ja für EPLAN schon Suplanus.Sepla gemacht und nun hab ich für TIA auch eine kleine Library erstellt. Alles OpenSource, kostenlos, wie gewohnt…

Hier ein kleiner Überblick über die ersten Funktionen:

  • TIA Portal einfach öffnen
  • Firewall automatisch setzen
  • Projekt öffnen / erstellen
  • Übersetzen
  • Baustein aus SCL-Quelle erzeugen
  • Netzwerkschnittstellen einlesen
  • Software einfach aus DeviceItem
  • SubNet einfach erstellen

Bei der Namensgebung bin ich sehr unkreativ, darum:
Suplanus TIA Api == Stapi

Suplanus.Stapi auf Github

 

Von |2019-03-27T10:02:49+01:002019-03-28|TIA Portal|

Normblatt umschalten

Dachte ich hätte das hier schon gepostet, aber da ging es nur um Normblatt für Seite umschalten.
Dank an FrankS der hier beschreibt wie man das auch für das Projekt machen kann:

public class Script
{
  [Start]
  public void XAfActionSettingProject_Start()
  {
    CommandLineInterpreter cli = new CommandLineInterpreter();
    ActionCallingContext acc = new ActionCallingContext();
    acc.AddParameter("set", "TrDMProject.Frame");
    acc.AddParameter("value", "FN1_001");
    cli.Execute("XAfActionSettingProject", acc);
    cli.Execute("XPrjActionProjectCompleteMasterData", acc); // Update masterdata

    // Refresh the GED
    EventParameterString eventParameterString = new EventParameterString();
    eventParameterString.String = "";
    new EventManager().Send("PageManagement.ProjectSettings.Changed", eventParameterString);

    return;
  }
}
Von |2019-03-26T09:36:19+01:002019-03-27|EPLAN, EPLAN-Scripts|
Nach oben