Hallo !
Bei MText-Objekten konnte ich nun auch unterschiedliche Ergebnisse mit (getBoundingBox) feststellen:
Während mir AutoCAD immer die Diagonale des Brutto-Rahmens liefert, erhalte ich bei BricsCAD die Diagonale der Netto-Box, also den Rahmen um die tatsächlich dargestellten Strings, unabhängig vom Breiten- und Höhen-Wert des MText-Objektes.
Da ich öfters den Platzbedarf von Text- und Block-Objekten für Masken etc. brauche, habe ich mir für alle bisher genannten Probleme entsprechende Lisp-Funktionen geschaffen, die meinen Bedarf zufriedenstellend decken. Einziger Schönheitsfehler dabei ist, dass ein MText-Objekt keine Explode-Methode kennt und ich daher nur über (command ...) das Ziel erreiche, auf die Einzelzeilen des MTextes zugreifen zu können.
Abschließend möchte ich nur noch Anregungen für zwei VLE-Funktionen geben, über die sich eventuell auch andere Lisp-Programmierer freuen würden:
vle-Explode
Zerlegt nicht nur Block-Referenzen sondern auch MText-Objekte und liefert die erhaltenen Einzelteile gleich in einer Object- oder Entity-Liste.
Option könnte event. noch sein, ob das Original-Objekt erhalten bleiben soll.
vle-Boundary
U.a. für Attribute, Text- und MText-Objekte (Neigungswinkel korrigiert), sowie Block-Referenzen (Option event., dass nur aktuell sichtbare Attribute einbezogen werden).
Vorteilhaft wäre die Rückgabe einer Liste mit allen 4 Eckpunkten (aber zum Objekt und nicht zur Achse vom WKS ausgerichtet). Damit kann man sich auch die tatsächliche Text-Länge, Text-Höhe und den Zentrumspunkt ableiten.
V.G.
Arcuso
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP