Autor
|
Thema: Pins highlight (715 mal gelesen)
|
philipp.huebner Mitglied
Beiträge: 34 Registriert: 22.09.2005
|
erstellt am: 06. Okt. 2005 10:08 <-- editieren / zitieren --> Unities abgeben:
Hallo... ich möchte ein Skript schreiben ,mit dem ich alle pins ,die zum selben Srecker wie der selektierte gehören,hidhlighte.... dabei habe ich erstens das Problem,wie ich an den connector direkt rankomme(momentan dursuche ich alle devices und krieg dann mit getpinids auch alle pin ids)...nur lade ich die pin id mit getselectedsymbolids-->getpinids....das gibt zwar eine pinid,aber keine die beim dursuchen aller devices zu finden ist ??? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
philipp.huebner Mitglied
Beiträge: 34 Registriert: 22.09.2005
|
erstellt am: 06. Okt. 2005 14:01 <-- editieren / zitieren --> Unities abgeben:
also die symbole kann ich mit getselectedsymbols-->symbolobjekt -->getselectedpins-->pinobjekt-->getnodeids... die den pinsymbolen auf dem sheet entsprechen....zuordnen. Aber wie kriege ich eine Anzahl von Pins gehighlighted.... [Diese Nachricht wurde von philipp.huebner am 06. Okt. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Eldorado Mitglied
Beiträge: 73 Registriert: 12.06.2004
|
erstellt am: 06. Okt. 2005 14:35 <-- editieren / zitieren --> Unities abgeben: Nur für philipp.huebner
Das Bauteil eines Symbols kann man einfach mit dev.SetId( sym.GetId ) ermitteln. Vom Bauteil auf die Pins kann man mit dev.GetPinIds() schließen. Von dort wieder auf (deren) Symbole mit sym.SetId( pin.GetId ). Leider gibt es keine Funktion sym.Highlight() (hab ich mir auch schon mal gewünscht) und ein sym.Jump verändert den aktuellen Bildausschnitt. Im folgenden Beispiel wird deshalb nur eine Liste aller Symbole des Bauteils ausgegeben. Die einzelnen Ausgabezeilen sind aber per e3.PutInfo() mit den jeweiligen Symbol-Ids gekennzeichnet, so dass man durch einen einfachen Doppelklick auf die Ausgabezeile zum entsprechenden Symbol springen kann.
Code: Set devs = CreateObject( "Scripting.Dictionary" ) Set syms = CreateObject( "Scripting.Dictionary" )symcnt = prj.GetSelectedSymbolIds( symids ) For s = 1 To symcnt devid = dev.SetId( symids(s) ) symid = sym.SetId( symids(s) ) If( Not devs.Exists( devid ) ) Then devs.Add devid, devid If( Not syms.Exists( symid ) ) Then syms.Add symid, "(selected)" Next For Each devid In devs dev.SetId devid pincnt = dev.GetPinIds( pinids ) For p = 1 To pincnt id = sym.SetId( pinids(p) ) If( id <> 0 And Not syms.Exists( id ) ) Then syms.Add id, "" End if Next Next For Each id In syms sym.SetId id sym.GetSchemaLocation x, y, grid e3.PutInfo 0, sym.GetName _ & "(" & sym.GetTypeName & ")" _ & " auf " & grid _ & " " & syms(id), _ sym.GetId Next
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|