Support Forum

[Frage] BSpline Parallele bilden für Fahwegsweep mit komplexer BSpline

Schlagworte:
  • Visual
  • Scripting
  • Bspline
  • 3D

Hallo,
Ich wollte einen Sweep mit einem BSpline(dieser muss in allen Ebenen gekrümmt sein) machen und folglich eine Parallele des BSplines machen um auch den Sweep mit Fahrwegen zu machen. Nun gibt es ja für BSplines nur die Möglichkeit über OffsetBSplines zu arbeiten und dieser verlangt einen sogenannten NormVector. Nun habe ich erstmal Versucht anhand der StartTangente der BSpline irgendwie eine Parallele zu modellieren, was nicht funktionierte und dann über den Node Vectornormalize den Vektoren entsprechend anzupassen. Beides funktionierte nicht..
Wo liegt mein Denkfehler ?
Und: Macht das Sinn wenn ich von der kopierten BSpline den ersten und den zweiten Punkt auf die Querschnittspunkte verlege oder macht dies auch der Node OffsetBSpline3DbyDistance ?

Danke!

Anhänge (2)

Typ: image/png
51-mal heruntergeladen
Größe: 8,56 KiB
Typ: image/png
75-mal heruntergeladen
Größe: 54,43 KiB

Hilfreichste Antwort anzeigen Hilfreichste Antwort verbergen

...ja, Du bist leider in die Dokumenationsfalle getappt!
Es ist leider nirgendswo beschrieben, was NormVector ist, und wie der Offset der BSpline erfolgt.

Hier die Hintergründe:

Der Node "OffsetBSpline3DByDistance" erzeugt eine versetzte BSpline in der Ebene, deren Normalen-Vector angegeben ist.
Voraussetzung ist, dass auch die Spline in dieser Ebene liegt. (Der Normalenvector einer Ebene steht immer senkrecht auf der Ebene.)

Mit diesen Randbedingungen ist der Node für dein "Vorhaben" scheinbar nicht zu gebrauchen!

Mit den Nodes "SweepRail", "SweepByPath" und "SweepByRaillPath" hast Du es schon versucht?

Alternativ könntest Du Folgendes versuchen:

Die Stützpunkte der BSpline senkrecht zum Tangenten-Vektor in diesem Punkt mit dem entspr. Abstand kopieren!
Durch die kopierten Punkte eine neue BSpline erzeugen. (s. bspline_offset.png)

2. Alternative:
Dichtere Punkte auf der Spline konstruieren, und diese mit um 90 Grad gedrehtem Tangentenvector versetzen.
(s.spline_offset.png)

Roter Pfeil: Schade, dass es noch immer keiner Slider als Controls in der Palette gibt

Anhänge (3)

Typ: image/png
104-mal heruntergeladen
Größe: 188,49 KiB
Typ: image/png
66-mal heruntergeladen
Größe: 69,01 KiB
Typ: image/png
61-mal heruntergeladen
Größe: 44,74 KiB
11 - 11 (11)

..für Deinen Zweck wäre sicher ein graphische Eingabe für den Verlauf der Querneigung entlang der Achse wünschenswert.
Dort 10 Werte einzutippen ist nicht wirklich hilfreich! Und was macht man, wenn es 20 Stationen sind? 20 Werte eintippen?

Bei Grashopper gibt es ein sehr mächtiges Node dafür, den "GraphMapper".(s. Video)
Dieser verwandelt die Eingabewerte (x-Werte) in einen zugehörigen Funktionswert (y=f(x)) wobei man die Funktion frei wählen kann.

Ich habe das mal exemplarisch in meinem Visual-Scripting-Tool implementiert.Allerdings auch für mehrere lineare Abschnitte.

Ich könnte mir vorstellen, dass ein solcher "graphischer Schieberegler" auch in Allplan Visual-Scripting gute Anwendung finden könnte.
Das entspr. Custom Control in WPF aus eigener Entwicklung könnte ich zur Verfügung stellen.

Als Anfang wäre es aber erst mal nicht schlecht, wenn es in Allplan-Visual-Scripting funktionierende Slider geben würde...

Anhänge (2)

Typ: video/mp4
807-mal heruntergeladen
Größe: 2,39 MiB
Typ: image/png
66-mal heruntergeladen
Größe: 220,98 KiB
11 - 11 (11)