UL_WIRE

データ メンバー

arc UL_ARC
cap int (CAP_...)
カーブ リアルな
画層 int
スタイル int (WIRE_STYLE_...)
width int
x1、y1 int (始点)
x2、y2 int (終点)

ループ メンバー

pieces() UL_WIRE (注を参照)

UL_BOARD、UL_FOOTPRINT、UL_SEGMENT、UL_SHEET、UL_SIGNAL、UL_SYMBOL、UL_ARC も参照してください

定数

CAP_FLAT 平坦な円弧の終端
CAP_ROUND 丸い円弧の終端
WIRE_STYLE_CONTINUOUS 連続
WIRE_STYLE_LONGDASH 長い破線
WIRE_STYLE_SHORTDASH 短い破線
WIRE_STYLE_DASHDOT 一点破線

ワイヤ スタイル

WIRE_STYLE_CONTINUOUS 以外のスタイルの UL_WIRE では、pieces() ループ メンバーを使用して、破線ワイヤなどを構成する個々のセグメントにアクセスできます。WIRE_STYLE_CONTINUOUS の UL_WIRE で pieces() が呼び出される場合、元の UL_WIRE と同じ単一セグメントにアクセスできます。pieces() ループ メンバーは、pieces() の呼び出しで返された UL_WIRE からは呼び出すことはできません。これを行うと、無限再帰が発生することになります。

ワイヤ レベルの円弧

円弧は基本的にワイヤで、いくつかの追加プロパティがあります。最初のレベルの円弧は、ワイヤとまったく同じように扱われます。つまり、始点と終点、幅、レイヤー、およびワイヤ スタイルを持っています。これらの円弧に加えて、ワイヤ レベルには、cap パラメータと curve パラメータがあります。cap は、円弧の終端を円形にするかフラットにするかを定義し、curve は円弧の「曲率」を定義します。

curve の有効な範囲は -360 ~ +360 で、その値は完全な円のどの部分でその円弧が構成されているかを意味します。たとえば、値 90 は 90°の円弧、値 180 は半円になります。最大値 360 は理論上でのみ到達可能です。これは円弧が円全体で構成されることを意味し、また、始点と終点が円上にある必要があるため、無限大の直径を持つことになってしまうためです。curve の正の値は、円弧が数学的に正の向き(反時計回り)で描画されることを意味します。curve が 0 の場合、円弧は直線(「曲率なし」)となり、これは実質的にワイヤです。

cap パラメータは、実際の円弧の場合にのみ意味を持ち、直線ワイヤの場合は常に CAP_ROUND を返します。

UL_WIRE が円弧であるかどうかは、arc データ メンバーのブール戻り値を確認することで判断できます。0 を返す場合は直線ワイヤ、その他の場合は円弧です。arc がゼロ以外の値を返す場合、UL_ARC 固有のパラメータである、開始角度と終了角度、半径、および中心点にアクセスするためにその値を逆参照できます。これらの追加パラメータが必要になるのは、実際の形状が重要な箇所で別の方法で円弧を描画または処理する場合のみです。

board(B) {
  B.wires(W) {
    printf("Wire: (%f %f) (%f %f)\n",
           u2mm(W.x1), u2mm(W.y1), u2mm(W.x2), u2mm(W.y2));
    }
  }