UL_SMD
Члени даних
| кут | реальний (0,0…359,9) |
| dx[шар], dy[шар] | int (розмір) |
| прапори | int (SMD_FLAG_…) |
| шар | int (див. примітку) |
| назва | рядок (SMD_NAME_LENGTH) |
| округлість | int (див. примітку) |
| сигнал | рядок |
| x, y | int (центральна точка, див. примітку) |
Дивіться також UL_FOOTPRINT, UL_CONTACT, UL_PAD
Константи
| SMD_FLAG_STOP | створити маску зупинки |
| SMD_FLAG_THERMALS | генерувати терміки |
| SMD_FLAG_КРЕМ | створити крем-маску |
| SMD_NAME_LENGTH | макс. рекомендована довжина імені smd (так само, як CONTACT_NAME_LENGTH) |
Примітка
Параметри smd залежать від контексту, в якому до нього звертаються:
- якщо smd отримано з контексту UL_LIBRARY, координати (x, y), кут, шар і округлість smd будуть такими самими, як визначено на кресленні контуру.
- у всіх інших випадках вони матимуть фактичні значення з дошки.
Якщо елементи даних dx і dy викликаються з додатковим індексом шару, дані для цього шару повертаються відповідно до правил проектування. Дійсні шари LAYER_TOP, LAYER_TSTOP і LAYER_TCREAM для smd у верхньому шарі та LAYER_BOTTOM, LAYER_BSTOP і LAYER_BCREAM для smd у нижньому шарі відповідно.
кут визначає, на скільки градусів smd повертається проти годинникової стрілки навколо свого центру.
Значення, що повертається прапорцями, має бути замасковане константами SMD_FLAG_… для визначення індивідуальних параметрів прапорців, як у
if ( smd . flags & SMD_FLAG_STOP ) {
...
}
Зауважте, що якщо ваш ULP просто хоче намалювати об’єкти, вам не потрібно явно перевіряти ці позначки. Члени dx[] і dy[] повернуть належні дані; наприклад, якщо встановлено SMD_FLAG_STOP, dx[LAYER_TSTOP] поверне 0, що призведе до того, що на цьому шарі нічого не буде намальовано. Член flags в основному призначений для ULP, які хочуть створити файли сценаріїв, які створюють об’єкти бібліотеки.
приклад
library ( L ) { L . footprints ( FPT ) { FPT . contacts ( C ) {
if ( C . smd ) printf ( "Smd: '%s', (%f %f), dx=%f, dy=%f
" , C . name , u2mm ( C . smd . x ), u2mm ( C . smd . y ), u2mm ( C . smd . dx ), u2mm ( C . smd . dy ));
}
}
}
Орігінал сторінки: UL_SMD