UL_WIRE

Miembros de datos

arco UL_ARC
remate int (CAP_...)
curva real
capa entero
estilo int (WIRE_STYLE_...)
grosor entero
x1, y1 int (punto inicial)
x2, y2 int (punto final)

Miembros de bucle

pieces() UL_WIRE (consulte la nota)

Consulte también UL_BOARD, UL_FOOTPRINT, UL_SEGMENT, UL_SHEET, UL_SIGNAL, UL_SYMBOL, UL_ARC

Constantes

CAP_FLAT extremos planos del arco
CAP_ROUND extremos redondos del arco
WIRE_STYLE_CONTINUOUS continuo
WIRE_STYLE_LONGDASH trazo largo
WIRE_STYLE_SHORTDASH trazo corto
WIRE_STYLE_DASHDOT trazo y punto

Estilo de conductor

Un UL_WIRE con un estilo distinto a WIRE_STYLE_CONTINUOUS puede utilizar el miembro de bucle pieces() para acceder a los segmentos individuales que constituyen, por ejemplo, un conductor a trazos. Si se inicia pieces() para un UL_WIRE con WIRE_STYLE_CONTINUOUS, se podrá acceder a un solo segmento, que será exactamente igual que el UL_WIRE original. No se puede iniciar el miembro de bucle pieces() desde un UL_WIRE devuelto por un inicio de pieces(). Esto causaría una repetición infinita.

Arcos como conductores

Los arcos son básicamente conductores, con algunas propiedades más. En el primer nivel, los arcos se tratan exactamente igual que los conductores, es decir, tienen un punto inicial y un punto final, una ancho, una capa y un estilo. Además, un arco, en el nivel de conductor, tiene los parámetros remate y curva. El remate define si los finales de arco son redondos o planos, y la curva define la "curvatura" del arco.

El rango válido para la curva es de -360 a +360, y su valor indica la parte de un círculo completo de la que se compone el arco. Un valor de 90, por ejemplo, daría como resultado un arco de 90°, mientras que 180 le daría un semicírculo. El valor máximo de 360 solo existe en la teoría, ya que esto significaría que el arco consta de un círculo completo, que, como los puntos inicial y final deben estar en el círculo, tendría que tener un diámetro infinitamente grande. Los valores positivos de la curva significan que el arco se dibuja en un sentido matemáticamente positivo (es decir, en sentido antihorario). Si la curva es 0, el arco es una línea recta ("sin curvatura"), que en realidad es un conductor.

El parámetro remate solo tiene un significado para los arcos reales y siempre devuelve CAP_ROUND para un conductor recto.

Para determinar si un UL_WIRE es un arco, compruebe el valor de retorno booleano del miembro de datos arc. Si devuelve 0, tenemos un conductor recto, de lo contrario, un arco. Si arco devuelve un valor distinto de cero, es posible que se haga referencia a él para acceder a los parámetros específicos de UL_ARC, ángulo inicial y final, radio y centro. Tenga en cuenta que es posible que solo necesite estos parámetros si va a dibujar el arco o procesarlo de otra manera en las que la forma real sea importante.

Ejemplo

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