| 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) |
| contours() | UL_WIRE (voir remarque) |
Voir aussi UL_BOARD, UL_SCHEMATIC
| 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 |
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.
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();
};