Mal wieder einen Bug in Autocad 2013 gefunden. (Ja, ich lehne mich soweit aus dem Fenster)
Kann jetzt gerade nicht prüfen, ob in Versionen < 2013 auch schon vorhanden.
Problem: Aus Blöcken sollte das (eine) Attribut gelöscht. Also nicht der Wert des Attributs, sondern das Attribut selber.
An sich banal.
1. Blockeditor öffnen
2. Attribut löschen
3. Block speichern & schließen
4. attsync
5. Fertig
Was passierte jedoch:
Entweder
1. Nach attsync war der gesamte Block weg! Alle Instanzen!
Mit liste und _qselect zwar nachweisbar aber nicht mehr greifbar oder irgendwie sichtbar. Neueinfügen einer Blockinstanz ging aber problemlos.
Oder
(wie ich dahin kam war zunächst nicht klar)
2. attsync war gar nicht erst möglich ("der Block enthält kein Attribut", stimmt zwar - geht aber unmittelbar nach dem Löschen trotzdem, muss ja auch) und der Attributwert blieb folglich innerhalb der Zeichnung sichtbar, sogar änderbar(!) (Eigenschaft + attedit).
Auch bei _refedit war das "Geisterattribut" sichtbar, jedoch gefadet und angeblich nicht zum Auswahlsatz gehörend bzw. hinzufügbar. Somit also auch nicht löschbar.
Beim Öffnen im Blockeditor, beim kopieren via Design-Center in neue Zeichnungen, beim direkten Einfügen in die betroffene Zeichnung - alles normal, kein Attribut mehr vorhanden.
Auch Neudefinieren des via Design-Center zunächst in eine neue Zeichnung eingefügten und dort normal funktionierenden Blockes, schnell dort nochmal frisch abgespeichert, brachte 0,00.
_audit fand keine Fehler.
Da Unmengen solcher Blöcke eingefügt sind, war das ein echtes Problem und nicht so einfach reparabel ohne Kollateralschaden.
Nach stundenlangem experimentieren & verzweifeln kristallisierte sich das Problem heraus:
Diese beiden Phänomene treten nur bei Blöcken mit Attributen auf, wo der Block die Eigenschaft "Beschriftung" hat. Setzt man diese auf "nein" verhält sich der Block nach dem Löschen des Attributs vollkommen normal. Dummerweise sind dann natürlich auch die ganzen maßstabsabhängigen Positionen futsch, wenn man die Option später wieder zurückändert, und die Größe stimmt auch nicht mehr...
Im Anhang Testzeichnung, da erklärt sich auch wann die Blöcke ganz verschwinden und wann ich "nur" die "Geisterattribute" behalte.
1. Der untere Block skaliert nicht, Attribut lässt sich im Blockeditor löschen. Nach attsync bleibt wie zu Erwarten die Liniengrafik übrig. So soll es sein.
2. Jetzt direkt den oberen, skalierenden, Block bearbeiten. Ein attsync geht nun nicht mehr! Das Attribut bleibt sichtbar und sogar änderbar ist aber im Blockeditor nachweislich gelöscht.
3. Alles zurück und den unteren Block nicht bearbeiten! Jetzt im oberen skalierenden Block das Atribut löschen. Nun erlaubt Autocad den attsync-Befehl und der Block kann angeklickt werden. Und schwupps ist er ganz weg.
Ich finde jetzt, das Löschen eines Attributes aus einem Block, welcher die Eigenschaft "Beschriftung" hat nicht exotisch.
Ich denke ihr könnt den Bug ganz leicht nachvollziehen.
Vielleicht kann ja einer mal den Praktikanten bei Autodesk aufwecken, auf mich hören die nicht. Ähnlich einseitig wie Kundenservice vom Hermes-Versand, wenn die mal wieder meinen, das Büro existiert nicht unter der angegebenen Adresse...
Ich fahr jetzt nach hause und mach ne Flasche Wein auf. Hab mal wieder die Faxen oberdicke...
Das ist weit mehr als der erste nachgewiesene Bug meinerseits in Autocad und ACA und ich mache da nun keine schrägen Sachen damit...
Dirk
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP