Bemaßung von Polylinien-Teilstücken BEMPOLY.LSP
Da wollte ich neulich wieder einmal wissen, wie lang ein Teilstück von einer Polylinie ist und das Ganze auch gleich bemaßen … Ich musste feststellen, dass es dafür keine Möglichkeit in AutoCAD gibt. Zwar existieren diverse Teillösungen zur Bemaßung, aber genau das, was ich brauchte, war nicht dabei. So kann ich gerade Teilstücke, Bogenlängen oder Winkel bemaßen, nicht aber einen zusammenhängenden Verlauf mit möglichen und/oder enthaltenen Bögen in den Polylinien. Was blieb mir anderes übrig, als selber etwas zu programmieren. Herausgekommen ist dabei das Tool BEMPOLY.LSP.
Das Programm erlaubt es, zwei Punkte auf einer Polylinie zu zeigen, deren Abstand zueinander man messen möchte. Dabei wird nicht der direkte Abstand von Bemaßungspunkt zu Bemaßungspunkt ermittelt, sondern die tatsächliche Länge der Polylinie zwischen den beiden Punkten. Und als dritter wird ein Punkt abgefragt, den man als Basislinienplatzierung heranzieht. Dabei wird von der berechneten Mitte der beiden Messpunkte eine gestrichelte Gummibandlinie zum Cursor dargestellt, um dem Anwender eine optische Kontrolle über die Platzierung der Basislinie zu geben.
Und weil es gerade so schön war, wollte ich die so ermittelte Längenangabe noch gerne in einer bemaßungsähnlichen Form darstellen. Die Erzeugung eines Bemaßungsobjekts war leider so nicht machbar, daher blieb nur die Möglichkeit, alle Objekte, die eine Bemaßung darstellen sollen, mit den Eigenschaften des aktuellen Bemaßungsstils zu erzeugen, um sie zu einem anonymen Block zusammenzufassen. Auf diese Art passte sich die neu erstellte Bemaßung sehr schön in die schon bestehenden ein, da das Aussehen des jeweils aktuell eingestellten Bemaßungsstils übernommen wird. Einen Schönheitsfehler hatte diese Bemaßung allerdings. Weder die Start-, noch End- oder Textpunkte ließen sich nach dem Erstellen ändern. Es handelt sich also um keine dynamisch nachführbare Bemaßung, sondern um eine fixe, die man immer wieder neu erstellen muss, wenn sich Start- oder Endpunkt auf dem Polylinien-Objekt an eine andere Stelle verschieben sollen.