| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für EPLAN |
Autor
|
Thema: Makro Anzeigen (3509 mal gelesen)
|
Sbg Markus Mitglied
Beiträge: 516 Registriert: 24.11.2009 Eplan P8 2.7 Eplan P8 2.5 Eplan P8 2.3 Eplan P8 2.2 Eplan P8 2.0 Eplan 5.70.4.26200
|
erstellt am: 23. Jan. 2014 09:57 <-- editieren / zitieren --> Unities abgeben:
Ich möchte mir ein Makro in unseren Warenwirtschaftsprogramm anzeigen lasen. Dafür habe ich folgenden Befehlszeile erstellt. Da ich mehrere Varianten bei diesem Makro hinterlegt habe will ich die Variante A vorgeben. Welches Argument muss ich da noch anhängen ? "C:\Eplan\Electric P8\Platform\2.3.5\Bin\Eplan.exe" /Variant:"View" XSDPreviewAction /PROJECTNAME:"g:\EPLAN\Projekte\Neues Projekt" /MACRONAME:"Anreihverteiler\Kastentiefe 400mm\RQA7-400.ema" /SHOW:1 ------------------ --------------- mfg Markus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DanielPa Mitglied Consultant
Beiträge: 377 Registriert: 21.05.2009 WSCAD Suit Ultimate 2015 Eplan P8 2.2.5 und 2.4
|
erstellt am: 24. Jan. 2014 11:33 <-- editieren / zitieren --> Unities abgeben: Nur für Sbg Markus
Hi, wenn die Verzeichnisse stimmen, sollte das so funktionieren. Dir ist aber klar das hiermit immmer eine Instanz von Eplan im Hintergrund startet und dass ein Anwender der keine Lizenz hat oder Eplan nicht an dieser Stelle ( C:\Eplan\Electric P8\Platform\2.3.5\Bin\Eplan.exe) installiert hat auch nichts angezeigt bekommt (außer Fehlermeldung). Um ein Makro wirklich innerhalb einer anderen Software angezeigt zu bekommen (siehe Bild), benötigst du eine API-Lizenz. MfG Daniel Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sbg Markus Mitglied
Beiträge: 516 Registriert: 24.11.2009 Eplan P8 2.7 Eplan P8 2.5 Eplan P8 2.3 Eplan P8 2.2 Eplan P8 2.0 Eplan 5.70.4.26200
|
erstellt am: 27. Jan. 2014 07:04 <-- editieren / zitieren --> Unities abgeben:
|
DanielPa Mitglied Consultant
Beiträge: 377 Registriert: 21.05.2009 WSCAD Suit Ultimate 2015 Eplan P8 2.2.5 und 2.4
|
erstellt am: 28. Jan. 2014 08:29 <-- editieren / zitieren --> Unities abgeben: Nur für Sbg Markus
|
JochenNie Mitglied Elektrokonstrukteur
Beiträge: 269 Registriert: 15.05.2013 EPLAN Electric P8 - Professional Version: 2.9 SP1 Update 10 Version: 2023 Update 1
|
erstellt am: 04. Mrz. 2015 11:19 <-- editieren / zitieren --> Unities abgeben: Nur für Sbg Markus
Hallo zusammen, vorweg schon einmal. Ich bin im Scripten ein Anfänger. Ich möchte wie Markus die Variante A anzeigen lassen (Momentan wird mir immer die letzte Variante angezeigt). Gibt es vielleicht noch eine andere Möglichkeit dies zu realisieren? Gruß Jochen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DanielPa Mitglied Consultant
Beiträge: 377 Registriert: 21.05.2009 WSCAD Suit Ultimate 2015 Eplan P8 2.2.5 und 2.4
|
erstellt am: 04. Mrz. 2015 14:00 <-- editieren / zitieren --> Unities abgeben: Nur für Sbg Markus
Hi, leider geht das immer noch nicht mit der standard Action. Einzige Möglichkeit die mir einfällt ist per Script eine Kopie des anzuzeigenden Makros zu machen und die anderen Varianten rauslöschen. Und dann das reduzierte Makro anzuzeigen. In etwa so:
Code: using System.IO; using System.Xml; using System.Xml.XPath;public class Script { [Start] public void ShowPreview(string relMacroName, string variant, string projectName) { string macroPath = PathMap.SubstitutePath("$(MD_MACROS)"); string macroName = macroPath+"\\"+relMacroName; string tempPath = PathMap.SubstitutePath("$(TMP)"); string tempMacroName = tempPath+"\\"+Path.GetFileName(macroName); File.Copy(macroPath+"\\"+relMacroName, tempMacroName, true); if(File.Exists(tempMacroName)) { XmlDocument document = new XmlDocument(); document.Load(tempMacroName); XmlNodeList nodeList = document.SelectNodes("//MacroVariant"); for(int i =0; i < nodeList.Count; i++) { if (nodeList[i].Attributes["VariantId"].Value != variant) { nodeList[i].ParentNode.RemoveChild(nodeList[i]); } } document.Save(tempMacroName); CommandLineInterpreter oCli = new CommandLineInterpreter(); ActionCallingContext acc = new ActionCallingContext(); acc.AddParameter("PROJECTNAME", projectName); if (File.Exists(tempMacroName)) { acc.AddParameter("MACRONAME", tempMacroName); } acc.AddParameter("SHOW", "1"); oCli.Execute("XSDPreviewAction", acc); } } }
Der Aufruf aus der Konsole analog zu Markus seinem (mit Eplan Viewer) wäre dann: Code: "C:\Eplan\Electric P8\Platform\2.3.5\Bin\Eplan.exe" /Variant:"View" ExecuteScript /ScriptFile:"C:\ShowPreview.cs" /relMacroName:"Anreihverteiler\Kastentiefe 400mm\RQA7-400.ema" /variant:"0" /projectName:"g:\EPLAN\Projekte\Neues Projekt.elk"
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 |
JochenNie Mitglied Elektrokonstrukteur
Beiträge: 269 Registriert: 15.05.2013 EPLAN Electric P8 - Professional Version: 2.9 SP1 Update 10 Version: 2023 Update 1
|
erstellt am: 05. Mrz. 2015 07:40 <-- editieren / zitieren --> Unities abgeben: Nur für Sbg Markus
Hallo Daniel, vielen Dank für Deinen Code. Genau das habe ich gesucht. Ich habe das Script mit einen Kollegen noch etwas für uns angepasst. Ich speichere nicht mehr jedes Bild separat, sondern nur noch eine Vorschau (Preview.???). Code: using System.IO; using System.Xml; using System.Xml.XPath; public class Script { [Start]public void ShowPreview(string relMacroName, string variant, string projectName) { string macroPath = PathMap.SubstitutePath("$(MD_MACROS)"); string macroName = macroPath+"\\"+relMacroName; string tempPath = PathMap.SubstitutePath("$(TMP)"); string tempMacroName = tempPath+"\\"+"Preview1."+relMacroName.Substring(relMacroName.Length-3,3); if (this.checkBox1.Checked) { File.Copy(relMacroName, tempMacroName, true); if(File.Exists(tempMacroName)) { XmlDocument document = new XmlDocument(); document.Load(tempMacroName); XmlNodeList nodeList = document.SelectNodes("//MacroVariant"); for(int i =0; i < nodeList.Count; i++) { if (nodeList[i].Attributes["VariantId"].Value != variant) { nodeList[i].ParentNode.RemoveChild(nodeList[i]); } } document.Save(tempMacroName); CommandLineInterpreter oCli = new CommandLineInterpreter(); ActionCallingContext acc = new ActionCallingContext(); acc.AddParameter("PROJECTNAME", projectName); if (File.Exists(tempMacroName)) { acc.AddParameter("MACRONAME", tempMacroName); } acc.AddParameter("SHOW", "1"); oCli.Execute("XSDPreviewAction", acc); } } }
Gruß Jochen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DanielPa Mitglied Consultant
Beiträge: 377 Registriert: 21.05.2009 WSCAD Suit Ultimate 2015 Eplan P8 2.2.5 und 2.4
|
erstellt am: 05. Mrz. 2015 13:59 <-- editieren / zitieren --> Unities abgeben: Nur für Sbg Markus
Ihr habt natürlich recht. So wird der Temp-Ordner nicht so voll. Mich würde interessieren (wenn du das preisgeben kannst)was ihr mit der Vorschau anstellt. Soll heißen, wie ist euer Anwendungsfall? 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 |
JochenNie Mitglied Elektrokonstrukteur
Beiträge: 269 Registriert: 15.05.2013 EPLAN Electric P8 - Professional Version: 2.9 SP1 Update 10 Version: 2023 Update 1
|
erstellt am: 05. Mrz. 2015 14:57 <-- editieren / zitieren --> Unities abgeben: Nur für Sbg Markus
Hallo Daniel, ich bin bei Suplanus auf ein interessantes Script gestoßen. http://suplanus.de/category/eplan/page/2/ Es heißt MacroNavi. Dort kann man Makros über eine vernünftige Baumstruktur auswählen und platzieren. Leider wird hier in der Preview das letzte Makro angezeigt und nicht die Variante A. Dieses Script haben wir uns mit Hilfe deines Code angepasst. Funktioniert soweit auch, bis auf ein paar Kleinigkeiten. Der Tooltiptext (Beschreibung der Makrovariante) wird z.B. noch von der letzten Variante angezeigt. Vielen Dank nochmals für Deine Unterstützung. Gruß Jochen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DanielPa Mitglied Consultant
Beiträge: 377 Registriert: 21.05.2009 WSCAD Suit Ultimate 2015 Eplan P8 2.2.5 und 2.4
|
erstellt am: 05. Mrz. 2015 16:58 <-- editieren / zitieren --> Unities abgeben: Nur für Sbg Markus
Schmunzel Als ich das oben zusammenkopiert hab, war mein erster Gedanke das auch in den MakroNavi einzubauen. Arbeite aber gerade an einer neuen Version mit einer neuen TreeView und will noch ein paar weitere Ideen die mir die Tage gekommen sind noch einfließen lassen. Wird vermutlich noch eins-zwei Wochen dauern aber wenn's Fertig ist gibt's den auch wieder hier. Wie ist den die Performance mit der "neuen" Vorschau beim durchklicken der Makros? 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 |
JochenNie Mitglied Elektrokonstrukteur
Beiträge: 269 Registriert: 15.05.2013 EPLAN Electric P8 - Professional Version: 2.9 SP1 Update 10 Version: 2023 Update 1
|
erstellt am: 06. Mrz. 2015 07:50 <-- editieren / zitieren --> Unities abgeben: Nur für Sbg Markus
Hallo Daniel, das ist ja interessant. Die Performance ist noch in Ordnung. Könnte etwas schneller sein. Wir mussten leider ein Schleifchen einbauen, da wir uns ein Label anzeigen lassen wollen, in dem die Beschreibung des Makros steht. Außerdem haben wir ein Problem mit der Vorschau. Wir lassen die Bezeichnung 1 und 2 bei manchen Makros anzeigen, diese werden aber nicht immer in der Vorschau angezeigt. Warum das so ist, können wir auch nicht erklären. Wir sind aber noch am Ball. Kann Dich gerne auf dem laufenden halten. Gruß Jochen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DanielPa Mitglied Consultant
Beiträge: 377 Registriert: 21.05.2009 WSCAD Suit Ultimate 2015 Eplan P8 2.2.5 und 2.4
|
erstellt am: 13. Mrz. 2015 13:03 <-- editieren / zitieren --> Unities abgeben: Nur für Sbg Markus
NA ENDLICH!!! Eplan hat für die Version 2.5 endlich selbst einen Makronavigator gebaut. Ich für meinen Teil werde deshalb vorerst die Weiterentwicklung meines MacroNavis einstellen. Einen Zwischenstand werde ich allerdings nicht hochladen weil dieser noch Fehlerhafter wäre als der Aktuelle. Wenn sich Eplan das als sep. Modul bezahlen lässt mache ich evtl. weiter. Bis dahin bin ich sehr gespannt was Eplan da liefern wird! 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 |
| Projektingenieur (m/w/d) Elektroplanung, Schwerpunkt Energietechnik | Wir sind ein international agierendes, innovatives Unternehmen innerhalb einer mittelständischen Unternehmensgruppe. Wir bieten unseren Kunden hoch spezialisierte Lösungen in den Geschäftsbereichen Umweltüberwachung, Wassertechnologie und mineralische Rohstoffe und haben uns als Industrieforschungs- und Entwicklungszentrum für fortgeschrittene Technologien auf diesen Gebieten etabliert. ... | Anzeige ansehen | Projektmanagement |
|
JochenNie Mitglied Elektrokonstrukteur
Beiträge: 269 Registriert: 15.05.2013 EPLAN Electric P8 - Professional Version: 2.9 SP1 Update 10 Version: 2023 Update 1
|
erstellt am: 13. Mrz. 2015 13:08 <-- editieren / zitieren --> Unities abgeben: Nur für Sbg Markus
|