class | UL_CLASS |
column | string(주 참고) |
name | string(NET_NAME_LENGTH) |
row | string(주 참고) |
portrefs() | UL_PORTREF |
pinrefs() | UL_PINREF(주 참고) |
segments() | UL_SEGMENT(주 참고) |
NET_NAME_LENGTH | 네트 이름의 최대 권장 길이(형식이 지정된 출력에서만 사용) |
pinrefs() 루프 멤버는 네트가 구조도 컨텍스트에 있는 경우에만 사용할 수 있습니다. segments() 루프 멤버는 네트가 시트 컨텍스트에 있는 경우에만 사용할 수 있습니다.
column 및 row 멤버는 이 네트가 그려진 시트의 프레임 내에서 열 및 행 위치를 반환합니다. 네트는 특정 영역으로 확장될 수 있으므로 이러한 각 함수는 공백으로 구분된 두 값을 반환합니다. 열의 경우 이러한 열은 네트에 닿는 맨 왼쪽 및 맨 오른쪽 열이며, 행의 경우 상단 행과 맨 하단 행입니다.
시트에서 네트의 열과 행을 결정할 때 먼저 열을 확인한 다음, 해당 열 내의 행을 고려합니다. 여기서 XREF 레이블은 일반 레이블보다 우선하며, 네트 와이어보다도 우선합니다.
해당 시트에 프레임이 없는 경우 "? ?"(두 개의 물음표)가 반환됩니다. 네트의 일부가 프레임 외부에 배치되는 경우 값 중 하나는 '?'(물음표)가 될 수 있습니다. 이러한 멤버는 시트 컨텍스트에서만 사용할 수 있습니다.
UL_SCHEMATIC.allnets()로 네트가 검색되는 경우 유효한 멤버는 name, class 및 pinrefs()입니다. pinrefs() 루프 멤버는 모듈 복제에 의해 생성된 가상 pinref도 반복합니다.
schematic(S) {
S.nets(N) {
printf("Net: %s\n", N.name);
// N.segments(SEG) will NOT work here!
}
// or with virt. nets:
S.allnets(N) {
printf("Net: %s\n", N.name);
}
}
schematic(S) {
S.sheets(SH) {
SH.nets(N) {
printf("Net: %s\n", N.name);
N.segments(SEG) {
SEG.wires(W) {
printf("\tWire: (%f %f) (%f %f)\n",
u2mm(W.x1), u2mm(W.y1), u2mm(W.x2), u2mm(W.y2));
}
}
}
}
}