Schnittpunkt zw. 3D-Kreis und 3D-Bogen [Gelöst]


Hallo,

ich wollte heute in VS den Schnittpunkt eines 3D-Kreises mit einem 3D-Kreisbogen ermitteln lassen.
Die naheliegendste Lösung war es für mich den Node "IntersectionPoint" dafür zu verwenden.

Wenn man mit der Maus über den Outputport des Nodes fährt, werden zwar Schnittpunkte ausgegeben, jedoch werden diese nicht am Objekt selber angezeigt und auch das Weiterverbinden des Outputports mit Nodes führt zu keinen Ergebnissen mehr.
(verschneidet man zwei 3D-Linien oder 3D-Polylinien mit 3D-Splines miteinander, funktioniert es übrigens)

Wenn ich statt "IntersectionPoint" den Node "ClosestIntersectionpoint" verwende, wird mir bei allen verwendeten Elementen ein Schnittpunkt korrekt erzeugt und ausgegeben.

Entweder mache ich hier etwas falsch, oder der "IntersectionPoint" Node funktioniert bei 3D-Kreisen und 3D-Bögen nicht richtig?

(Hab mal beide Varianten, also mit "IntersectionPoint" und mit "ClosestIntersectionpoint", als Scripte angehängt)

Grüße,
Mario

Anhänge (2)

Typ: application/zip
824-mal heruntergeladen
Größe: 1,36 KiB
Typ: application/zip
833-mal heruntergeladen
Größe: 1,41 KiB

Lösung anzeigen Lösung verbergen

Hallo Mario,

ich habe den Node erweitert. Man kann jetzt entscheiden, ob die berechneten Schnittpunkte auf den Elementen liegen müssen (default) oder auch Schnittpunkte zulässig sind, die außerhalb der Elemente liegen.

Viele Grüße
Horst

Anhänge (1)

Typ: application/zip
852-mal heruntergeladen
Größe: 3,47 KiB

Hallo Mario,

danke für die Info, im Anhang ist der angepasste Node.

Achtung: Diese Anpassung wird erst in der Version 2021-1-2 offiziell vorhanden sein und damit durch die Installation der 2021-1-1 überschrieben!

Viele Grüße
Horst

Anhänge (1)

Typ: application/zip
855-mal heruntergeladen
Größe: 787,00 B

..ja, Horst hat es ja schon gemerkt: Das Script im Node ist falsch! Die "Aufbereitung" in die Result-Liste ist nicht korrekt.
Anbei das korrigierte Script.

Doch noch ein Fehler fällt auf:
Es werden immer 2 Schnittpunkte (im Screenshot als Kugel dargestellt) berechnet, egal ob der Kreisbogen den Kreis überhaupt schneidet, oder nicht!

Die zugrundeliegende Geometrie-Function macht es richtig, wie man an dem Beispiel meiner VS-Implementierung sieht.(s. intersect_func.mp4)
Das muss noch etwas im Py-Wrapper oder im Node-Script falsch sein...

Anhänge (3)

Typ: application/zip
828-mal heruntergeladen
Größe: 842,00 B
Typ: image/png
39-mal heruntergeladen
Größe: 40,77 KiB
Typ: video/mp4
857-mal heruntergeladen
Größe: 521,68 KiB

Hallo Mario,

ich habe den Node erweitert. Man kann jetzt entscheiden, ob die berechneten Schnittpunkte auf den Elementen liegen müssen (default) oder auch Schnittpunkte zulässig sind, die außerhalb der Elemente liegen.

Viele Grüße
Horst

Anhänge (1)

Typ: application/zip
852-mal heruntergeladen
Größe: 3,47 KiB