Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  E3.series
  Skript GetSchemaLocation von einer Kabelader

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:  Skript GetSchemaLocation von einer Kabelader (326 / mal gelesen)
Sevy4791
Mitglied



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

Beiträge: 85
Registriert: 28.01.2022

E3 2020 SP3 Build 21.30
I9-1295HX 32GB Win10 22H2
Eplan ProPanel 2.9
Eplan 3.3/5.x
Elcad
Fusion360

erstellt am: 25. Apr. 2023 08: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

Hallo Zusammen

Ich habe wieder mal ein kleines Problem. Vielleicht könnt ihr mir sagen wo ich auf dem Schlauch stehe.

Ich versuche die Schemaposition einer gerade neu abgelegten Ader zu erfassen.
Wenn ich zwei Adern gleichzeitig ablege erhalte ich die Information,
für jede Ader, über die Variable grid. Also alles so, wie es sein soll.
Lege ich aber nur eine Ader ab bleibt die Variable leer.

Ich weiss echt nicht mehr weiter, vermutlich mache ich einen Denkfehler   

Code:

For i = Job.GetLastmodifiedItems (modcoreids, 22) To 1 Step -1
Dev.SetId modcoreids(i)
If Dev.IsCable <> 1 Then Exit For
Sym.Setid modcoreids(i)
Sym.GetSchemaLocation x, y, grid, col


------------------
Dieser Eintrag wurde mit glücklichen Elektronen
aus 100% freier Haltung geschrieben

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

K0NFUZIUS
Moderator



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

Beiträge: 264
Registriert: 06.02.2006

erstellt am: 25. Apr. 2023 10:12    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 Sevy4791 10 Unities + Antwort hilfreich

Hi Sevy,
wie genau legst du die Drähte auf?
Über COM oder interaktiv?

Gruß Jörg

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

Sevy4791
Mitglied



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

Beiträge: 85
Registriert: 28.01.2022

E3 2020 SP3 Build 21.30
I9-1295HX 32GB Win10 22H2
Eplan ProPanel 2.9
Eplan 3.3/5.x
Elcad
Fusion360

erstellt am: 25. Apr. 2023 10: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

Guten Morgen Jörg

Der Benutzer zieht die Kabel aus der Bauteildatenbank ins Projekt.
Über den Trigger wird dann das Script angesprochen welches versucht
das Kabel richtig (=Anlage+Ort-WBlatt.Pfad) zu benennen.

Hast du das gemeint? Gruss und Dank Sevy

------------------
Dieser Eintrag wurde mit glücklichen Elektronen
aus 100% freier Haltung geschrieben

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

K0NFUZIUS
Moderator



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

Beiträge: 264
Registriert: 06.02.2006

erstellt am: 25. Apr. 2023 11:09    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 Sevy4791 10 Unities + Antwort hilfreich

Welchen der Trigger verwendest Du denn?

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

Sevy4791
Mitglied



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

Beiträge: 85
Registriert: 28.01.2022

E3 2020 SP3 Build 21.30
I9-1295HX 32GB Win10 22H2
Eplan ProPanel 2.9
Eplan 3.3/5.x
Elcad
Fusion360

erstellt am: 25. Apr. 2023 12: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

Der Trigger ist "AfterWireConnected" was eigentlich gut funktioniert hat.
Kann der Trigger ein Einfluss auf die Funktion GetSchemaLocation haben?

Was bisher nicht sauber funktioniert ist das ich die Strukturinformationen
aus dem angeschlossenen Bauteil abgreifen muss.
Mir wäre es lieber wenn ich festellen könnte in welcher Struktur das Bauteil
grafisch liegt. Also in welchem Feldrahmen.

Hier mal den Code, soweit ich gekommen bin:

Code:

For i = 1 To Job.GetLastmodifiedItems (modcoreids, 22)
Dev.SetId modcoreids(1)
If Dev.IsCable <> 1 Then Exit For
Sym.Setid modcoreids(i)
Sht.SetId (Sym.GetId)
Sym.GetSchemaLocation x, y, grid, col
For t = 1 To Dev.GetAllCoreIds(coresids)
If y > 100 Then n = 2:
If y < 100 Then n = 1
msgbox grid & vblf & y & vblf & n
Core.SetId(coresids(t))
pinid = Core.GetEndPinId(n)
Device.SetId(pinid)
If newAss = "" Then newAss = Device.GetAssignment
If newloc = "" Then newloc = Device.GetLocation
Next
newName = Job.GetDeviceNameSeparator & Dev.GetComponentAttributeValue("DeviceLetterCode") & Sht.GetName & "." & col
RenCab = False
If Dev.GetName <> newName And newName <> "" Then
If Msgbox("Möchtest du das Kabel " & Dev.GetAssignment & Dev.GetLocation & Dev.GetName & " in " & newAss & newloc & newName & " umbenennen?", vbyesno) = vbyes Then
Dev.SetCompleteName newName, newAss, newLoc
End if
End If
Exit For
Next

------------------
Dieser Eintrag wurde mit glücklichen Elektronen
aus 100% freier Haltung geschrieben

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

Sevy4791
Mitglied



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

Beiträge: 85
Registriert: 28.01.2022

E3 2020 SP3 Build 21.30
I9-1295HX 32GB Win10 22H2
Eplan ProPanel 2.9
Eplan 3.3/5.x
Elcad
Fusion360

erstellt am: 26. Apr. 2023 07:46    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

Guten Morgen allerseits

Das Problem hat sich heute Morgen von selber gelöst.
Ich nehme mal an der Neustart des Rechners über Nacht war die Lösung. 
Jedenfalls funktioniert der Skript nun wie gewünscht, auch wenn
nur eine Ader abgesetzt wird.

Besten Dank für eure Hilfe, Gruss Sevy

------------------
Dieser Eintrag wurde mit glücklichen Elektronen
aus 100% freier Haltung geschrieben

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

K0NFUZIUS
Moderator



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

Beiträge: 264
Registriert: 06.02.2006

erstellt am: 26. Apr. 2023 08:14    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 Sevy4791 10 Unities + Antwort hilfreich

Hi Sevy,
ich glaube da stimmt trotzdem was nicht wenn man mehr als eine Ader hat.

  • Drag&Drop des Kabels auf die Verbindung -> kein Draht im Trigger
  • Drag&Drop zwei Adern markiert auf die Verbindung -> es wird nur einer Ader aufgelegt (u.U. Ok)
  • "Adern einfügen" über Kontextmenübefehle / zwei Adern markiert auf die Verbindung -> OK

Sieht so aus, dass das Einfügen über die Kontextmenübefehle für den Trigger am besten funktionieren.

Gruß Jörg

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

Sevy4791
Mitglied



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

Beiträge: 85
Registriert: 28.01.2022

E3 2020 SP3 Build 21.30
I9-1295HX 32GB Win10 22H2
Eplan ProPanel 2.9
Eplan 3.3/5.x
Elcad
Fusion360

erstellt am: 26. Apr. 2023 11:19    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 Jörg

Was meinst du mit "kein Draht im Trigger"?

Bei mir wird via TriggerManagement auf das Ereignis "AfterWireConnected"
ein VBScript aufgerufen. Der holt sich dann die zuletzt geänderten Drähte.
Arbeitest du auch so oder kann man den Trigger noch anders verarbeiten?

Soweit klappt das alles. Gestern hat mir jedoch die Funktion GetSchemaLocation auf der erst übergebenen Ader keine Informationen
zurückgegeben. 
Heute scheint das zu funktionieren. 

Leider ist das alles etwas undurchsichtig da man zur Laufzeit nicht in die
Variablen schauen kann. Darum arbeitet ich normalerweise lieber in VBA.
Oder habt ihr eine bessere Möglichkeit die Programme zu debuggen?

Gibt es eigentlich eine Möglichkeit herauszufinden wo das Symbol für die Kabeldefinition auf der Verbindung liegt?

Gruss und Dank Sevy

------------------
Dieser Eintrag wurde mit glücklichen Elektronen
aus 100% freier Haltung geschrieben

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