UL_ERROR

데이터 멤버

area UL_AREA
area2 UL_AREA(주 참고)
code int(식별 번호)
description string
layer int
modulename string
s1 string(주 참고)
s2 string
s3 string
s4 string
s5 string
s6 string
sheet int(시트 번호)
signature string(서명 문자열)
state int(ERROR_STATE_...)
type int(ERROR_TYPE_...)
x, y int(중심점)

루프 멤버

contours() UL_WIRE(주 참고)
참고: UL_BOARD, UL_SCHEMATIC

상수

ERROR_STATE_ACTIVE 오류가 아직 승인되지 않았거나 처리되지 않음
ERROR_STATE_APPROVED 오류가 승인됨
ERROR_STATE_PROCESSED 오류가 처리됨
ERROR_TYPE_NONE 오류 없음
ERROR_TYPE_WARNING 경고
ERROR_TYPE_ERROR 오류
ERROR_TYPE_CONSISTENCY 일관성 오류

UL_ERROR는 ERC/DRC 오류에 대한 정보를 제공하는 추상 객체입니다.

layercontours() 멤버는 UL_BOARD 컨텍스트에서만 사용할 수 있으며 area2, modulename, s1...s6sheet는 UL_SCHEMATIC 컨텍스트에서만 사용할 수 있습니다.

area2 멤버는 또 다른 영역으로, 일부 ERC 오류에서만 사용할 수 있으며 보드에서 해당 영역을 참조합니다. s1...s6 멤버는 문자열 값으로, ERC 오류의 경우 이름과 같은 특정 정보를 포함합니다.

contours() 루프 멤버는 DRC 오류 폴리곤의 윤곽선 와이어를 반복합니다.

string s1;
string ErrLst[];
int ErrCnt = 0;
string ErrLstHeader;
if (board) board(B) {
   ErrLstHeader = "Code\tState\tDescription\tLayer\tSignature";
   if (B.checked) {
      B.errors(ER) {
         if (ER.state == ERROR_STATE_ACTIVE) {
            sprintf(s1, "%d\t%d\t%s\t%d\t%s", ER.code, ER.state, ER.description, ER.layer, ER.signature);
            ErrLst[ErrCnt++] = s1;
         }
      }
   }
}
if (schematic) schematic(SCH) {
   ErrLstHeader = "Code\tState\tDescription\tSheet\tModule\ts1\ts2\ts3\ts4\ts5\ts6";
   if (SCH.checked) {
      SCH.errors(ER) {
         if (ER.state == ERROR_STATE_ACTIVE) {
            sprintf(s1, "%d\t%d\t%s\t%d\t%s\t%s\t%s\t%s\t%s\t%s\t%s", ER.code, ER.state, ER.description, ER.sheet, ER.modulename, ER.s1, ER.s2, ER.s3, ER.s4, ER.s5, ER.s6);
            ErrLst[ErrCnt++] = s1;
         }
      }
   }
}
dlgDialog("Errors") {
   int sel = -1;
   dlgListView(ErrLstHeader, ErrLst, sel);
   dlgPushButton("+OK") dlgAccept();
};