Blog

Bookmarks

Mit diesem Script könnt ihr in EPLAN Bookmarks (Lesezeichen) für Projekte anlegen, welche ihr des öfteren benötigt.

Vielen Dank an FrankS für die Umsetzung!

Changelog:

04.06.2012, V1.1.0

  • Eplan Versionsnummer als Unterscheidung mit aufgenommen, Danke an Marco für den Hinweis.

05.06.2012, V1.1.1

  • Eplan Versionsnummer wird nun aus EPLAN.exe (ab V2.1) oder W3U.exe (bis V2.0) ermittelt.

21.08.2012, V2.0.0

  • Lesezeichen Tooltip zeigt nun den kompletten Pfad des Projektes an.
  • Es wird nun das vorhanden sein der Projekte getestet und ggf. das Lesezeichen grau dargestellt, das Lesezeichen bleibt aber weiter aktiv (geht im ListView nicht anders)
  • Neuer Menüpunkt ‘Akualisieren (F5)’ ins Kontextmenü eingebaut (Taste F5 geht nicht im Scripting)
  • Menüpunkt “Lesezeichen” ist nun unter “Schließen” im Projekt-Menü gewandert. (Wegen Select-Versionen)

08.10.2012, V2.1.0

  • Lesezeichen können nun nach oben/unten verschoben werden.

Bookmarks_V2.1 (3358 Downloads )

Von |2017-11-09T12:23:47+01:002012-06-05|EPLAN, EPLAN-Scripts|

SetSettingExampleWindowLocation

Noch ein Beispiel um mit Settings zu arbeiten.

Hier wird die Location (Position) des Fensters gespeichert.

Ich habe hier bewusst mit stillen Exceptions gearbeitet um sicherzustellen, dass der Form auch geschlossen werden kann.

Leider konnte ich nicht mit numerischen Settings arbeiten, denke das diese zwar als INT in der Dokumentation beschrieben werden, aber EPLAN sie als UINT verarbeitet. Negative Werte sind nicht möglich sind (z.B. zweiter Bildschirm links: X < 0)

SetSettingExampleWindowLocation (3195 Downloads )

    private void SettingsGet()
    {
        if (!oSettings.ExistSetting(SettingPathWindowLocation)) // Create setting
        {
            oSettings.AddStringSetting(
                SettingPathWindowLocation,
                new string[] {},
                new string[] {},
                "Location of the form",
                new string[] {},
                ISettings.CreationFlag.Insert
                );
        }
        else // Get setting
        {
            try
            {
                this.Location = new Point(
                    Convert.ToInt32(oSettings.GetStringSetting(SettingPathWindowLocation, 0)),
                    Convert.ToInt32(oSettings.GetStringSetting(SettingPathWindowLocation, 1))
                    );
                Refresh();
            }
            catch (System.Exception ex)
            {
                //MessageBox.Show(ex.Message);
            }
        }
    }

    private void SettingsSet()
    {
        try
        {
            oSettings.SetStringSetting(SettingPathWindowLocation, this.Location.X.ToString(), 0);
            oSettings.SetStringSetting(SettingPathWindowLocation, this.Location.Y.ToString(), 1);
        }
        catch (System.Exception ex)
        {
            //MessageBox.Show(ex.Message);
        }
    }

 

Von |2017-11-09T12:23:47+01:002012-05-25|EPLAN, EPLAN-Scripts|

Übersetzung mit Transposh

Suplanus in allen Sprachen…

Naja wohl ein Wunschtraum  :whistle:

Aufgrund verschiedener Useranfragen habe ich nun eine automatische Google-Übersetzung eingebaut. Das ganze funktioniert mit dem Worpress-Plugin Transposh. Hier gibt es auch die Möglichkeit direkt die Übersetzung zu ändern. Dieses Feature schalte ich aber nur für bestimmte User frei. Hier nehme ich gerne Anmeldungen entgegen und würde mich sehr freuen.

Ist gibt schon lange eine Überlegung meinerseits die Beiträge auch in englisch zu verfassen. Da mir aber selbst bei den deutschsprachigen Beiträgen oft die Zeit fehlt, habe ich diesen Gedanken wieder fallen gelassen.

Ich selbst bin kein Fan einer Google-Übersetzung und lese meist in englisch (schlag aber Begriffe bei Google nach).

 

Von |2012-05-24T12:22:53+02:002012-05-24|Allgemein|

Podcasts

Heute mal wieder eine allgemeine Empfehlung meinerseits. Da ich viel mit dem Auto unterwegs bin (ca. 1,5h pro Tag), suche ich stetig Audio-Content um mir die Zeit zu vertreiben.

Anfangs hörte ich viele Hörspiele, was aber sehr monoton und zu anspruchslos war (Müdigkeit setzte ein). Vor ca. 2 Jahre stolperte ich über einige Technik-Podcasts welche ich mir dann mal zu Gemüte geführt habe.

Aber was sind Podcasts eigentlich? Hier ein kleiner Auszug aus der Wikipedia:

Podcasting bezeichnet das Produzieren und Anbieten abonnierbarer Mediendateien (Audio oder Video) über das Internet. Das Kofferwort setzt sich aus der Markenbezeichnung iPod für einen tragbaren MP3-Spieler und Broadcasting zusammen. Ein einzelner Podcast (deutsch: einHörstück, genauer Hördatei oder Bewegtbilddatei) ist somit eine Serie von Medienbeiträgen (Episoden), die über einen News Feed (meistens RSS) automatisch bezogen werden können.

Ein sehr informativer Vortrag auf der re:publica hat mich eigentlich auf diesen Artikel gebracht. Der Urvater des deutschen Podcastings, Tim Pritlove, erzählt warum Podcasts in der heutigen Medienlandschaft wichtig sind und wichtiger werden (sollten).

Ich habe nun schon eine Reihe verschiedener, meist technik lastige, Podcasts auf meinem iPhone-Client (Instacast). Damit komm ich gut über die Woche oder auch gut durch Urlaub / Reisen.

Hier ein kleiner Auszug von meiner Playlist:

Von |2015-07-27T11:31:00+02:002012-05-23|Allgemein|

SetSortCode

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");
	}

}
Von |2017-11-09T12:23:47+01:002012-05-22|EPLAN, EPLAN-Scripts|
Nach oben