Hallo Profis,
Folgendes Problem:
Ich habe habe Koordinaten und Achsrichtungen einer Kurvenform (Klothoide, Bloss, Sinusoide) gerechnet
(in regelmäßigem Abstand eine Koordinate mit Tangentenrichtung) und zeichne sie als interpolierenden Spline mit Hilfe des Bspline-Objekts.
Frage: kann ich irgendwie die Anfangs- und Endtangente des BsplineCurveElements festlegen
VBA-Code:
Sub zeichnen_MS(ByVal trGerechnet As clsTrassenElement)
Dim Stat() As Double 'Stationierung
Dim y() As Double 'Rechtswert (geodätisch)
Dim x() As Double 'Hochwert (geodätisch)
Dim AxRicht() As Double 'Achsrichtung Gon im Uhrzeigersinn bezogen auf GitterNord
Dim i As Long 'Schleifenvariable
Dim n As Long 'Anzahl der Achspunkte
Dim FitPoints() As Point3d 'Achspunktkoordinaten (y,x)
Dim meinKurvenElem As Object ' später Zeichenelement
'Methode des Benutzerdefinierten EingabeObjekts "trGerechnet"
' liefert Achspunkte des Trassenelement:
' Rechts-, Hochwert und Axrichtung
trGerechnet.Ausgabe_Stat_xy_Riwi_Vektoren Stat, y, x, AxRicht
'Anzahl der Achspunkte
n = UBound(y) - 1 '(nullbasierend)
ReDim FitPoints(n) As Point3d
'Achspunkte aus Trassenelement übernehmen
For i = 0 To n
FitPoints((i)).x = y(i + 1)
FitPoints((i)).y = x(i + 1)
Next i
'Erzeugen der Kurvenlinie als inteplolierender Spline
Dim meinSplineElem As BsplineCurveElement
Dim oFitCurve As InterpolationCurve
Set oFitCurve = New InterpolationCurve
oFitCurve.SetFitPoints FitPoints
Set meinSplineElem = CreateBsplineCurveElement2(Nothing, oFitCurve)
Set meinKurvenElem = meinSplineElem
meinKurvenElem.Color = 28 'RGB(240, 240, 0) 'Gelb
Set oFitCurve = Nothing
Set meinSplineElem = Nothing
'Übernehmen der Kurvenlinie
ActiveModelReference.AddElement meinKurvenElem
meinKurvenElem.Redraw
Set meinKurvenElem = Nothing
Vielen Dank für eventuelle Antworten
Gruß Joachim
End Sub
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP