Zitat:
Original erstellt von Lispelmann:
Hallo,kann mir irgend jemand sagen, ob AutoCAD mit einer Lisp-Funktion folgendes Problem lösen kann?
In einem Lisp-Programm ermittele ich Anfangs- und Endpunkte von mehreren Linien und Bögen. Diese Ermittlung und das Zeichnen der Elemente erfolgt in einer Schleife. Damit mein Lisp-Programm weiter arbeiten kann wird vorausgesetzt, dass diese einzelnen Elemente eine geschlossene Kontur bilden. Manchmal kommt es aber vor, wegen der Rechengenauigkeit, dass zwischen den einzelnen Elementen noch winzige Öffnungen bestehen. Und hier liegt mein Problem.
Kann ich mit einer Lisp-Funktion veranlssen, dass eventuelle vorhandene Freiräume zwischen den Elementen nachträglich automatisch geschlossen werden? Wenn ja, wie kann diese Lisp- Funktion aussehen?
Ich danke Euch allen im voraus.
Lispelmann
Klar, das ist doch trivial und folgt unmittelbar aus Deiner Problembeschreibung: Du erzeugst eine Liste aller Endpunkte und suchst dann für jeden Endpunkt den Punkt aus der Liste, der den geringsten Abstand dazu hat und das zu diesem Punkt gehörende Element, mit dessen zweiten Endpunkt Du dann weiter machst.
Dabei kann es natürlich Probleme geben: ein Punkt kann mehr als zweimal in der Liste vorkommen oder mehr als einen engen Nachbarschaftspunkt haben. Und bei Kreisbögen kann es passieren, dass bei noch so geringem Abstand größer Null keine Verbindung möglich ist und deshalb ein Linienstückchen zusätzlich eingefügt werden muss. Analoges gilt auch für zwei parallele Linien.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP