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(중심점, 주 참고) |
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와 동일) |
패드의 매개변수는 액세스하는 컨텍스트에 따라 달라집니다.
패드의 diameter 및 shape는 디자인 규칙에 따라 각 도면층에서 다를 수 있으므로 검색되는 도면층에 따라 다릅니다. 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]));
}
}
}