| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für EPLAN |
Autor
|
Thema: Beschriftung in Auswertungen (4312 mal gelesen)
|
Geronimo Mitglied
Beiträge: 1040 Registriert: 14.12.2001 EPlan P8 2.8
|
erstellt am: 05. Mai. 2010 07:28 <-- editieren / zitieren --> Unities abgeben:
Über "Projekt auswerten" kann ich ja jede Menge "interne" Auswertungen gleichzeitig erstellen. Ist es auch möglich in diese Liste "Beschriftungen" zu übernehmen? Ich muß verschiedene Listen auch immer "extern" (z.B. die Stückliste, Kabelliste etc.) als Exel-Liste mit ausgeben lassen. ------------------ gruß ger nim Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
susi 7 Mitglied Elektrotechnikermeisterin
Beiträge: 1375 Registriert: 31.12.2004 Eplan 5 Prof 5.20 - 5.70SP1HF2 Electric P8 all in Windows 10
|
erstellt am: 05. Mai. 2010 08:03 <-- editieren / zitieren --> Unities abgeben: Nur für Geronimo
Hallo Geronimo, Projekt auswerten greift auf die Vorlagen, die unter Auswertung erzeugen hinterlegt sind, oder aktualisiert vorhandene Auswertungen. Da kommst Du so nicht an die beschriftungen drann. In der Beta sehe ich hierzu keine Veränderung. Frag doch mal eplan - ich denke das wäre doch nen Softwarewunsch wert ------------------ Gruss Susi Susi`s Bikertreff Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Geronimo Mitglied
Beiträge: 1040 Registriert: 14.12.2001 EPlan P8 2.8
|
erstellt am: 05. Mai. 2010 08:13 <-- editieren / zitieren --> Unities abgeben:
|
Björn N. Mitglied
Beiträge: 124 Registriert: 14.11.2008 Electric P8-Professional Version: 1.9 International SP1 Version: 2.2 Version: 2.4 Version: 2.6 Version: 2.8
|
erstellt am: 05. Mai. 2010 08:28 <-- editieren / zitieren --> Unities abgeben: Nur für Geronimo
|
Geronimo Mitglied
Beiträge: 1040 Registriert: 14.12.2001 EPlan P8 2.8
|
erstellt am: 05. Mai. 2010 08:55 <-- editieren / zitieren --> Unities abgeben:
|
F.S. Moderator
Beiträge: 1815 Registriert: 23.04.2003 EPLAN Electric P8 2023 Prof.
|
erstellt am: 05. Mai. 2010 09:04 <-- editieren / zitieren --> Unities abgeben: Nur für Geronimo
|
Geronimo Mitglied
Beiträge: 1040 Registriert: 14.12.2001 EPlan P8 2.8
|
erstellt am: 05. Mai. 2010 09:30 <-- editieren / zitieren --> Unities abgeben:
hallo frank, klasse idee!! dafür gibt's schon mal 10Ü's. dazu dann noch eine frage. das script wird im projektordner abgelegt. wenn ich das script auch für andere projekte nutzen will und aus einem standartordner starte kommt die fehlermeldung "Der erwartete Aufrufparameter ProjectName fehlt".
kann ich das script entspechend verändern? wenn ja, wo? Hier ist das Listing: public class Script { [Start] public void AutoTreat(String ProjectName) { Progress progress = new Progress("SimpleProgress"); progress.BeginPart(100,""); progress.SetAllowCancel(true); if(!progress.Canceled()) { progress.BeginPart(50,"UpdateReports"); ActionCallingContext updateReportsContext = new ActionCallingContext (); updateReportsContext.AddParameter("LogMsgActionDone","true"); updateReportsContext.AddParameter("PROJECTNAME",ProjectName); updateReportsContext.AddParameter("TYPE","PROJECT"); new CommandLineInterpreter().Execute("reports",updateReportsContext); progress.EndPart(); } if(!progress.Canceled()) { progress.BeginPart(50,"Labelling"); ActionCallingContext labellingContext2 = new ActionCallingContext (); labellingContext2.AddParameter("CONFIGSCHEME","BMK-Liste"); labellingContext2.AddParameter("DESTINATIONFILE",@"D:\Data Private\BMK-Liste.xls"); labellingContext2.AddParameter("FILTERSCHEME",""); labellingContext2.AddParameter("LANGUAGE","de_DE"); labellingContext2.AddParameter("LogMsgActionDone","true"); labellingContext2.AddParameter("SHOWOUTPUT","1"); labellingContext2.AddParameter("PROJECTNAME",ProjectName); labellingContext2.AddParameter("RECREPEAT","1"); labellingContext2.AddParameter("SORTSCHEME",""); labellingContext2.AddParameter("TASKREPEAT","1"); new CommandLineInterpreter().Execute("label",labellingContext2); progress.EndPart(); } progress.EndPart(true); } }
------------------ gruß ger nim Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
F.S. Moderator
Beiträge: 1815 Registriert: 23.04.2003 EPLAN Electric P8 2023 Prof.
|
erstellt am: 05. Mai. 2010 13:17 <-- editieren / zitieren --> Unities abgeben: Nur für Geronimo
|
Geronimo Mitglied
Beiträge: 1040 Registriert: 14.12.2001 EPlan P8 2.8
|
erstellt am: 05. Mai. 2010 13:48 <-- editieren / zitieren --> Unities abgeben:
|
Geronimo Mitglied
Beiträge: 1040 Registriert: 14.12.2001 EPlan P8 2.8
|
erstellt am: 05. Mai. 2010 14:14 <-- editieren / zitieren --> Unities abgeben:
ich bin's nochmal jonnys seite hat mir schon mal ein stück weitergeholfen. nur nochmal zur erinnerung: was will ich machen? die auswertungen sollen aktualisiert werden und eine beschriftung erstellt werden. nach dem ausführen bekomme ich die meldung : "Projekt nicht gefunden. Parameter name : PROJECTNAME" danach wird die aktualisierung der auswertungen NICHT durchgeführt; die beschriftung wird gemacht. ich denke da ist ein fehler zwischen Progress progress = new Progress("SimpleProgress"); und progress.EndPart(); (um es hervorzuheben habe ich mal zwei eingefügt....) ich weiß aber nicht wo mein listing lautet jetzt so: public class Auswertung { [Start] [DeclareAction("Auswertung")] public void AuswertungVoid() { string ProjectFullName = PathMap.SubstitutePath("$(P)"); // Projektpfad + Projektname + Erweiterung string sProjectName = PathMap.SubstitutePath("$(PROJECTNAME)"); string Projectpath = PathMap.SubstitutePath("$(PROJECTPATH)"); // Projektpfad Projectpath = Projectpath.Substring(0, Projectpath.LastIndexOf("\\")); // Pfad zur Projektdatei Progress progress = new Progress("SimpleProgress"); progress.BeginPart(100,""); progress.SetAllowCancel(true); if(!progress.Canceled()) { progress.BeginPart(50,"UpdateReports"); ActionCallingContext updateReportsContext = new ActionCallingContext (); updateReportsContext.AddParameter("LogMsgActionDone","true"); updateReportsContext.AddParameter("PROJECTNAME",sProjectName); updateReportsContext.AddParameter("TYPE","PROJECT"); new CommandLineInterpreter().Execute("reports",updateReportsContext); progress.EndPart(); } if(!progress.Canceled()) { progress.BeginPart(50,"Labelling"); ActionCallingContext labellingContext2 = new ActionCallingContext (); labellingContext2.AddParameter("CONFIGSCHEME","BMK-Liste"); labellingContext2.AddParameter("DESTINATIONFILE",@"D:\Data Private\" + sProjectName + " - BMK List.xls"); labellingContext2.AddParameter("FILTERSCHEME",""); labellingContext2.AddParameter("LANGUAGE","de_DE"); labellingContext2.AddParameter("LogMsgActionDone","true"); labellingContext2.AddParameter("SHOWOUTPUT","1"); labellingContext2.AddParameter("PROJECTNAME",ProjectFullName); labellingContext2.AddParameter("RECREPEAT","1"); labellingContext2.AddParameter("SORTSCHEME",""); labellingContext2.AddParameter("TASKREPEAT","1"); new CommandLineInterpreter().Execute("label",labellingContext2); progress.EndPart(); } progress.EndPart(true); } }
------------------ gruß ger nim Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
F.S. Moderator
Beiträge: 1815 Registriert: 23.04.2003 EPLAN Electric P8 2023 Prof.
|
erstellt am: 05. Mai. 2010 14:52 <-- editieren / zitieren --> Unities abgeben: Nur für Geronimo
|
Geronimo Mitglied
Beiträge: 1040 Registriert: 14.12.2001 EPlan P8 2.8
|
erstellt am: 05. Mai. 2010 14:57 <-- editieren / zitieren --> Unities abgeben:
|
dechau Mitglied Konstrukteur
Beiträge: 96 Registriert: 04.06.2008 5.7prof. P8 2.2 prof. mit diversen Zusätzen
|
erstellt am: 06. Mai. 2010 06:49 <-- editieren / zitieren --> Unities abgeben: Nur für Geronimo
Moin, gibt es eine Möglichkeit sich auch die ganzen Beschriftungen in einem Ordner abzulegen? D.H. aus dem Skript herraus einen Ordner zu erstellen (z.b. auf dem Desktop) mit dem Projektnamen oder der Zeichnungsnummer und dann die Beschriftung da rein zu bekommen? Oder hab ich da nur was übersehen? Gruss Dirk ------------------ Gruß aus HH, der schönsten Stadt der Welt! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Geronimo Mitglied
Beiträge: 1040 Registriert: 14.12.2001 EPlan P8 2.8
|
erstellt am: 06. Mai. 2010 07:09 <-- editieren / zitieren --> Unities abgeben:
hallo dirk, ja, das funktioniert. der projektbezogene dateiname wird hier labellingContext2.AddParameter("DESTINATIONFILE",@"D:\Data Private\" + sProjectName + " - BMK List.xls"); erzeugt (verzeichnis + sProjectName + erweiterung) du kannst dir also beim "script zusammen klicken" (ist dann noch auf das aktuelle projekt bezogen) mehrere beschriftungen auswählen und dann das script entsprechend allgemein anpassen. für den fall das du z.b. ein script mit drei beschriftungen anlegst willst ist der bereich: progress.BeginPart(50,"Labelling"); ActionCallingContext labellingContext2 = new ActionCallingContext (); labellingContext2.AddParameter("CONFIGSCHEME","BMK-Liste"); labellingContext2.AddParameter("DESTINATIONFILE",@"D:\Data Private\" + sProjectName + " - BMK List.xls"); labellingContext2.AddParameter("FILTERSCHEME",""); labellingContext2.AddParameter("LANGUAGE","de_DE"); labellingContext2.AddParameter("LogMsgActionDone","true"); labellingContext2.AddParameter("SHOWOUTPUT","1"); labellingContext2.AddParameter("PROJECTNAME",ProjectName); labellingContext2.AddParameter("RECREPEAT","1"); labellingContext2.AddParameter("SORTSCHEME",""); labellingContext2.AddParameter("TASKREPEAT","1"); new CommandLineInterpreter().Execute("label",labellingContext2); progress.EndPart(); } 3 mal vorhanden; mit unterschiedlichen schemen. ich hoffe das hilft dir schon mal ------------------ gruß ger nim Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Geronimo Mitglied
Beiträge: 1040 Registriert: 14.12.2001 EPlan P8 2.8
|
erstellt am: 06. Mai. 2010 07:29 <-- editieren / zitieren --> Unities abgeben:
womit ich jetzt noch ein problem habe: ich würde gerne einen button mit dem script belegen weiß aber nicht wie das geht und ich bin mir sicher das die kopfzeile dafür nicht ganz richtig ist public class Auswertung { [Start] [DeclareAction("Auswertung")] public void AuswertungVoid() ------------------ gruß ger nim Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
dechau Mitglied Konstrukteur
Beiträge: 96 Registriert: 04.06.2008 5.7prof. P8 2.2 prof. mit diversen Zusätzen
|
erstellt am: 06. Mai. 2010 08:04 <-- editieren / zitieren --> Unities abgeben: Nur für Geronimo
Hallo nochmal, sieht so weit ganz gut aus. Nur möchte ich am Anfang der Aktion einen neuen Ordner erstellen (Desktop oder irgendwo anders) und als Aktion auch noch die Aktion Seit/Export/pdf (mit allen externen Dokumenten) einbinden. Dann das ganze noch auf eine Toolbar und schon ist der Tag gerettet Über Skript ausführen wird alles schon optimal erledigt, es sind mal wieder nur kleiningkeiten die angepasst werden müssen. Leider reichen da aber meine Kenntnisse nicht weiter. Danke und Grüsse ------------------ Gruß aus HH, der schönsten Stadt der Welt! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
F.S. Moderator
Beiträge: 1815 Registriert: 23.04.2003 EPLAN Electric P8 2023 Prof.
|
erstellt am: 06. Mai. 2010 08:17 <-- editieren / zitieren --> Unities abgeben: Nur für Geronimo
|
F.S. Moderator
Beiträge: 1815 Registriert: 23.04.2003 EPLAN Electric P8 2023 Prof.
|
erstellt am: 06. Mai. 2010 08:28 <-- editieren / zitieren --> Unities abgeben: Nur für Geronimo
@dechau So ermittelt man z.B. den Desktop-Ordner:
Code: sAuftragsOrdner = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory)
und so legt man einen neuen Ordner an:
Code: If Not System.IO.Directory.Exists(sAuftragsOrdner) Then System.IO.Directory.CreateDirectory(sAuftragsOrdner)
dies sind Beispiele in VB.net. Wenn du mehr Hilfe benötigst müßtest du deinen Code hier hochladen. grüße FrankS
------------------ TwinTop-Freunde Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Geronimo Mitglied
Beiträge: 1040 Registriert: 14.12.2001 EPlan P8 2.8
|
erstellt am: 06. Mai. 2010 09:14 <-- editieren / zitieren --> Unities abgeben:
danke, funtioniert. und für alle die, wie ich jetzt , nach der neuen Action gesucht haben
einfach in der befehlszeile (in meinem fall" "Auswertung" eingeben (ohne ") [DeclareAction("Auswertung")]
------------------ gruß ger nim Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
dechau Mitglied Konstrukteur
Beiträge: 96 Registriert: 04.06.2008 5.7prof. P8 2.2 prof. mit diversen Zusätzen
|
erstellt am: 06. Mai. 2010 12:28 <-- editieren / zitieren --> Unities abgeben: Nur für Geronimo
Moin, es funktioniert soweit, ich häng halt nur am erstellen eines Button oder eines Menüeintrages und am erstellen eines Ordners. Falls jemand weiterhelfen kann wäre ich sehr dankbar. Gruss Dirk ------------------ Gruß aus HH, der schönsten Stadt der Welt! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Geronimo Mitglied
Beiträge: 1040 Registriert: 14.12.2001 EPlan P8 2.8
|
erstellt am: 06. Mai. 2010 13:35 <-- editieren / zitieren --> Unities abgeben:
zum thema button: wie man grundsätzlich eine schaltfläche einfügst weißt du? im menübereich RMT - anpassen - register "Befehle" - Kategorie "Aktionen" - eine Schaltfläche aussuchen (egal welche) - eine Bilddatei aussuchen und in die Befehlszeile deine Aktion eingeben (bei mir war das "Auswertung; siehe vorletzten post). dann noch die ansicht speichern und feddisch. (geht vielleicht auch einfacher; weiß ich aber nicht ) menü hab ich auch hinbekommen hier das listing für einen neuen menüeintrag (neben dem Menüpunkt "Hilfe"): public class ZusatzMenu { [DeclareMenu] public void ZusatzMenuFunction() { uint intIDUntermenue1; // MenuID Eplan.EplApi.Gui.Menu oMenu = new Eplan.EplApi.Gui.Menu(); intIDUntermenue1=oMenu.AddMainMenu( "Zuatz", // Hauptmenüname "Hilfe", // neben Menüpunkt... "Auswertung + Beschriftung", // Menüpunktname "Auswertung", // Action "Auswertung + Beschriftung erzeugen", // Statustext 1 // Hinter Menüpunkt x );
} } an einem 2. menüeintrag bin ich noch am basteln; auf der ePlanus seite gibt's dafür auch beispiele ------------------ gruß ger nim Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Geronimo Mitglied
Beiträge: 1040 Registriert: 14.12.2001 EPlan P8 2.8
|
erstellt am: 06. Mai. 2010 13:38 <-- editieren / zitieren --> Unities abgeben:
p.s. das listing für den menüeintrag ist für eine neue script-datei; nicht um das andere listing zu ergänzen! das script mußt du dann nur noch laden und hast schon den menüeintrag. ------------------ gruß ger nim Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Geronimo Mitglied
Beiträge: 1040 Registriert: 14.12.2001 EPlan P8 2.8
|
erstellt am: 18. Mai. 2010 06:49 <-- editieren / zitieren --> Unities abgeben:
ich muß das thema nochmal rauskramen da ich ein kleines problem habe. beim aufruf des scripts kommt die fehlermeldung: "Projekt nicht gefunden. Parameter name: PROJECTNAME" das ganze vier mal (macht sinn weil die variable 4 mal im script aufgerufen wird) aber warum kommt jetzt die meldung? ich gehe mal davon aus das folgende zeilen dafür verantwortlich sind:
string ProjectFullName = PathMap.SubstitutePath("$(P)"); // Projektpfad + Projektname + Erweiterung string sProjectName = PathMap.SubstitutePath("$(PROJECTNAME)"); ..... updateReportsContext.AddParameter("PROJECTNAME",ProjectFullName); ........... labellingContext.AddParameter("DESTINATIONFILE",@"D:\Data Private\" + sProjectName + " _ order list.xls"); ..... labellingContext.AddParameter("PROJECTNAME",ProjectFullName); das komplette listing gibt es hier : http://www.gischel.net/Magic/topic.php?id=844 ------------------ gruß ger</A> nim Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
falohh Mitglied Engineering
Beiträge: 104 Registriert: 22.02.2006
|
erstellt am: 01. Jun. 2010 13:56 <-- editieren / zitieren --> Unities abgeben: Nur für Geronimo
moin moin kann mir jemand von euch sagen wie ich einen unterordner erstellen kann der den namen des projektes hat??? hier meine ich: labellingContext.AddParameter("DESTINATIONFILE", Projectpath + sProjectName + "_Beschriftung.xls"
hier möchte ich ein verzeichniss vorgeben in dem dann immer unterordner erstellt werden die den namen des projektes haben aus dem die daten generiert werden. vielen dank vorab Gruß Olli Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
F.S. Moderator
Beiträge: 1815 Registriert: 23.04.2003 EPLAN Electric P8 2023 Prof.
|
erstellt am: 01. Jun. 2010 14:14 <-- editieren / zitieren --> Unities abgeben: Nur für Geronimo
|
falohh Mitglied Engineering
Beiträge: 104 Registriert: 22.02.2006
|
erstellt am: 01. Jun. 2010 14:22 <-- editieren / zitieren --> Unities abgeben: Nur für Geronimo
hallo frank ja das habe ich auch schon gelesen und ausprobiert. geht bei mir aber nicht. muss dazu sagen das ich von scripten fast null plan habe. so sieht mein script aus, das geht auch. public class Beschriftung { [Start] public void AutoTreat(String ProjectName) { string ProjectFullName = PathMap.SubstitutePath("$(P)"); // Projektpfad + Projektname + Erweiterung string sProjectName = PathMap.SubstitutePath("$(PROJECTNAME)"); string Projectpath = PathMap.SubstitutePath("$(PROJECTPATH)"); // Projektpfad //Projectpath = Projectpath.Substring(0, Projectpath.LastIndexOf("\\")); // Pfad zur Projektdatei // Initialisierung Progressbar Progress progress = new Progress("SimpleProgress"); progress.BeginPart(100, ""); progress.SetAllowCancel(true); if (!progress.Canceled()) { progress.BeginPart(100, "Text im Ladebalken Dialog"); // Parameter für die Action ActionCallingContext labellingContext = new ActionCallingContext(); labellingContext.AddParameter("CONFIGSCHEME","Betriebsmitteletikette"); labellingContext.AddParameter("DESTINATIONFILE", Projectpath + sProjectName + "_Beschriftung.xls"); // Zieldatei: "Projektpfad/Projektname_Testbeschriftung.txt" labellingContext.AddParameter("FILTERSCHEME", ""); labellingContext.AddParameter("LANGUAGE", "de_DE"); labellingContext.AddParameter("LogMsgActionDone", "true"); labellingContext.AddParameter("SHOWOUTPUT", "1"); labellingContext.AddParameter("PROJECTNAME", ProjectFullName); // Projektname komplett mit Erweiterung labellingContext.AddParameter("RECREPEAT", "1"); labellingContext.AddParameter("SORTSCHEME", ""); labellingContext.AddParameter("TASKREPEAT", "1"); // Ausführen der Beschriftungsaction mit Parametern new CommandLineInterpreter().Execute("label", labellingContext); // Progressbar ENDE progress.EndPart(); } progress.EndPart(true); } }
weiß aber nicht wo ich das einbasteln muss Code: -------------------------------------------------------------------------------- sAuftragsOrdner = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory) Code: -------------------------------------------------------------------------------- If Not System.IO.Directory.Exists(sAuftragsOrdner) Then System.IO.Directory.CreateDirectory(sAuftragsOrdner) Gruß Olli
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |