UL_ERROR

Datenelemente

area UL_AREA
area2 UL_AREA (siehe Anmerkung)
Code Ganzzahl (ID-Nummer)
Beschreibung Zeichenfolge
Layer int
modulename Zeichenfolge
s1 Zeichenfolge (siehe Anmerkung)
s2 Zeichenfolge
s3 Zeichenfolge
s4 Zeichenfolge
s5 Zeichenfolge
s6 Zeichenfolge
sheet Ganzzahl (Plannummer)
signature Zeichenfolge (Signaturzeichenfolge)
Status Ganzzahl (ERROR_STATE_...)
type Ganzzahl (ERROR_TYPE_...)
x, y Ganzzahl (Mittelpunkt)

Loop-Members

contours() UL_WIRE (siehe Anmerkung)

Siehe auch UL_BOARD, UL_SCHEMATIC.

Konstanten

ERROR_STATE_ACTIVE Fehler wurde noch nicht bestätigt oder verarbeitet.
ERROR_STATE_APPROVED Fehler wurde bestätigt.
ERROR_STATE_PROCESSED Fehler wurde verarbeitet.
ERROR_TYPE_NONE Kein Fehler
ERROR_TYPE_WARNING Warnung
ERROR_TYPE_ERROR Fehler
ERROR_TYPE_CONSISTENCY Konsistenzfehler

Anmerkungen

Ein UL_ERROR-Objekt ist ein abstraktes Objekt, das Informationen über ERC-/DRC-Fehler enthält.

Die layer*- und *contours()-Elemente sind nur im UL_BOARD-Kontext verfügbar, und die area2-, modulename-, s1...s6*- und *sheet-Elemente sind nur im UL_SCHEMATIC-Kontext verfügbar.

Das area2-Element ist eine zweite Fläche, die nur bei einigen ERC-Fehlern verfügbar ist und sich auf die entsprechende Fläche der Leiterplatte bezieht. Die Elemente s1...s6 sind Zeichenfolgenwerte, die bei ERC-Fehlern spezifische Informationen wie Namen enthalten.

Das contours()-Loop-Member durchläuft die Konturlinien des DRC-Fehlerpolygons.

Beispiel

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();
};