UL_PIN

데이터 멤버

angle real(0, 90, 180 및 270)
contact UL_CONTACT(사용되지 않음, 주 참고)
direction int(PIN_DIRECTION_...)
function int(PIN_FUNCTION_FLAG_...)
length int(PIN_LENGTH_...)
name string(PIN_NAME_LENGTH)
net string(주 참고)
route int(CONTACT_ROUTE_...)
swaplevel int
visible int(PIN_VISIBLE_FLAG_...)
x, y int(연결점)

루프 멤버

circles() UL_CIRCLE
contacts() UL_CONTACT(주 참고)
texts() UL_TEXT
wires() UL_WIRE
참고: UL_SYMBOL, UL_PINREF, UL_CONTACTREF

상수

PIN_DIRECTION_NC 연결되지 않음
PIN_DIRECTION_IN 입력
PIN_DIRECTION_OUT 출력(토템폴)
PIN_DIRECTION_IO 입/출력(양방향)
PIN_DIRECTION_OC 오픈 컬렉터
PIN_DIRECTION_PWR 전원 입력 핀
PIN_DIRECTION_PAS 수동
PIN_DIRECTION_HIZ 높은 임피던스 출력
PIN_DIRECTION_SUP 공급 핀
PIN_FUNCTION_FLAG_NONE 기호 없음
PIN_FUNCTION_FLAG_DOT 반전 기호
PIN_FUNCTION_FLAG_CLK 시계 기호
PIN_LENGTH_POINT 와이어 없음
PIN_LENGTH_SHORT 0.1인치 와이어
PIN_LENGTH_MIDDLE 0.2인치 와이어
PIN_LENGTH_LONG 0.3인치 와이어
PIN_NAME_LENGTH 핀 이름의 최대 권장 길이(형식이 지정된 출력에서만 사용)
PIN_VISIBLE_FLAG_OFF 이름을 그리지 않음
PIN_VISIBLE_FLAG_PAD 패드 이름을 그림
PIN_VISIBLE_FLAG_PIN 핀 이름을 그림
CONTACT_ROUTE_ALL 모든 접촉으로 명시적으로 라우팅해야 함
CONTACT_ROUTE_ANY 어떤 접촉으로도 라우팅할 수 있음

contacts() 루프 멤버는 CONNECT 명령을 통해 핀에 지정된 접촉을 순환합니다. 이는 UL_DEVICE 컨텍스트에서 또는 UL_PINREF를 통해 들어오는 경우에 해당하지만 UL_LIBRARY.symbols()를 통하는 경우는 해당하지 않습니다. 그렇지 않은 경우 리스트가 비어 있습니다.

contact 데이터 멤버는 CONNECT 명령을 통해 핀에 지정된 접점을 반환합니다. 이 멤버는 더 이상 사용되지 않습니다! 이 멤버는 이전 버전과의 호환성을 위해 작동하며, 하나의 패드만 핀에 연결되어야 하지만, 두 개 이상의 패드에 연결된 핀에서 사용하면 런타임 오류가 발생합니다.

또한 route 멤버는 핀이 연결된 접촉과 관계가 있는 경우에만 해당됩니다. 그렇지 않은 경우 값이 0으로 설정됩니다.

contact 데이터 멤버가 반환하는 접촉의 좌표(및 SMD의 경우 도면층)는 다음과 같이 호출되는 컨텍스트에 따라 달라집니다.

name 데이터 멤버는 항상 라이브러리에 정의된 핀의 이름을 반환하며, 이름이 같은 핀의 경우 '@' 문자가 그대로 유지됩니다(자세한 내용은 PIN 명령 참조). 반면 texts 루프 멤버는 현재 도면 유형에 표시되는 것과 동일한 방식으로 핀 이름(표시되는 경우)을 반환합니다.

net 데이터 멤버는 이 핀이 연결된 네트의 이름을 반환합니다(UL_SCHEMATIC 컨텍스트에서만 사용 가능).

library(L) {
  L.symbols(S) {
    printf("Symbol: %s\n", S.name);
    S.pins(P) {
      printf("\tPin: %s, (%f %f)", P.name, u2mm(P.x), u2mm(P.y));
      if (P.direction == PIN_DIRECTION_IN)
         printf(" input");
      if ((P.function & PIN_FUNCTION_FLAG_DOT) != 0)
         printf(" inverted");
      printf("\n");
      }
    }
  }