UL_SMD

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