icon

[Frage] BSpline2D, BSpline3D [Gelöst]


Hallo,

Ich nutze einen BSpline2D zur exakten Abbildung einer Kurve. Der erstellte Spline ist valid. Ich bekomme ihn aber nicht als ModelElement2D nach Allplan.
Den gleichen Spline mit ConvertTo3D zu einem BSpline3D konvertiert und als ModelElement3D funktioniert einwandfrei.
Anbei die Konsolenausgabe und der code zum Erstellen des Splines.

BSpline2D BSpline2D(
IsPeriodic(0)
Degree(2)
PointCount(3)
WeightCount(3)
Weights(1, 1, 1)
KnotCount(6)
Knots(0, 0, 0, 1, 1, 1)
Points(
(389361.338586517, 646455.2527631306)
(639361.338586517, 791671.7897024201)
(889361.338586517, 759664.6636304968)))

BSpline3D BSpline3D(
IsPeriodic(0)
Degree(2)
PointCount(3)
WeightCount(3)
Weights(1, 1, 1)
KnotCount(6)
Knots(0, 0, 0, 1, 1, 1)
Points(
(389361.338586517, 646455.2527631306, 0)
(639361.338586517, 791671.7897024201, 0)
(889361.338586517, 759664.6636304968, 0)))

points=AllplanGeo.Point2DList([
                AllplanGeo.Point2D(389361.338586517,646455.2527631306),
                AllplanGeo.Point2D(639361.338586517,791671.7897024201),
                AllplanGeo.Point2D(889361.338586517,759664.6636304968)])
weights=AllplanUtil.VecDoubleList([1.0,1.0,1.0])
knots=AllplanUtil.VecDoubleList([0.0,0.0,0.0,1.0,1.0,1.0])
bspline2d=AllplanGeo.BSpline2D(points,weights,knots,2,False)
_,bspline3D=AllplanGeo.ConvertTo3D(geo)

2D und 3D sind gleich und beide haben .IsValid() = True . 3D wird angezeigt, 2D nicht. Natürlich achte ich darauf, das 2D Element auch als ModelElement2D zu übergeben.
Woran liegts?
Beste Grüße

Lösung anzeigen Lösung verbergen

Hallo,

Allplan hat leider in seiner internen Datenstruktur keinen BSpline2D. Der BSpline2D kann nur für
geometrische Operationen verwendet werden.

Wenn Du einen BSpline in Allplan erzeugen willst, musst Du einen BSpline3D verwenden.

Viele Grüße
Horst

Hallo,

Allplan hat leider in seiner internen Datenstruktur keinen BSpline2D. Der BSpline2D kann nur für
geometrische Operationen verwendet werden.

Wenn Du einen BSpline in Allplan erzeugen willst, musst Du einen BSpline3D verwenden.

Viele Grüße
Horst

Zitiert von: horst_hohmann
Hallo,
Allplan hat leider in seiner internen Datenstruktur keinen BSpline2D. Der BSpline2D kann nur für

geometrische Operationen verwendet werden.
Wenn Du einen BSpline in Allplan erzeugen willst, musst Du einen BSpline3D verwenden.
Viele Grüße

Horst


Danke für die schnelle Antwort. Das ist schade. Hab ich mir aber schon fast gedacht, da man im Programm bei dem 2D Spline auch keinen Splinetype einstellen kann.
Beste Grüße

Warum ist es so, dass Allplan 10 Jahre nach Einführung des Parasolid-Kernes, mit dem die BSpline3D eingeführt wurde,
immer noch nicht in der Lage ist, eine BSpline2D zu erzeugen?

Diese Kurve wäre nicht nur bei Ansichts- und Schnittberechnungen von Parasolid-BReps extrem nützlich, um die polygonisierte
Darstellung von Schnitt- und Ansichtskanten endlich abzuschaffen.

Die 2D-Bezier-Spline (BSpline2D) wäre auch für viele Anwendungen (z.B. im Landschaftsbau) extrem hilfreich, da dieser Spline-Typ sehr viel "schönere" Kurven produziert!

Vielleicht könnte man diese kleine, aber nützliche Erweiterung in Allplan 2028 mal "angehen" ?

Zitiert von: nemo
Warum ist es so, dass Allplan 10 Jahre nach Einführung des Parasolid-Kernes, mit dem die BSpline3D eingeführt wurde,

immer noch nicht in der Lage ist, eine BSpline2D zu erzeugen?
Diese Kurve wäre nicht nur bei Ansichts- und Schnittberechnungen von Parasolid-BReps extrem nützlich, um die polygonisierte

Darstellung von Schnitt- und Ansichtskanten endlich abzuschaffen.
Die 2D-Bezier-Spline (BSpline2D) wäre auch für viele Anwendungen (z.B. im Landschaftsbau) extrem hilfreich, da dieser Spline-Typ sehr viel "schönere" Kurven produziert!
Vielleicht könnte man diese kleine, aber nützliche Erweiterung in Allplan 2028 mal "angehen" ?

Sehe ich auch so. Wäre eine gute Ergänzung.