Hallo,
ich möchte in einem ULP einen aktuell markierten bzw. gruppierten
Linienzug (wires) abfragen und in einem Array ablegen. Anschließend
möchte ich das Array so sortieren, dass die Linien entsprechend ihrer
Reihenfolge abgelegt sind. Hierbei kann der Fall eintreten, dass die
Richtung einer Linie umgekehrt werden muss. Wie in dem Bild gezeigt
müsste z. B. die Richtung der dritten Linie (8-7) umgekehrt werden. Ich
möchte nur das Array bearbeiten nicht die Linie im Board selbst!
Das Abfragen die markierten Linien funktioniert so weit. Ich kann auch
lesend auf die UL_WIREObjekte des Arrays zugreifen. Möchte ich jedoch
schreibend auf die Eigenschaft eines der Objekte zugreifen erhalte ich
eine Fehlermeldung. Woran liegt dies?
// -
ULP-Start -
int WiresSelectedNumber = 0;
UL_WIRE WiresSelectedList[];
// Create list of selected wires
board(B) {
B.wires(W) {
if (ingroup(W) != 0) {
WiresSelectedList[WiresSelectedNumber] = W;
WiresSelectedNumber++;
}
}
}
string Message = "";
sprintf(Message, "%d", WiresSelectedList[0].x1);
dlgMessageBox(Message);
// Die folgende Zeile erzeugt eine Fehlermeldung.
// WiresSelectedList[0].x1 = 3;
// -
ULP-End -
Mit freundlichen Grüßen
Guido