Hot News aus dem CAD.de-Newsletter:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  EPLAN Electric P8
  Script: Artikelnummer aus File einlesen, Artikel platzieren

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
Autor Thema:   Script: Artikelnummer aus File einlesen, Artikel platzieren (1415 mal gelesen)
GNi
Mitglied
Entwicklungsingenieur


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

Beiträge: 20
Registriert: 18.07.2014

Eplan P8 - Compact / V 2.3
Menüumfang: Experte

erstellt am: 15. Apr. 2016 12: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

Hallo zusammen!
Ich möchte mit einem c#-Script aus einem externen File alle Artikelnummern von Steckern eines Projektes einlesen und diese Artikel in Eplan einfügen. Das Einlesen der Artikelnummern funktioniert wunderbar. Aber wie füge ich diese nun erfolgreich ein?

Mit
oCLI.Execute("XDLInsertDeviceAction", acc)
hänge ich das Bauteil an meinen Mauszeiger. Leider hängt jedoch nur der letzte Stecker des Dokuments am Mauszeiger, soll heißen, das Script wartet natürlich nicht bei jedem Schleifendurchlauf, bis ich den aktuellen Stecker platziert habe. Übrigens geht dies auch nicht, wenn ich einfach für 10 Sekunden schlafe (Sleep). Das heißt, meine Idee, per EventHandler auf einen Mausklick zu warten, wird wohl auch nicht funktionieren, oder? (Mit dem EventHandler habe ich so meine Probleme, daher habe ich es bislang noch nicht testen können.)

Hat einer eine Idee? Hier mein (aufs nötigste reduzierter) Code:

################################################################

for (i = 1; i<=anzahlzeilen_file; i++)        // Zeile für Zeile des Dokuments nach Steckern durchsuchen
{

    zeile_file = ReadLine(openfile_name, i);  // Eine Zeile wird daraus eingelesen
       
    zeile_array = zeile_file.Split(';');  // Schreibt alle (durch Semikolon getrennte) Worte dieser Zeile in einen Array
   
    // Anwender fragen, ob der Stecker nun eingefügt werden soll
    DialogResult Result = MessageBox.Show("Möchten Sie den Stecker " + zeile_array[2] + "nun einfügen?",
                                          "Stecker einfügen:",
                                          MessageBoxButtons.YesNo,
                                          MessageBoxIcon.Question);
   
    // Hat der User zugestimmt, den Artikel nun einzufügen?
    if (Result == DialogResult.Yes)
    {
        // Stecker an den Mauszeiger hängen
        acc.AddParameter("PartNr", zeile_array[2]);
        acc.AddParameter("PartVariant", "1");
       
        oCLI.Execute("XDLInsertDeviceAction", acc);
        // Dieser Befehl hängt offenbar nur den Artikel an die Maus, sodass dieser bis zum ESC an der Maus hängt.
        // Wie sorge ich dafür, dass der Stecker in diesem Schritt in Eplan P8 platziert wird?
   
    }

}

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

GNi
Mitglied
Entwicklungsingenieur


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

Beiträge: 20
Registriert: 18.07.2014

Eplan P8 - Compact / V 2.3
Menüumfang: Experte

erstellt am: 18. Apr. 2016 09: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

Nachtrag:
Ich könnte mir vorstellen, dass ich mit einem Formular arbeiten könnte. In diesem würde ich alle zu platzierenden Stecker aus dem csv-File in eine Liste laden, und dann per Knopfdruck den jeweils markierten Stecker an den Mauszeiger hängen. Ich habe allerdings noch keine Erfahrung mit Formularen und bevor ich nun viel Zeit investiere und mich da einarbeite: Hat jemand genug Erfahrung damit, um abzuschätzen, ob das ein gangbarer Weg ist?

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

chicken
Mitglied
Technischer Zeichner


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

Beiträge: 137
Registriert: 21.10.2004

Version 2.5 HF2, Buildnr 9499

erstellt am: 18. Apr. 2016 12: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 GNi 10 Unities + Antwort hilfreich

Hallo,

so ganz kann ich mir nicht vorstellen was Du vor hast.
Mir ist nicht bekannt das man mit Eplan Skript direkt ein Gerät oder Makro an einer bestimmten Positionen platzieren kann, aber da wissen andere bestimmt mehr.

Es gibt die Info hier im Forum das man sich programmiertechnisch Seitenmakros zusammenbauen kann (vorausgesetzt man kennt die entsprechende xml Syntax von Eplan Seitenmakros)
und so etwas wie einen Schaltplangenerator selber programmieren kann.

Aber wie wäre es über die Geräteliste ?
Diese könntest Du per Script mit Deinen gewünschten Artikeln füllen so das Du diese dann per Drag'n Drop im Plan platzieren kannst.

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

GNi
Mitglied
Entwicklungsingenieur


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

Beiträge: 20
Registriert: 18.07.2014

Eplan P8 - Compact / V 2.3
Menüumfang: Experte

erstellt am: 18. Apr. 2016 13:28    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,
vielen Dank für deine Antwort. Die Geräteliste wäre sicher eine Option, deckt aber nur die absoluten Basisanforderungen meines Vorhabens hab. Der Hintergrund:
Wir wollen unsere gesamte Entwicklung von der Platinenentwicklung hin bis zur Systemverkabelung automatisieren. Erst werden die Platinen entwickelt, dann mit Eplan P8 die Verkabelung geplant und dann mit Eplan Harness die Leitungszeichnungen generiert.
Dabei sollen zur Fehlervermeidung Schnittstellen zwischen den Programmen geschaffen werden. Ein gängiger Fehler bei der Platinenentwicklung ist, auf miteinander verbundenen Platinen die Pinbelegungen nicht identisch zu machen. Oder ich belege die Potenziale beim manuellen Eintrag in Eplan P8 falsch. Solche Fehler sind von Hand kaum zu finden.
Ich will also folgendes machen:
Ich bekomme Informationen zu allen Steckern mitsamt Potenzialdefinitionen zu jedem Pin von unserem Platinenentwickler. Das eigentliche Ziel ist es also, diese Stecker MITSAMT Pin-Potenzialen in Eplan automatisch einzufügen. Über die Geräteliste kann ich aber leider kein Pinpotenzial definieren.
Hat jemand eine Idee, wie ich vorgehen könnte?
Und kann Eplan etwa keine c#-Scripte ausführen, die Formulare beinhalten?

[Diese Nachricht wurde von GNi am 18. Apr. 2016 editiert.]

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)2019 CAD.de | Impressum | Datenschutz