| angle | real (0、90、180、270) |
| 列 | string (注を参照) |
| gate | UL_GATE |
| ミラー | int |
| name | string (INSTANCE_NAME_LENGTH) |
| パーツ | UL_PART |
| row | string (注を参照) |
| sheet | int (0 = 未使用、>0 = シート番号) |
| smashed | int (注を参照) |
| value | string (PART_VALUE_LENGTH) |
| x、y | int (原点) |
| attributes() | UL_ATTRIBUTE (注を参照) |
| texts() | UL_TEXT (注を参照) |
| xrefs() | UL_GATE (注を参照) |
UL_PINREF も参照してください
| INSTANCE_NAME_LENGTH | インスタンス名の推奨最大長さ(形式設定された出力でのみ使用) |
| PART_VALUE_LENGTH | パーツの値の推奨最大長さ(インスタンスには独自の値がありません) |
attributes() メンバーは、このインスタンスに明示的に割り当てられた属性(smashed 属性を含む)のみをループします。
texts() メンバーは、REPOSITION を使用してアタッチ解除したインスタンスのテキストと、このインスタンスに割り当てられた属性の表示テキストのみをループします。インスタンスのすべてのテキストを処理するには、インスタンス独自の texts() メンバーと、インスタンスのゲートの記号の texts() メンバーをループする必要があります。インスタンスに属性が割り当てられている場合、texts() は現在表示されている形式でテキストを提供します。
column メンバーと row メンバーは、このインスタンスが呼び出されたシートのフレーム内での列と行の位置を返します。そのシートにフレームがない場合、またはインスタンスがフレームの外側に配置されている場合は、「?」(疑問符)が返されます。これらのメンバーは、シート コンテキストでのみ使用できます。
smashed メンバーは、インスタンスが分解されているかどうかを示します。この関数は、smashed["VALUE"] のように、角括弧内にパラメータの名前を指定することにより、アタッチ解除されたテキスト パラメータが存在するかどうかを調べるために使用することもできます。これは、MOVE R5>VALUE を実行して MOVE コマンドでテキストを選択する場合に便利です。有効なパラメータ名は、「NAME」、「VALUE」、「PART」、「GATE」、およびユーザ定義属性の名前です。これらのパラメータ名では大文字と小文字は区別されず、先頭に「>」文字を付けることができます。
xrefs() メンバーは、このインスタンスの接触相互参照ゲートをループします。これは、ULP が何らかの図面(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);
}
}
}