[Frage] Funktion 3D-Kurve aus Achse und Gradiente im VS verfügbar? [Gelöst]

Schlagworte:
  • Visual
  • Scripting
  • 3D-Kurve
  • Achse
  • Gradiente

Im Allplan gibt es unter Freies Modellieren > 3D-Objekte die Funktion 3D-Kurve aus Achse und Gradiente.
Gibt es im Visual Scripting eine Möglichkeit diese Funktion nachzuahmen?
Die 3D-Kurve (meist ein 3D-Spline) soll als Pfad für eine Sweep-Funktion oder ähnliches dienen.

Gruß Felix
Allplan 2024-0-1

Anhänge (1)

Typ: image/png
22-mal heruntergeladen
Größe: 14,33 KiB

Lösung anzeigen Lösung verbergen

In Allplan 2021 gibt es mitlerweile zwei Nodes die diese Augfabe erfüllen: CurveFromAxisAndGradiantCurve und CurveFromAxisAndHeight.
Das Problen wäre somit gelöst.

Das zweite Node funktioniert momentan bei mir nicht, aber das wird sich sicher bald ändern.
Fehlermeldung: Script Geometry.CurveTool.NodeCurveFromAxisAndGradiant not found.
Vielleicht versucht das zweite Node auf das andere zuzugreifen aber der Nodename ist falsch geschrieben.

Grüße
Felix

Gruß Felix
Allplan 2024-0-1

Momentan ist diese Funktion noch nicht in VS abgebildet. Aber manchmal kann man die Zielkurven direkt mit anderer Nodes erzeugen. Wie genau sollte die Kurve aussehen? Wahrscheinlich könnten wir eine alternative Lösung finden.

Product Owner API, Allplan GmbH

Hallo Xingling,

der Node sollte einfach die Eingabe-Parameter der o.g. Funktion als Eingänge haben, also:
-Achse (Curve3D)
-Gradiente (Curve3D)
-Startpunkthöhe (Length)
und als Ausgang die entstehende BSpline3D-Kurve.

Möglicherweise wäre es gut, wenn man als Achse und Gradiente auch 2D-Kurven übergeben könnte. (so wie in Allplan auch)
Dann müßten diese vorher intern noch in 3D-Curven konvertiert werden.

Ein solches Node könnte man tatsächlich an vielen Stelle gebrauchen, z.B. bei Wendeltreppen und Wendelrampen
zur Erzeugung einer Helix! Diese (Helix) kann man sonst nämlich mit keiner anderen Funktion, weder in Allplan noch in
Visual-Scripting mit dieser Genauigkeit erzeugen! Eine "Annäherung" durch mit einer Spline verbundene Konstruktionspunkte
(wie bei CurveProjection) reicht leider in der Praxis oft nicht aus! Zu ungenau!

Bei der Wendeltreppe im Teppenmodellierer wird diese Funktion "3D-Kurve aus Achse und Gradiente" sehr oft benutzt!
Insofern: Ja, dieses Node unbeding mit in den Backlog aufnehmen...

Danke Nemo für die Erklärung.

Diese Funktion werden wir aufnehmen. Momentan können wir nur mit anderen Nodes an das Ergebnis annähen.

Product Owner API, Allplan GmbH

Hallo Xingling,

hier mal ein Preview, wie das aussehen könnte: s. helix.mp4

Da es die Funktion schon in der NemAll_Geometry gibt, sollte es ein leichtes ein, diese
mit einem Python-Wrapper zu versehen, und in ein Node zu verpacken. Die Funktion heißt:
Allplan::Geometry::Builder::CreateBSpline3DFromAxisAndGradient (...)

Anhänge (1)

Typ: video/mp4
1049-mal heruntergeladen
Größe: 1,80 MiB

Ich habe versucht die Funktion mit einem Skript nachzubauen.
Das PythonPart ist sicher noch sehr fehleranfällig und außerdem ist das Skript recht umfangreich. Mit einem einzigen Node wäre das viel besser.

Sollte es das Node in Zukunft geben, hoffe ich, dass ich damit die Fahrwege (Rails) für die Sweep-Nodes erstellen kann.

Wie genau die Sweep-Funktion arbeitet, was genau der Unterschied zwischen Pfad und Fahrweg ist und warum die Funktion so oft fehlschlägt, weiß ich noch nicht. Das soll hier auch nicht das Thema sein.

Gruß Felix
Allplan 2024-0-1

Anhänge (3)

Typ: application/zip
978-mal heruntergeladen
Größe: 15,89 KiB
Typ: image/png
97-mal heruntergeladen
Größe: 95,10 KiB
Typ: image/png
87-mal heruntergeladen
Größe: 265,39 KiB

In Allplan 2021 gibt es mitlerweile zwei Nodes die diese Augfabe erfüllen: CurveFromAxisAndGradiantCurve und CurveFromAxisAndHeight.
Das Problen wäre somit gelöst.

Das zweite Node funktioniert momentan bei mir nicht, aber das wird sich sicher bald ändern.
Fehlermeldung: Script Geometry.CurveTool.NodeCurveFromAxisAndGradiant not found.
Vielleicht versucht das zweite Node auf das andere zuzugreifen aber der Nodename ist falsch geschrieben.

Grüße
Felix

Gruß Felix
Allplan 2024-0-1

Zitiert von: f_hoeser
Fehlermeldung: Script Geometry.CurveTool.NodeCurveFromAxisAndGradiant not found.

Bitte probieren Sie die pypsub-Datei vom Node NodeCurveFromAxisAndHeight mit einen Text Editor zu öffnen und den Name des entsprechenden py-Skripts auf Geometry\CurveTools\NodeCurveFromAxisAndHeight.py zu korrigieren. Danach sollte es wieder funktionieren...

Wir werden es auch im nächsten Update fixen.

Product Owner API, Allplan GmbH

Anhänge (1)

Typ: image/png
43-mal heruntergeladen
Größe: 54,69 KiB