| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für EPLAN |
| |
 | Die neue Eplan Plattform 2025: smarte Features für einfacheres, schnelleres Engineering, eine Pressemitteilung
|
Autor
|
Thema: (Scripting) Dateiname von selektiertem Makrokasten (2216 mal gelesen)
|
DanielPa Mitglied Consultant
 
 Beiträge: 378 Registriert: 21.05.2009 WSCAD Suit Ultimate 2015 Eplan P8 2.2.5 und 2.4
|
erstellt am: 29. Dez. 2014 12:45 <-- editieren / zitieren --> Unities abgeben:         
Hi, hat jemand eine Idee wie ich über ein Script an den Dateinamen eines im GED markierten Makrokastens rankomme (Schaltplanprojekt)? Mein erster Gedanke war über eine Beschriftung die Eigenschaft "<20468> Makro" aus einem zugehörigen Objekt auszugeben. Jedoch finde ich keinen Auswertungstyp der diese Eigenschaft ausgeben kann. MfG Daniel ------------------ “Hacker (noun): An organism that converts caffeine or alcohol into code.” ~ Standard Definition Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DanielPa Mitglied Consultant
 
 Beiträge: 378 Registriert: 21.05.2009 WSCAD Suit Ultimate 2015 Eplan P8 2.2.5 und 2.4
|
erstellt am: 29. Dez. 2014 19:14 <-- editieren / zitieren --> Unities abgeben:         
Ok ich hab selbst einen Lösungsweg für mein direktes Problem gefunden welcher ungefähr so aussieht: Code: public string GetSelectedMacroBoxFileName() { string tempFilePath = PathMap.SubstitutePath("$(TMP)") + "\\macroname.edc"; string result = string.Empty; CommandLineInterpreter interpreter = new CommandLineInterpreter(); ActionCallingContext XMExportFunctionActionContext = new ActionCallingContext(); XMExportFunctionActionContext.AddParameter("ConfigScheme", "MacroName"); XMExportFunctionActionContext.AddParameter("CompleteProject", "0"); XMExportFunctionActionContext.AddParameter("Destination", tempFilePath); XMExportFunctionActionContext.AddParameter("ExecutionMode", "0"); interpreter.Execute("XMSelectObjectsInsideMacroBoxAction"); interpreter.Execute("XMExportFunctionAction", XMExportFunctionActionContext); XmlTextReader reader = new XmlTextReader(tempFilePath); while (reader.Read()) { if (reader.HasAttributes) { while (reader.MoveToNextAttribute()) { if (reader.Name == "P20468") { if (reader.Value != "") { result = PathMap.SubstitutePath("$(MD_MACROS)") + "\\" + reader.Value; } } } } } return result; }
Leider hilft mir das in meinem konkreten Fall auch nicht weiter weil ich noch eine weitere Action an dem Makrokasten ausführen will und der ja nach XMSelectObjectsInsideMacroBoxAction nicht mehr markiert ist Die andere Action benötigt die den String von GetSelectedMacroBoxFileName() und kann somit nicht vorher ausgeführt werden. Jemand ne Idee wie ich nen Makrokasten markiert bekommen? ------------------ “Hacker (noun): An organism that converts caffeine or alcohol into code.” ~ Standard Definition Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
matthespro Mitglied Elektrotechnikermeister, Selbständig
  
 Beiträge: 532 Registriert: 22.09.2006 Eplan 5.70.3 Prof. Int. Eplan 21 4.3 Prof. Int. mit GM Tool 3.214 Eplan P8 Prof. Int. 2.2 - Aktuell EPLAN P8 Fluid Addon 2.2 - Aktuell Eplan P8 Prof. Int. mit GM Tool Win 7 64 Bit MS Office 2010
|
erstellt am: 08. Jan. 2015 09:23 <-- editieren / zitieren --> Unities abgeben:          Nur für DanielPa
 Moinsen........ hast du es mal mit XGedSelectSameObjectsAction versucht? Wenn du mit rechter Maustaste ein Bauteil markierst und dann im Kontextmenü "Objekte gleichen Typs markieren" auswählst, führst du diese Action aus...... Vielleicht lässt sich das ja in der Verbindung mit dem Symbolname des Makrokasten in einem Skript verwurschteln. ------------------ Frauen Komplimente machen, ist wie Topfschlagen im Minenfeld! Es sind immer nur ein paar mm zwischen Leben und Tod  Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RomyZ Mitglied Dipl.-Ing (BA) Elektrotechnik
   
 Beiträge: 1445 Registriert: 09.11.2010 Eplan Professional P8 2.2 ... 2022 Eplan Professional ProPanel Engineering Center (ECAD+TEXT+WORD)
|
erstellt am: 08. Jan. 2015 10:11 <-- editieren / zitieren --> Unities abgeben:          Nur für DanielPa
Hi Daniel Du kommst auch in EPLAN an die Eigenschaft... Geht über Blockeigenschaft: (Artikel > Artikel, allgemein > Artikel 1) [117,1<22145,0,0,0,0,0,0,0,0,de_DE,0,0,0,0,0,0>] ggf musst du noch die Zwischenebene der Hauptfunktion reinbringen Dann kannst du das auch in deiner Beschriftung exportieren (Betriebsmittelliste oder so was ähnl.) EDIT: Das ist die Eigenschaft auf dem Bauteil nicht auf dem Kasten, daher hilft dir das wahrscheinlich nicht weiter.... ------------------ Romy [Diese Nachricht wurde von RomyZ am 08. Jan. 2015 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| Projektmanager (all gender) Hoteltechnik & Instandhaltung | Shipmanagement | Die TUI Cruises GmbH ist einer der führenden Kreuzfahrtanbieter im deutschsprachigen Raum. Das Gemeinschaftsunternehmen der TUI AG und des US-Kreuzfahrtunternehmens Royal Caribbean Cruises Ltd. beschäftigt rund 750 Mitarbeitende in Hamburg und Berlin. An Bord der Schiffe werden 136 Positionen direkt von der TUI Cruises GmbH betreut. Für die Marke Mein Schiff® fährt eine Flotte von acht Schiffen.... | Anzeige ansehen | Feste Anstellung |
|
DanielPa Mitglied Consultant
 
 Beiträge: 378 Registriert: 21.05.2009 WSCAD Suit Ultimate 2015 Eplan P8 2.2.5 und 2.4
|
erstellt am: 08. Jan. 2015 19:52 <-- editieren / zitieren --> Unities abgeben:         
Hallo ihr zwei, danke für eure Antworten. Ich hätte vielleicht noch mein finales Ziel verraten sollen. Ich möchte in einem Script SwitchMacroVariant die Auswahl der Varianten auf die tatsächlich in der Datei vorhanden Varianten kürzen. Hierzu benötige ich den Dateinamen aus dem aktuell selektierten Makrokasten um dann die Varianten im XML zählen zu können. Mit der oben aufgeführten Variante komme ich zwar über die zugehörigen Objekte auf den Makronamen jedoch geht hierdurch die Auswahl im GED verloren und ich kann die Variante nicht mehr per Action setzen. @Matthes: selbst wenn XGedSelectSameObjectAction Contextparameter hätte weiß ich nicht wie die heißen. @Romy: Mit der Eigenschaft 24068 würde das schon gehen aber siehe oben :-/ @Ich: Seh einfach ein, dass Scripting nicht für sowas gemacht ist :,( MfG Daniel ------------------ “Hacker (noun): An organism that converts caffeine or alcohol into code.” ~ Standard Definition Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |