UL_PAD

UL_PAD

Члени даних

кут реальний (0,0…359,9)
діаметр [шар] внутр
дриль внутр
свердласимвол внутр
подовження внутр
прапори int (PAD_FLAG_…)
назва рядок (PAD_NAME_LENGTH)
форма [шар] int (PAD_SHAPE_…)
сигнал рядок
x, y int (центральна точка, див. примітку)

Дивіться також UL_FOOTPRINT, UL_CONTACT, UL_SMD

Константи

PAD_FLAG_STOP створити маску зупинки
PAD_FLAG_THERMALS генерувати терміки
PAD_FLAG_FIRST використовуйте спеціальну форму «першої колодки».
PAD_SHAPE_SQUARE Майдан
PAD_SHAPE_ROUND круглий
PAD_SHAPE_OCTAGON восьмикутник
PAD_SHAPE_LONG довго
PAD_SHAPE_OFFSET зсув
PAD_NAME_LENGTH макс. рекомендована довжина назви панелі (так само, як CONTACT_NAME_LENGTH)

Примітка

Параметри блокнота залежать від контексту, у якому до нього звертаються:

  • якщо блокнот отримано з контексту UL_LIBRARY, координати (x, y) і кут будуть такими ж, як визначено в кресленні відбитка
  • у всіх інших випадках вони матимуть фактичні значення з дошки

Діаметр і форма прокладки залежать від шару, для якого вони повинні бути отримані, оскільки вони можуть відрізнятися в кожному шарі залежно від Правил проектування. Якщо один із шарів LAYER_TOP…LAYER_BOTTOM, LAYER_TSTOP або LAYER_BSTOP задано як індекс елемента даних діаметра або форми, результуюче значення буде обчислено відповідно до Правил проектування. Якщо задано LAYER_PADS, повертатиметься необроблене значення, визначене в бібліотеці.

drillsymbol повертає номер символу свердла, який було призначено цьому діаметру свердла (перелік визначених символів свердла див. у посібнику). Значення 0 означає, що цьому діаметру свердла не призначено жодного символу.

кут визначає, на скільки градусів панель повертається проти годинникової стрілки навколо свого центру.

подовження дійсне лише для форм PAD_SHAPE_LONG і PAD_SHAPE_OFFSET і визначає, на скільки відсотків довга сторона такої панелі довша за малу сторону. Цей елемент повертає 0 для будь-яких інших форм блокнота.

Значення, що повертається прапорцями, має бути замасковане константами PAD_FLAG_… для визначення індивідуальних параметрів прапорців, як у

 if ( pad . flags & PAD_FLAG_STOP ) {
   ...
   }

Зауважте, що якщо ваш ULP просто хоче намалювати об’єкти, вам не потрібно явно перевіряти ці позначки. Діаметр [] і форма [] повернуть належні дані; наприклад, якщо встановлено PAD_FLAG_STOP, діаметр[LAYER_TSTOP] поверне 0, що призведе до того, що на цьому шарі нічого не буде намальовано. Член flags в основному призначений для ULP, які хочуть створити файли сценаріїв, які створюють об’єкти бібліотеки.

приклад

 library ( L ) { L . footprints ( FPT ) { FPT . contacts ( C ) {
      if ( C . pad ) printf ( "Pad: '%s', (%f %f), d=%f
" , C . name , u2mm ( C . pad . x ), u2mm ( C . pad . y ), u2mm ( C . pad . diameter [ LAYER_BOTTOM ]));
      }
    }
  }

Орігінал сторінки: UL_PAD