UL_WIRE
Члени даних
дуга | UL_ARC |
шапка | int (CAP_…) |
крива | справжній |
шар | внутр |
стиль | int (WIRE_STYLE_…) |
ширина | внутр |
x1, y1 | int (початкова точка) |
x2, y2 | int (кінцева точка) |
Члени циклу
штук() | 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 | тире крапка |
Стиль дроту
UL_WIRE, який має стиль, відмінний від WIRE_STYLE_CONTINUOUS, може використовувати член циклуpiece() для доступу до окремих сегментів, які утворюють, наприклад, штриховий дріт. Якщоpieces () викликається для UL_WIRE з WIRE_STYLE_CONTINUOUS, буде доступний єдиний сегмент, який буде таким самим, як оригінальний UL_WIRE. Член циклуpieces () не може бути викликаний з UL_WIRE, який сам був повернутий викликомpieces () . Це призведе до нескінченної рекурсії.
Дуги на рівні дроту
Дуги — це в основному дроти з кількома додатковими властивостями. На першому рівні дуги обробляються точно так само, як і дроти, тобто вони мають початкову та кінцеву точки, ширину, шар і стиль дроту. На додаток до них, дуга на рівні дроту має цоколь і параметр кривої . cap визначає, чи є кінці дуг круглими чи плоскими, а curve визначає "кривину" дуги.
Допустимий діапазон для кривої становить від -360 до +360, а її значення означає, з якої частини повного кола складається дуга. Значення 90, наприклад, призведе до дуги 90?, тоді як 180 дасть вам півколо. Максимального значення 360 можна досягти лише теоретично, оскільки це означатиме, що дуга складається з повного кола, яке, оскільки початкова та кінцева точки повинні лежати на колі, повинно мати нескінченно великий діаметр. Додатні значення для кривої означають, що дуга намальована в математично позитивному значенні (тобто проти годинникової стрілки). Якщо крива дорівнює 0, дуга є прямою лінією ("без кривизни"), яка насправді є дротом.
Параметр cap має значення лише для фактичних дуг і завжди повертатиме CAP_ROUND для прямого дроту.
Чи є UL_WIRE дугою, можна визначити шляхом перевірки логічного значення, що повертається елементом даних дуги . Якщо він повертає 0, ми маємо прямий дріт, інакше дугу. Якщо arc повертає ненульове значення, воно може бути розіменовано для доступу до специфічних параметрів UL_ARC, початкового та кінцевого кута, радіуса та центральної точки. Зауважте, що ці додаткові параметри можуть знадобитися, лише якщо ви збираєтеся намалювати дугу чи обробити її іншим способом, де важлива фактична форма.
приклад
board ( B ) { B . wires ( W ) { printf ( "Wire: (%f %f) (%f %f)
" , u2mm ( W . x1 ), u2mm ( W . y1 ), u2mm ( W . x2 ), u2mm ( W . y2 ));
}
}
Орігінал сторінки: UL_WIRE