# Boeschung.lsp Migration AutoCAD 2023 -> 2025 Das Boeschung.lsp funktioniert einwandfrei in AutoCAD 2023 aber in 2025 funktioniert es nicht mehr. Ich habe versucht das Problem zu finden und zu lösen. In diesem Dokument lege ich meine Erkenntnisse dar. Es war mir nicht möglich das Problem vollständig zu verstehen oder zu lösen aber ich denke, dass meine Erkenntnisse trotzdem einen wertvollen Beitrag zum Finden des Problems beitragen kann. In diesem Ordner habe ich eine Kopie des Boeschung.lsp bzw. L-Boeschung.lsp erstellt in denen ich meine Lösungsideen umgesetzt habe. Dieser Ordner ist mit Git versioniert und somit können die Änderungen, die ich an den Lisps angebracht habe genau verfolgt werden. ## Problemanalyse Das Problem scheint zu sein, dass sich nicht alle Funktionen der Standardbibliothek genau gleich verhalten in den beiden Versionen. Teilweise werden Koordinaten von Punkten in AutoCAD 2025 minmal anders berechnet als in AutoCAD 2023 (im Bereich von 1e-6). Das führt dazu, dass z.B. die Funktion `vlax-curve-getDistAtPoint` den Wert `nil` zurückgibt, anstatt die Korrekte Koordinate. Des Weiteren verhält sich die Funktion `vlax-curve-getClosestPointToProjection` teilweise merkwürdig und gibt `nil` zurück, obwohl das keinen sinn ergibt. ## Lösungsversuch Das erste Problem mit `vlax-curve-getDistAtPoint` habe ich so gelöst, dass ich eine Wrapper-Funktion erstellt habe, die zunächst den nächsten Punkt auf der Linie zum eigentlichen Punkt berechnet. Wenn dieser Punkt auf der Linie nur minimal vom eigentlichen Punkt abweicht, wird anstattdessen der Punkt auf der Linie verwenden, wodruch nicht mehr `nil` zurückgegeben wird, sondern die korrekten Koordinaten. Das Problem mit `vlax-curve-getClosestPointToProjection` konnte ich nicht lösen. Ich verstehe nicht wieso manchmal und nur bei spezifischen Koordinaten `nil` zurückgegeben wird. Ich habe eine Testdatei (Test.dwg) erstellt wo ein Punkt und ein Linie drin sind. Mit dem Lisp Test.lsp kann die Ausführung von `vlax-curve-getClosestPointToProjection` mit einem Fehlerhaften Punkt getestet werden. Eigentlich sollte eine Punktkoordinate zurückgegeben werden aber mit dem spezifischen Punkt aus der Test.dwg wird eben `nil` zurückgegeben.