UL_INSTANCE

データ メンバー

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);
      }
    }
  }