Support Forum

[Frage] 3D-Polygonzug mit 3D-Kreis verbinden via Pythonpart [Gelöst]

Schlagworte:
  • Allplan2022
  • Pythonpart
  • 3D-Polygonzug
  • 3D-Kreis
  • Verbinden

Guten Tag,

ich habe mithilfe des VisualScripting Tools ein Kanalbauteil modelliert. Jedoch bekomme ich es nicht hin beim Versuch diese 2D-Linien zu einer 3D-Fläche zusammenzufügen um einen 3D-Volumenkörper zu extrudieren. Ich vermute, dass die Linien nicht perfekt aufeinander liegen auch wenn ich beim hereinzoomen keine Abweichung erkennen kann. Ich habe bereits versucht den Kreis zu polygonalisieren, eine Elementverbindung, Elemente wandeln, gleiche Segmentnummer... vergeblich.

Anbei ein Bild, das Teilbild sowie das Pythonskript.

Ziel: Die 3D-Polygonlinien sowie die 3D-Kreise zu einer Fläche und dann zu einem Volumenkörper zu extrudieren. Dabei soll die Geometrie mittels Pythonskript variabel sein.

Über Lösungsvorschläge wäre ich dankbar.

VG

Anhänge (3)

Typ: application/ndw
656-mal heruntergeladen
Größe: 768,26 KiB
Typ: image/png
90-mal heruntergeladen
Größe: 185,96 KiB
Typ: text/xml
755-mal heruntergeladen
Größe: 20,59 KiB

Lösung anzeigen Lösung verbergen

Damit daraus ein Volumenkörper wird, müssen die Kurven verbunden und die Konturen geschlossen sein.
Am einfachsten kann man das überprüfen, indem man die Kontur-Kurven zu 3D-Pfaden zusammenfügt.
Erst wenn alle Kurven in einem 3D-Pfad enthalten sind, ist sichergestellt, dass diese auch "verbunden" sind.

In Deinem Fall war der Winkel beim Übergang der seitlichen zum unteren Kreisbogen nicht ganz exakt angegeben. Es fehlten 2 Nachkommastellen: 36.8698 statt 36.87 macht den Unterschied!

Ausserdem ist der Node SweepXYSection scheinbar nicht in der Lage, zwischen Aussenkontur und Innenkontur zu unterscheiden, und einen Sweep-Körper mit Loch herzustellen.

Deshalb muss man scheinbar 2 getrennte Sweep-Körper machen, und den Innenkörper (Loch) vom Aussenkörper abziehen.

@Allplan
Es fehlt ein Node, mit dem man einen Kreisbogen durch 3 Punkte konstruieren kann.
Damit hätte man den unteren Kreisbogen eleganter aus den beiden benachtbarten Endpunkten, und einem Punkt in der Mitte konstruieren können. Man hätte somit die numerischen Ungenauigkeiten bei der Eingabe umgehen können!

Anhänge (3)

Typ: image/png
69-mal heruntergeladen
Größe: 25,91 KiB
Typ: image/png
79-mal heruntergeladen
Größe: 258,67 KiB
Typ: text/xml
739-mal heruntergeladen
Größe: 23,11 KiB

Damit daraus ein Volumenkörper wird, müssen die Kurven verbunden und die Konturen geschlossen sein.
Am einfachsten kann man das überprüfen, indem man die Kontur-Kurven zu 3D-Pfaden zusammenfügt.
Erst wenn alle Kurven in einem 3D-Pfad enthalten sind, ist sichergestellt, dass diese auch "verbunden" sind.

In Deinem Fall war der Winkel beim Übergang der seitlichen zum unteren Kreisbogen nicht ganz exakt angegeben. Es fehlten 2 Nachkommastellen: 36.8698 statt 36.87 macht den Unterschied!

Ausserdem ist der Node SweepXYSection scheinbar nicht in der Lage, zwischen Aussenkontur und Innenkontur zu unterscheiden, und einen Sweep-Körper mit Loch herzustellen.

Deshalb muss man scheinbar 2 getrennte Sweep-Körper machen, und den Innenkörper (Loch) vom Aussenkörper abziehen.

@Allplan
Es fehlt ein Node, mit dem man einen Kreisbogen durch 3 Punkte konstruieren kann.
Damit hätte man den unteren Kreisbogen eleganter aus den beiden benachtbarten Endpunkten, und einem Punkt in der Mitte konstruieren können. Man hätte somit die numerischen Ungenauigkeiten bei der Eingabe umgehen können!

Anhänge (3)

Typ: image/png
69-mal heruntergeladen
Größe: 25,91 KiB
Typ: image/png
79-mal heruntergeladen
Größe: 258,67 KiB
Typ: text/xml
739-mal heruntergeladen
Größe: 23,11 KiB

Vielen vielen Dank. Es funktioniert einwandfrei!
Ich habe zwischenzeitlich auch entdeckt, dass die Kreisbögen eine Abweichung im Start- und Endpunkt im Bereich von 6e-13 hatten.

VG