| 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) |
| attributes() | UL_ATTRIBUTE (vedere nota) |
| texts() | UL_TEXT (vedere nota) |
| xrefs() | UL_GATE (vedere nota) |
Vedere anche UL_PINREF
| 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) |
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).
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);
}
}
}