UL_ERROR

Membres de données

area UL_AREA
area2 UL_AREA (voir remarque)
code entier (numéro d’identification)
description chaîne
calque int (entier)
modulename chaîne
s1 chaîne (voir remarque)
s2 chaîne
s3 chaîne
s4 chaîne
s5 chaîne
s6 chaîne
feuille entier (numéro de feuille)
signature chaîne (chaîne de signature)
state entier (ERROR_STATE_...)
type entier (ERROR_TYPE_...)
x, y entier (point central)

Membres de boucle

contours() UL_WIRE (voir remarque)

Voir aussi UL_BOARD, UL_SCHEMATIC

Constantes

ERROR_STATE_ACTIVE l’erreur n’a pas encore été approuvée ou traitée
ERROR_STATE_APPROVED l’erreur a été approuvée
ERROR_STATE_PROCESSED l’erreur a été traitée
ERROR_TYPE_NONE aucune erreur
ERROR_TYPE_WARNING avertissement
ERROR_TYPE_ERROR erreur
ERROR_TYPE_CONSISTENCY erreur de cohérence

Notes

Un objet UL_ERROR est un objet abstrait qui fournit des informations sur les erreurs ERC/DRC.

Les membres de données layer et contours() sont disponibles uniquement dans le contexte UL_BOARD. Les membres area2, modulename, s1...s6 et sheet sont disponibles uniquement dans le contexte UL_SCHEMATIC.

Le membre de données area2 correspond à une deuxième zone qui est disponible uniquement pour certaines erreurs ERC et qui fait référence à la zone correspondante dans le circuit imprimé. Les membres de données s1...s6 sont des valeurs de chaîne qui, pour les erreurs ERC, contiennent des informations spécifiques, telles que les noms.

Le membre de boucle contours() parcourt les fils de contour du polygone d’erreur DRC.

Exemple

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