Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  EPLAN Electric P8
  Separate Artikelsummenstückliste per Skript

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für EPLAN
Autor Thema:  Separate Artikelsummenstückliste per Skript (2355 / mal gelesen)
MicRen
Mitglied
Elektrokonstrukteur

Sehen Sie sich das Profil von MicRen an!   Senden Sie eine Private Message an MicRen  Schreiben Sie einen Gästebucheintrag für MicRen

Beiträge: 8
Registriert: 23.08.2017

EPLAN P8 2.6
EPLAN P8 2.5
EPALN P8 2.3
EPALN Fluid Addon

erstellt am: 23. Aug. 2017 14:27    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Struktur.JPG

 
Hallo zusammen,

ich bin neu hier im Forum und habe folgendes Vorhaben, bei dem ich euch um eure Unterstützung bitte.

Ich möchte für jeden Aufstellungsort eine Artikelsummenstückliste über Beschriftung in Excel ausgeben. Dies ist ja in der Regel immer möglich in dem ich den entsprechenden Aufstellungsort auswähle und dann die Beschriftung ausgebe. Die Auswahl möchte ich nun per Skript realisieren/automatisieren oder falls es auch eine andere Möglichkeit gibt auch diese. Die Aufstellungsorte bestehen aus 3 Ziffern und einem Buchstaben zB 010A. Die Ziffern könnte man hochzählen (zB in einer for-Schleife) und die Buchstaben könnte man in einem Array verwalten. Dann müsste eine Abfrage stattfinden ob der Aufstellungsort existiert. Zu den vorhandenen Aufstellungsorten wird dann eine Artikelsummenstückliste ausgegeben.

Ich weiß nicht wie ich die einzelnen Aufstellungsorte per Skript auswählen kann wenn es überhaupt eine Möglichkeit gibt. Außerdem ist mir die Abfrage im Moment auch nicht klar.

Wie gesagt für eure Unterstützung wäre ich euch sehr dankbar.

------------------
---------------
mfg MichaelR

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Straight-Potter
Mitglied
Dipl.Ing. E-Technik


Sehen Sie sich das Profil von Straight-Potter an!   Senden Sie eine Private Message an Straight-Potter  Schreiben Sie einen Gästebucheintrag für Straight-Potter

Beiträge: 601
Registriert: 14.07.2008

EPLAN Plattform 2.9 SP1
API
EEC Prof
EEC One

erstellt am: 24. Aug. 2017 10:33    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für MicRen 10 Unities + Antwort hilfreich

Hallo Michael,

das geht, aber nicht ganz trivial. Du müsstest zunächst ein Beschriftungschema ausgeben das die alle Aufstellungsorte ausgibt.

Diese Liste per Script einlesen und damit das Beschriftungsschema für die Artikelliste manipulieren (Filter anpassen). So bekommst du pro Aufstellungsort eine Artikelliste

Also eher was für den fortgeschrittenen Scripter ...

------------------
Wenn wir bedenken, dass wir alle verrückt
sind, ist das Leben erklärt.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

MicRen
Mitglied
Elektrokonstrukteur

Sehen Sie sich das Profil von MicRen an!   Senden Sie eine Private Message an MicRen  Schreiben Sie einen Gästebucheintrag für MicRen

Beiträge: 8
Registriert: 23.08.2017

EPLAN P8 2.6
EPLAN P8 2.5
EPALN P8 2.3
EPALN Fluid Addon

erstellt am: 24. Aug. 2017 12:53    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Straight-Potter,

das ist doch immerhin ein Ansatzpunkt für mich mit dem ich schon mal ne Richtung habe.
Für weitere Vorschläge wäre trotzdem offen.

Danke.

------------------
---------------
mfg MichaelR

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

cad_hans
Ehrenmitglied V.I.P. h.c.
Techn. Angestellter


Sehen Sie sich das Profil von cad_hans an!   Senden Sie eine Private Message an cad_hans  Schreiben Sie einen Gästebucheintrag für cad_hans

Beiträge: 2052
Registriert: 25.08.2003

ruplan4.70
eplan5.x
P8 V1.9 bis V2.7

erstellt am: 24. Aug. 2017 13:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für MicRen 10 Unities + Antwort hilfreich

hallo,

ja das geht so, hab isch schon mal probiert.
hab mir einen standardfilter gebastelt, per Skript kopiert, den ortseintrag per Skript geändert und für beschriftungsschema verwendet.
Nachteil: man bekommt in eplan wahnsinnig viele filter welche man wieder mühsam löschen muss.

------------------
ruplan4.70
eplan5.x
P8 V1.9 bis V2.7

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Straight-Potter
Mitglied
Dipl.Ing. E-Technik


Sehen Sie sich das Profil von Straight-Potter an!   Senden Sie eine Private Message an Straight-Potter  Schreiben Sie einen Gästebucheintrag für Straight-Potter

Beiträge: 601
Registriert: 14.07.2008

EPLAN Plattform 2.9 SP1
API
EEC Prof
EEC One

erstellt am: 25. Aug. 2017 14:36    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für MicRen 10 Unities + Antwort hilfreich

Geht auch ohne die vielen neuen Filter und Löschen...

Ich schreibe einfach den bestehenden um ;-)

Code:
oSett.SetStringSetting"USER.Labelling.Config.<SCHEMANAME>.Data.SortFilter.FilterSchemeData", "0|1|0|1220;0|0|" + sLoc+ "|0|1|1|0|0|0;0|",0);

In sLoc steht dann jeweils der Einbauort....

------------------
Wenn wir bedenken, dass wir alle verrückt
sind, ist das Leben erklärt.

[Diese Nachricht wurde von Straight-Potter am 25. Aug. 2017 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

MicRen
Mitglied
Elektrokonstrukteur

Sehen Sie sich das Profil von MicRen an!   Senden Sie eine Private Message an MicRen  Schreiben Sie einen Gästebucheintrag für MicRen

Beiträge: 8
Registriert: 23.08.2017

EPLAN P8 2.6
EPLAN P8 2.5
EPALN P8 2.3
EPALN Fluid Addon

erstellt am: 25. Aug. 2017 15:25    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Werde das testen und auf jeden Fall Rückmeldung geben ob ich erfolgreich bin mit dem Codeauszug.
Da wäre ich selbst nicht drauf gekommen.

Nochmals Danke.

------------------
---------------
mfg MichaelR

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

cad_hans
Ehrenmitglied V.I.P. h.c.
Techn. Angestellter


Sehen Sie sich das Profil von cad_hans an!   Senden Sie eine Private Message an cad_hans  Schreiben Sie einen Gästebucheintrag für cad_hans

Beiträge: 2052
Registriert: 25.08.2003

ruplan4.70
eplan5.x
P8 V1.9 bis V2.7

erstellt am: 28. Aug. 2017 11:42    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für MicRen 10 Unities + Antwort hilfreich

hallo,

@straight-potter: wie bist du auf die kombination gekommen?
ich möchte das nutzen und brings nicht hin.

wie komm ich auf die Zeichenfolge und was bedeutet welcher eintrag?
gibt's da eine hilfe?

lg
hans

------------------
ruplan4.70
eplan5.x
P8 V1.9 bis V2.7

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

MicRen
Mitglied
Elektrokonstrukteur

Sehen Sie sich das Profil von MicRen an!   Senden Sie eine Private Message an MicRen  Schreiben Sie einen Gästebucheintrag für MicRen

Beiträge: 8
Registriert: 23.08.2017

EPLAN P8 2.6
EPLAN P8 2.5
EPALN P8 2.3
EPALN Fluid Addon

erstellt am: 28. Aug. 2017 13:31    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


IdentNummeranzeigen.JPG


Beschriftungs_XML.JPG


Filtereinstellungen.JPG

 
Hallo cad_hans,

im Bild "Ident Nummer anzeigen" siehst du wie du dir die Kennzahlen anzeigen lassen kannst. Hiermit hast du schonmal einen Bezug zwischen z.B. Einbauort und 1220.
Die anderen beiden Bilder zeigen zum einen den XML Code einer Beschriftungsvorlage und wie diese in Eplan aussieht.

Ich gehe folgendermaßen vor:
-Beschriftung erstellen
-Beschriftung exportieren
-Beschriftung in Skript entsprechend anpassend

Hoffentlich hilft dir das weiter.

------------------
---------------
mfg MichaelR

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

cad_hans
Ehrenmitglied V.I.P. h.c.
Techn. Angestellter


Sehen Sie sich das Profil von cad_hans an!   Senden Sie eine Private Message an cad_hans  Schreiben Sie einen Gästebucheintrag für cad_hans

Beiträge: 2052
Registriert: 25.08.2003

ruplan4.70
eplan5.x
P8 V1.9 bis V2.7

erstellt am: 28. Aug. 2017 13:59    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für MicRen 10 Unities + Antwort hilfreich

hallo,

ok. danke das wars.
ich hab immer im XML vom filter selbst gesucht.
XML vom beschriftungsschema hatte ich nicht drangedacht.

------------------
ruplan4.70
eplan5.x
P8 V1.9 bis V2.7

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

cad_hans
Ehrenmitglied V.I.P. h.c.
Techn. Angestellter


Sehen Sie sich das Profil von cad_hans an!   Senden Sie eine Private Message an cad_hans  Schreiben Sie einen Gästebucheintrag für cad_hans

Beiträge: 2052
Registriert: 25.08.2003

ruplan4.70
eplan5.x
P8 V1.9 bis V2.7

erstellt am: 28. Aug. 2017 15:57    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für MicRen 10 Unities + Antwort hilfreich

hallo,

ich bekomms nicht hin.
wäre es möglich mir das script zukommen zu lassen?

lg
hans

------------------
ruplan4.70
eplan5.x
P8 V1.9 bis V2.7

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

MSTR
Mitglied
Industriemeister Elektrotechnik


Sehen Sie sich das Profil von MSTR an!   Senden Sie eine Private Message an MSTR  Schreiben Sie einen Gästebucheintrag für MSTR

Beiträge: 38
Registriert: 25.08.2013

EPlan 5.7
EPlan P8 1.8 bis 2.9

erstellt am: 28. Aug. 2017 20:01    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für MicRen 10 Unities + Antwort hilfreich

   
Hallo MicRen,
habe eure Diskussion verfolgt.
Find ich sehr informativ.

Habe das selbe Problem, arbeite zur Zeit mit hunderten Beschriftungsschemas.

Habe die Ausführungen mit dem Filterwechsel noch nicht ganz verstanden.

Wäre es möglich das Script oder ein Beispiel zu veröffentlichen?
Damit wäre die Einbindung in ein Scrit verständlicher.
Es gibt bestimmt noch viele User mit diesem Problem.

Vielen Dank!!!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

MicRen
Mitglied
Elektrokonstrukteur

Sehen Sie sich das Profil von MicRen an!   Senden Sie eine Private Message an MicRen  Schreiben Sie einen Gästebucheintrag für MicRen

Beiträge: 8
Registriert: 23.08.2017

EPLAN P8 2.6
EPLAN P8 2.5
EPALN P8 2.3
EPALN Fluid Addon

erstellt am: 29. Aug. 2017 07:10    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,

wie schon oben geschrieben werde ich sobald ich etwas vorzeigbares habe Rückmeldung geben. Bis dahin müsst Ihr euch noch etwas gedulden oder aber einer der Fortgeschrittenen Scripter kann auf die schnelle was basteln 

------------------
---------------
mfg MichaelR

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

MicRen
Mitglied
Elektrokonstrukteur

Sehen Sie sich das Profil von MicRen an!   Senden Sie eine Private Message an MicRen  Schreiben Sie einen Gästebucheintrag für MicRen

Beiträge: 8
Registriert: 23.08.2017

EPLAN P8 2.6
EPLAN P8 2.5
EPALN P8 2.3
EPALN Fluid Addon

erstellt am: 29. Aug. 2017 10:07    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Fehlermeldung.JPG


Fehlermeldung.txt

 
Hallo,

@Straight-Potter
Geht diese funktion nur mit der API oder kann ich diese auch ohne nutzen?

Bekomme aktuell eine Fehlermeldung.

Hier mein Test Code:
public void label()
    {
        string strProjectName = string.Empty;
        string strLabelName = string.Empty;

        strProjectName = GetProject();
        strLabelName = PathMap.SubstitutePath("$(PROJECTNAME)");

        string myDate = System.DateTime.Now.ToString("yyyyMMdd");
        string myTime = System.DateTime.Now.ToString("HHmm");

        string sLoc = string.Empty;
        sLoc = "020A";

        SchemeSetting oSett = new SchemeSetting();
        oSett.Init("USER.Labelling.Config");
        oSett.SetStringSetting("USER.Labelling.Config.Artikelsummenstückliste_Test.Data.SortFilter.FilterSchemeData",       
        "0|1|0|1420;0|0|" + sLoc + "|0|1|1|0|0|0;0|#7|1|0|;0|0| |0|1|1|0|0|0;0|#0|1|1|1220;0|0|CC1|0|1|1|0|0|0;0|",0);

        // Parameter für die Action
        ActionCallingContext labellingContext = new ActionCallingContext();

        labellingContext.AddParameter("PROJECTNAME", strProjectName); // Projektname komplett mit Erweiterung
        labellingContext.AddParameter("CONFIGSCHEME", "Artikelsummenstückliste_Test");
        labellingContext.AddParameter("FILTERSCHEME", "Stueckliste Schaltschrank1");
        labellingContext.AddParameter("SORTSCHEME", "");
        labellingContext.AddParameter("LANGUAGE", "de_DE");
        labellingContext.AddParameter("DESTINATIONFILE", "C:\\EPLAN\\Electric P8\\Skripte\\Artikelsummenstückliste\\Stücklisten\\" + strLabelName + myDate + "_" + myTime + ".txt"); // Zieldatei: "Projektpfad/Projektname_Testbeschriftung.xls"
        labellingContext.AddParameter("RECREPEAT", "1");
        labellingContext.AddParameter("TASKREPEAT", "1");
        labellingContext.AddParameter("SHOWOUTPUT", "0");

        // Ausführen der Beschriftungsaction mit Parametern
        new CommandLineInterpreter().Execute("label", labellingContext);
    }

------------------
---------------
mfg MichaelR

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

cad_hans
Ehrenmitglied V.I.P. h.c.
Techn. Angestellter


Sehen Sie sich das Profil von cad_hans an!   Senden Sie eine Private Message an cad_hans  Schreiben Sie einen Gästebucheintrag für cad_hans

Beiträge: 2052
Registriert: 25.08.2003

ruplan4.70
eplan5.x
P8 V1.9 bis V2.7

erstellt am: 29. Aug. 2017 10:17    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für MicRen 10 Unities + Antwort hilfreich

hallo,

das Setting kann man ohne API anscheinend auch ausführen (lt. buch Johnny wire)

dir fehlt:
using Eplan.EplApi.Base;
        Eplan.EplApi.Base.Settings oSett = new Eplan.EplApi.Base.Settings();


so habs ich zumindest mal gemacht
ohne Fehlermeldung
es gibt aber auch kein Ergebnis.
allerdings ist bei den Settings dann wirklich das letzte eingelesene ortskennzeichen drin

------------------
ruplan4.70
eplan5.x
P8 V1.9 bis V2.7

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Straight-Potter
Mitglied
Dipl.Ing. E-Technik


Sehen Sie sich das Profil von Straight-Potter an!   Senden Sie eine Private Message an Straight-Potter  Schreiben Sie einen Gästebucheintrag für Straight-Potter

Beiträge: 601
Registriert: 14.07.2008

EPLAN Plattform 2.9 SP1
API
EEC Prof
EEC One

erstellt am: 29. Aug. 2017 10:44    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für MicRen 10 Unities + Antwort hilfreich

Versuche es mal so (nicht von mir getestet!!):

using Eplan.EplApi.Base;

public void label()
    {
        string strProjectName = string.Empty;
        string strLabelName = string.Empty;

        strProjectName = GetProject();
        strLabelName = PathMap.SubstitutePath("$(PROJECTNAME)");

        string myDate = System.DateTime.Now.ToString("yyyyMMdd");
        string myTime = System.DateTime.Now.ToString("HHmm");

        string sLoc = string.Empty;
        sLoc = "020A";

        Settings oSett = new Settings();
        oSett.SetStringSetting("USER.Labelling.Config.Artikelsummenstückliste_Test.Data.SortFilter.FilterSchemeData",       
        "0|1|0|1420;0|0|" + sLoc + "|0|1|1|0|0|0;0|#7|1|0|;0|0| |0|1|1|0|0|0;0|#0|1|1|1220;0|0|CC1|0|1|1|0|0|0;0|",0);

        // Parameter für die Action
        ActionCallingContext labellingContext = new ActionCallingContext();

        labellingContext.AddParameter("PROJECTNAME", strProjectName); // Projektname komplett mit Erweiterung
        labellingContext.AddParameter("CONFIGSCHEME", "Artikelsummenstückliste_Test");
        labellingContext.AddParameter("FILTERSCHEME", "Stueckliste Schaltschrank1");
        labellingContext.AddParameter("SORTSCHEME", "");
        labellingContext.AddParameter("LANGUAGE", "de_DE");
        labellingContext.AddParameter("DESTINATIONFILE", "C:\\EPLAN\\Electric P8\\Skripte\\Artikelsummenstückliste\\Stücklisten\\" + strLabelName + myDate + "_" + myTime + ".txt"); // Zieldatei: "Projektpfad/Projektname_Testbeschriftung.xls"
        labellingContext.AddParameter("RECREPEAT", "1");
        labellingContext.AddParameter("TASKREPEAT", "1");
        labellingContext.AddParameter("SHOWOUTPUT", "0");

        // Ausführen der Beschriftungsaction mit Parametern
        new CommandLineInterpreter().Execute("label", labellingContext);
    }

Straight-Potter

------------------
Wenn wir bedenken, dass wir alle verrückt
sind, ist das Leben erklärt.

[Diese Nachricht wurde von Straight-Potter am 29. Aug. 2017 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

cad_hans
Ehrenmitglied V.I.P. h.c.
Techn. Angestellter


Sehen Sie sich das Profil von cad_hans an!   Senden Sie eine Private Message an cad_hans  Schreiben Sie einen Gästebucheintrag für cad_hans

Beiträge: 2052
Registriert: 25.08.2003

ruplan4.70
eplan5.x
P8 V1.9 bis V2.7

erstellt am: 29. Aug. 2017 10:58    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für MicRen 10 Unities + Antwort hilfreich

hallo,

ich kann dir nur mal meine lösung anbieten, nämlich die mit dem aufkopierten filter.
Achtung es werden die filter importiert und in eplan abegelegt, siehe früheres post:

using System;
using System.IO;
using Eplan.EplApi.Base;
using Eplan.EplApi.Scripting;

class Test
{
    [Start]
    //  [DeclareAction("Projektkonfigurator")]
public static void Main()
    {
        string strScripts = PathMap.SubstitutePath("$(MD_SCRIPTS)");
        string strProject = PathMap.SubstitutePath("$(PROJECTNAME)");
        string sourcepath = strScripts + @"\PPS_TRANSFER\Ortsliste.txt";
        string destpath = strScripts + @"\PPS_TRANSFER\";
        string sourcefilter = strScripts + @"\PPS_TRANSFER\FGfiPA.ort.xml";
        // string strBedarf = "";
        //  Erstellung der Ortsdatei (Strukturkennzeichenübersicht)

        //Progress progress1 = new Progress("SimpleProgress");
        //progress1.BeginPart(100, "");
        //progress1.SetAllowCancel(true);

        //if (!progress1.Canceled())
        //{
        //    progress1.BeginPart(16, "Labelling");
        //    ActionCallingContext labellingContext1 = new ActionCallingContext();
        //    labellingContext1.AddParameter("CONFIGSCHEME", "Ortsuebersicht");
        //    labellingContext1.AddParameter("DESTINATIONFILE", sourcepath);
        //    labellingContext1.AddParameter("FILTERSCHEME", "Einbauorte");
        //    labellingContext1.AddParameter("LANGUAGE", "de_DE");
        //    labellingContext1.AddParameter("LogMsgActionDone", "true");
        //    labellingContext1.AddParameter("SHOWOUTPUT", "0");
        //    //labellingContext.AddParameter("PROJECTNAME", ProjectFullName);
        //    labellingContext1.AddParameter("RECREPEAT", "1");
        //    labellingContext1.AddParameter("SORTSCHEME", "Vollstaendige Bezeichnung");
        //    labellingContext1.AddParameter("TASKREPEAT", "1");
        //    new CommandLineInterpreter().Execute("label", labellingContext1);
        //    progress1.EndPart();
        //}


        //progress1.EndPart(true);

       
       
        // string macropath = @"W:\EPLAN_DATA\Eplan_P8\Makros\Seitenmakros\";
        try
        {
            using (StreamReader sr = new StreamReader(sourcepath))
            {
                while (sr.Peek() >= 0)
                {
  //  aktuellen Ort aus Liste auslesen
       
            string strOrt = sr.ReadLine();
            strOrt = strOrt.Replace(" ", "");
            if (strOrt.StartsWith("EB"))
            {
                  string strBedarf = strOrt;
                  strBedarf = strBedarf.Substring(5, 7);
                  //string[] arrOrt = strOrt;
                  string[] arrOrt=strOrt.Split('+');
              //    strOrt = arrOrt(1).ToString;
        //  Name Zielfilterdatei bilden           
                   
        //        string destfilter =  destpath + "EB_" + strOrt + ".xml";
                  string destfilter = destpath + "EB_" + arrOrt[1] + ".xml";
      //  Standardfilter auf ortsbezogenen kopieren
                File.Copy(sourcefilter, destfilter, true);

      //  Ortseintrag in Datei mit aktuellem Ort ersetzen

                StreamReader inputStreamReader = File.OpenText(destfilter);
                String Inhalt = inputStreamReader.ReadToEnd();
                inputStreamReader.Close();

                String ersetzen = "Ortxxxx";
                String durch = strOrt;

                Inhalt = Inhalt.Replace(ersetzen, durch);
               
                StreamWriter outputStreamWriter = File.CreateText(destfilter);
                outputStreamWriter.Write(Inhalt);
                outputStreamWriter.Close();
                   
      // den erzeugten Fiter importieren

                ActionCallingContext oAcc = new ActionCallingContext();
                CommandLineInterpreter oCLI = new CommandLineInterpreter();
                oAcc.AddParameter("XMLFile", destfilter);
                oAcc.AddParameter("Node", "USER.FormGeneratorGui");
      //        oCLI.Execute("XSettingsImport", oAcc);

      //  Erstellung der Transferdatei (Artikelstückliste)

                Progress progress = new Progress("SimpleProgress");
                progress.BeginPart(100, "");
                progress.SetAllowCancel(true);

                if (!progress.Canceled())
                {
                    progress.BeginPart(16, "Labelling");
                    ActionCallingContext labellingContext = new ActionCallingContext();
                    labellingContext.AddParameter("CONFIGSCHEME", "PPS-Transfer");
                //  labellingContext.AddParameter("DESTINATIONFILE", @"C:\tran\" + strProject + "_" + strOrt + ".asc");
                    labellingContext.AddParameter("DESTINATIONFILE", @"C:\tran\" + strProject + "_" +strBedarf + "_" + arrOrt[1] + ".asc");
                    labellingContext.AddParameter("FILTERSCHEME", strOrt);
                    labellingContext.AddParameter("LANGUAGE", "de_DE");
                    labellingContext.AddParameter("LogMsgActionDone", "true");
                    labellingContext.AddParameter("SHOWOUTPUT", "0");
                    //labellingContext.AddParameter("PROJECTNAME", ProjectFullName);
                    labellingContext.AddParameter("RECREPEAT", "1");
                    labellingContext.AddParameter("SORTSCHEME", "Artikelnummer");
                    labellingContext.AddParameter("TASKREPEAT", "1");
                    new CommandLineInterpreter().Execute("label", labellingContext);
                    progress.EndPart();
                }


                progress.EndPart(true);

      // den erzeugten Fiter löschen

        //      File.Delete(destfilter);

                 

                    //  Console.WriteLine(sr.ReadLine());
        MessageBox.Show("Ort " +  arrOrt[1]+strBedarf);

                }
            }
        }
    }
        catch (Exception e)
        {
            Console.WriteLine("The process failed: {0}", e.ToString());
        }
    }
}

------------------
ruplan4.70
eplan5.x
P8 V1.9 bis V2.7

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

MicRen
Mitglied
Elektrokonstrukteur

Sehen Sie sich das Profil von MicRen an!   Senden Sie eine Private Message an MicRen  Schreiben Sie einen Gästebucheintrag für MicRen

Beiträge: 8
Registriert: 23.08.2017

EPLAN P8 2.6
EPLAN P8 2.5
EPALN P8 2.3
EPALN Fluid Addon

erstellt am: 29. Aug. 2017 15:41    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


NeueFilter.JPG

 
Hallo,

mittlerweile kann ich das Format anpassen und eine Ausgabe funktioniert auch. Zwar muss noch das drum herum gemacht machten, wie der Durchlauf der einzelnen Aufstellungsorte bzw. Einbauorte aber eins nach dem anderen.

Hier der Code:

using Eplan.EplApi.ApplicationFramework;
using Eplan.EplApi.Base;
using Eplan.EplApi.Scripting;


public class test
{
    [DeclareAction("Test")]
   
    public void Function()
    {
        Eplan.EplApi.Base.Settings oSettings = new Eplan.EplApi.Base.Settings();

        string strProjectName = string.Empty;
        string strLabelName = string.Empty;

        strProjectName = GetProject();
        strLabelName = PathMap.SubstitutePath("$(PROJECTNAME)");

        string myDate = System.DateTime.Now.ToString("yyyyMMdd");
        string myTime = System.DateTime.Now.ToString("HHmm");

        string sLoc = string.Empty;
        sLoc = "020A"; //Anpassung Filterformat von 010A in 020A

        oSettings.SetStringSetting("USER.Labelling.Config.Artikelsummenstückliste_Test.Data.SortFilter.FilterSchemeData",
        "0|1|0|1420;0|0|" + sLoc + "|0|1|1|0|0|0;0|#7|1|0|;0|0| |0|1|1|0|0|0;0|#0|1|1|1220;0|0|CC1|0|1|1|0|0|0;0|", 0);

        // Parameter für die Action
        ActionCallingContext labellingContext = new ActionCallingContext();

        labellingContext.AddParameter("PROJECTNAME", strProjectName); // Projektname komplett mit Erweiterung
        labellingContext.AddParameter("CONFIGSCHEME", "Artikelsummenstückliste_Test");
        labellingContext.AddParameter("FILTERSCHEME", ""); // Hier darf kein Filterschema eingetragen werden
        labellingContext.AddParameter("SORTSCHEME", "");
        labellingContext.AddParameter("LANGUAGE", "de_DE");
        labellingContext.AddParameter("DESTINATIONFILE", "C:\\EPLAN\\Electric P8\\Skripte\\Artikelsummenstückliste\\Stücklisten\\" + strLabelName + "_"  + myDate + "_" + myTime + ".txt"); // Zieldatei: "Projektpfad/Projektname_Testbeschriftung.xls"
        labellingContext.AddParameter("RECREPEAT", "1");
        labellingContext.AddParameter("TASKREPEAT", "1");
        labellingContext.AddParameter("SHOWOUTPUT", "0");

        // Ausführen der Beschriftungsaction mit Parametern
        new CommandLineInterpreter().Execute("label", labellingContext);

    }

    public string GetProject()
    {

        string strProject = "";

        ActionCallingContext ProjectContext = new ActionCallingContext();
        ProjectContext.AddParameter("TYPE", "PROJECT");

        new CommandLineInterpreter().Execute("selectionset", ProjectContext);
        ProjectContext.GetParameter("PROJECT", ref strProject);

        return strProject;
    }
   
}

Es gibt aber eine Sache die ich nicht verstehe. Nachdem ich über das Script eine Ausgabe gemacht habe, habe ich in der Filterauswahl ein weiteren Filter (Kopie mit Zusatz "1"), den ich nicht erstellt habe. Siehe Bild.

Hat jemand dafür eine Erklärung?

------------------
---------------
mfg MichaelR

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

MSTR
Mitglied
Industriemeister Elektrotechnik


Sehen Sie sich das Profil von MSTR an!   Senden Sie eine Private Message an MSTR  Schreiben Sie einen Gästebucheintrag für MSTR

Beiträge: 38
Registriert: 25.08.2013

EPlan 5.7
EPlan P8 1.8 bis 2.9

erstellt am: 29. Aug. 2017 20:25    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für MicRen 10 Unities + Antwort hilfreich

Habe das Script getestet,
aber bekomme aber nicht den Filter ins Beschriftungsschema.
Finde aber keinen Fehler!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

MicRen
Mitglied
Elektrokonstrukteur

Sehen Sie sich das Profil von MicRen an!   Senden Sie eine Private Message an MicRen  Schreiben Sie einen Gästebucheintrag für MicRen

Beiträge: 8
Registriert: 23.08.2017

EPLAN P8 2.6
EPLAN P8 2.5
EPALN P8 2.3
EPALN Fluid Addon

erstellt am: 30. Aug. 2017 15:03    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,

bei mir funktioniert mittlerweile das ganze Skript wie ich es wollte. Sobald ich das ganze ins reine geschrieben gebe ich Rückmeldung und helfe bei der Fehlersuche aus.

Bis dahin schon mal Danke für eure Hilfe.

------------------
---------------
mfg MichaelR

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

cad_hans
Ehrenmitglied V.I.P. h.c.
Techn. Angestellter


Sehen Sie sich das Profil von cad_hans an!   Senden Sie eine Private Message an cad_hans  Schreiben Sie einen Gästebucheintrag für cad_hans

Beiträge: 2052
Registriert: 25.08.2003

ruplan4.70
eplan5.x
P8 V1.9 bis V2.7

erstellt am: 31. Aug. 2017 10:43    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für MicRen 10 Unities + Antwort hilfreich

hallo,

bei mir läufts. es lag an einem Leerzeichen in der ortskennzeichnung welches ich nicht gelöscht hatte.
das mit der Kopie eines filters tritt bei mir auch auf, aber der verschwindet wieder.
mein Skript läuft jetzt rund in einer schleife.
alles vom feinsten.

------------------
ruplan4.70
eplan5.x
P8 V1.9 bis V2.7

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

MSTR
Mitglied
Industriemeister Elektrotechnik


Sehen Sie sich das Profil von MSTR an!   Senden Sie eine Private Message an MSTR  Schreiben Sie einen Gästebucheintrag für MSTR

Beiträge: 38
Registriert: 25.08.2013

EPlan 5.7
EPlan P8 1.8 bis 2.9

erstellt am: 31. Aug. 2017 17:54    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für MicRen 10 Unities + Antwort hilfreich

Hallo und Danke,
bei mir läufts auch.
Hatte wie cad_Hans einen Tippfehler nur im bei mir wars der Schemaname.
Das mit der Kopie eines Filters tritt bei mir nicht auf.
Getestet mit V2.5.

Alles super, vielen Dank!!!!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz