UL_PAD

데이터 멤버

angle real(0.0...359.9)
diameter[layer] int
drill int
drillsymbol int
elongation int
flags int(PAD_FLAG_...)
name string(PAD_NAME_LENGTH)
shape[layer] int(PAD_SHAPE_...)
signal string
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와 동일)

패드의 매개변수는 액세스하는 컨텍스트에 따라 달라집니다.

패드의 diametershape는 디자인 규칙에 따라 각 도면층에서 다를 수 있으므로 검색되는 도면층에 따라 다릅니다. LAYER_TOP...LAYER_BOTTOM, LAYER_TSTOP 또는 LAYER_BSTOP 도면층 중 하나가 diameter 또는 shape 데이터 멤버에 대한 색인으로 지정되는 경우 결과 값은 디자인 규칙에 따라 계산됩니다. LAYER_PADS가 지정되면 라이브러리에 정의된 원시 값이 반환됩니다.

drillsymbol은 이 드릴 지름에 지정된 드릴 기호의 번호를 반환합니다(정의된 드릴 기호 리스트는 설명서 참조). 값이 0이면 기호가 이 드릴 지름에 지정되지 않았다는 것을 의미합니다.

angle은 중심을 기준으로 시계 반대 방향으로 패드가 회전하는 각도를 정의합니다.

elongation은 PAD_SHAPE_LONG 및 PAD_SHAPE_OFFSET 쉐이프에만 유효하며, 이러한 패드의 긴 측면이 작은 측면보다 더 긴 백분율을 정의합니다. 이 멤버는 다른 모든 패드 쉐이프에 대해 0을 반환합니다.

플래그에 의해 반환되는 값은 다음과 같이 개별 플래그 설정을 결정하기 위해 PAD_FLAG_... 상수로 마스킹해야 합니다.

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

ULP에서 객체를 그리기만 하려는 경우에는 이러한 플래그를 명시적으로 확인할 필요가 없습니다. diameter[]shape[] 멤버는 적절한 데이터를 반환합니다. 예를 들어 PAD_FLAG_STOP이 설정된 경우 diameter[LAYER_TSTOP]은 0을 반환하며 이로 인해 해당 도면층에 아무 것도 그려지지 않아야 합니다. flags 멤버는 주로 라이브러리 객체를 작성하는 스크립트 파일을 작성하려는 ULP에 사용됩니다.

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