UL_INSTANCE

Membri dati

angle real (0, 90, 180 e 270)
column string (vedere nota)
gate UL_GATE
mirror int
name string (INSTANCE_NAME_LENGTH)
part UL_PART
row string (vedere nota)
sheet int (0=inutilizzato, >0=numero foglio)
smashed int (vedere nota)
value string (PART_VALUE_LENGTH)
x, y int (punto di origine)

Membri di sequenza chiusa

attributes() UL_ATTRIBUTE (vedere nota)
texts() UL_TEXT (vedere nota)
xrefs() UL_GATE (vedere nota)

Vedere anche UL_PINREF

Costanti

INSTANCE_NAME_LENGTH lunghezza max. consigliata di un nome istanza (utilizzata solo nell'output formattato)
PART_VALUE_LENGTH lunghezza max. consigliata di un valore parte (le istanze non hanno un valore proprio)

Nota

Il membro attributes() esegue una sequenza chiusa solo tra gli attributi che sono stati assegnati in modo esplicito a questa istanza (compresi gli attributi smashed).

Il membro texts() esegue una sequenza chiusa tra i testi dell'istanza che sono stati dissociati utilizzando il comando REPOSITION e tra i testi visibili di tutti gli attributi assegnati a questa istanza. Per elaborare tutti i testi di un'istanza, è necessario eseguire il ciclo tramite il membro texts() dell'istanza stessa, nonché il membro texts() del simbolo del punto di iniezione dell'istanza. Se ad un'istanza sono stati assegnati attributi, texts() restituisce i loro testi nel formato in cui sono correntemente visibili.

I membri column e row restituiscono la posizione delle colonne e delle righe all'interno del riquadro sul foglio in cui viene richiamata tale istanza. Se non è presente alcun riquadro sul foglio o se l'istanza è posizionata all'esterno del riquadro, viene visualizzato il simbolo '?' (punto interrogativo). Questi membri possono essere utilizzati solo nel contesto di un foglio.

Il membro smashed indica se l'istanza è stata danneggiata. Questa funzione può essere utilizzata anche per determinare se è presente un parametro di testo dissociato, fornendo il nome di tale parametro tra parentesi quadre, come nel caso di smashed["VALUE"]. Questa opzione risulta utile se si desidera selezionare un testo di questo tipo con il comando SPOSTA eseguendo il comando SPOSTA R5>VALORE. I nomi di parametro validi sono "NOME", "VALORE", "PARTE" e "PUNTI DI INIEZIONE", nonché i nomi di tutti gli attributi definiti dall'utente. Vengono trattati senza distinzione tra maiuscole e minuscole e possono essere preceduti da un carattere '>'.

Il membro xrefs() esegue una sequenza chiusa tra i punti di iniezione con riferimento incrociato del contatto di questa istanza. Questi sono importanti solo se il programma ULP crea un disegno di un certo tipo (ad esempio un file DXF).

Esempio

schematic(S) {
  S.parts(P) {
    printf("Part: %s\n", P.name);
    P.instances(I) {
      if (I.sheet != 0)
         printf("\t%s used on sheet %d\n", I.name, I.sheet);
      }
    }
  }