Autor
|
Thema: E3 Skript (1298 / mal gelesen)
|
Giuseppe.C Mitglied Konstrukteur
Beiträge: 24 Registriert: 13.03.2019
|
erstellt am: 16. Apr. 2019 11:12 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, bin mal wieder nach der Suche, nach Infos. Kurze Beschreibung. Ich habe ein Skript geschrieben, der mir alle Signale in eine bestimmte Norm umwandelt. Nun möchte ich aber, das er mir die Signale nur ändert, wenn Sie nur auf EINEN Blatt sind die Signale und nicht auf mehrere Blätter verteilt. Heißt wenn Signal 1 auf Blatt 1 anfängt und endet auf Blatt 2, sollte mir das Skript dieses Signal nicht ändern. Bei Fragen stehe ich gerne zur Verfügung. Danke euch !! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
K0NFUZIUS Moderator
Beiträge: 258 Registriert: 06.02.2006
|
erstellt am: 17. Apr. 2019 14:37 <-- editieren / zitieren --> Unities abgeben: Nur für Giuseppe.C
Würde ich mich in Bier bezahlen lassen müsste ich mir so langsam sorgen um meine Gesundheit machen :-D Folgender Code ist nur ein LösungsANSATZ. berücksichtigt werden u.a. keine Drähte, keine Komplettsteckerplatzierungen, keine Ansichten, ...
Code:
Set e3 = CreateObject("CT.Application") Set prj = e3.CreateJobObject() Set nod = prj.CreatePinObject() Set pin = prj.CreatePinObject() Set sig = prj.CreateSignalObject() Set sht = prj.CreateSheetObject() Dim signalToSearch signalToSearch = "mySignalToSearch" sig.Search signalToSearch if( sig.Getid() > 0 ) then pincnt = sig.GetPinIds( pinids ) Dim sheetId for i = 1 to pincnt pin.setid pinids( i ) nodecnt = pin.GetNodeIds( nodeIds ) for j = 1 to nodecnt nod.SetNodeId( nodeIds(j) ) sht.SetId nod.getId() if( sht.Getid() > 0 And sheetid = 0 ) Then sheetId = sht.Getid() elseif( sheetid > 0 And sht.Getid() > 0 And sheetid <> sht.Getid() )then e3.putinfo 0, "Signal: " & signalToSearch & " ignored." sheetId = -1 Exit For end if next if( sheetId = -1 ) Then Exit for end if next if( sheetId > 0 ) Then e3.putinfo 0, "Signal: " & signalToSearch & " found." End if end if
Lieben Gruß Jörg Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Giuseppe.C Mitglied Konstrukteur
Beiträge: 24 Registriert: 13.03.2019
|
erstellt am: 18. Apr. 2019 10:10 <-- editieren / zitieren --> Unities abgeben:
|
K0NFUZIUS Moderator
Beiträge: 258 Registriert: 06.02.2006
|
erstellt am: 18. Apr. 2019 12:00 <-- editieren / zitieren --> Unities abgeben: Nur für Giuseppe.C
|
Giuseppe.C Mitglied Konstrukteur
Beiträge: 24 Registriert: 13.03.2019
|
erstellt am: 23. Apr. 2019 09:35 <-- editieren / zitieren --> Unities abgeben:
|
K0NFUZIUS Moderator
Beiträge: 258 Registriert: 06.02.2006
|
erstellt am: 24. Apr. 2019 11:03 <-- editieren / zitieren --> Unities abgeben: Nur für Giuseppe.C
|
Irtaza Waheed Mitglied
Beiträge: 6 Registriert: 09.01.2020 Plugin Window,User Interface, E3, VB.NET, WF
|
erstellt am: 09. Jan. 2020 12:29 <-- editieren / zitieren --> Unities abgeben: Nur für Giuseppe.C
Hallo, Die Signale auf verschiedene blätter sind verbindet mit "Symbols". ich werde es so machen. dim nsym=prj.getsymbolids(symids) for i=1 to nsym sym.setid(symids(i)) if sym.GetType = "SOURCE_AUTO" then ' heir schriebt mann die type die zu Verbindung wird benutzt dim npin=sym.getpinids(pinids) for j=1 to npin pin.setid(pinids(j)) NotToChangeNames(count)=pin.getsignalname count+=1 next end if next ' ' ' nachher wann die signal name verändert werden if NotToChangeNames.contains(sig.getname)=false sig.setname("167") 'zum beispeil end if Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |