Pytanie:
Jak mogę tworzyć NURBS za pomocą interfejsu COM?
Odpowiedź:
Głównym obiektem nie jest obiekt liniowy, lecz obiekt typu NurbSpline.
Oto krótki przykład tworzenia NURBS (Non-Uniform Rational B‑Spline):
' ------------------------------------------------ -------------------------------------------------- -
Sub nurbs_test ()
' ------------------------------------------------ -------------------------------------------------- -
Dim model As RFEM5.model
Set model = GetObject(, "RFEM5.Model")
model.GetApplication.LockLicense
On Error GoTo e
Dane Dim As IModelData
Ustaw dane = model.GetModelData
' zdefiniuj tablicę węzłów
Dim węzły (0 do 2) As RFEM5.Node
węzły (0) .Nie = 1
węzły (0). Typ = Standardowy
węzły (0) .CS = kartezjański
węzły (0) .X = 1
węzły (0) .Y = 1
węzły (0) .Z = 0
węzły (1) .Nie = 2
węzły (1).Typ = Standardowy
węzły (1) .CS = Kartezjański
węzły (1) .X = 2
węzły (1) .Y = 1
węzły (1) .Z = -1
węzły (2).Nie = 3
węzły (2). Typ = Standardowy
węzły (2). CS = Kartezjański
węzły (2).RefObjectNo = 2
węzły (2) .X = 0
węzły (2) .Y = 1
węzły (2) .Z = 0
Dim darr1 (0 do 5) As Double
darr1 (0) = 0
darr1 (1) = 0
darr1(2) = 0
darr1(3) = 1
darr1(4) = 1
darr1(5) = 1
Dim darr2 (0 do 2) As Double
darr2 (0) = 1
darr2 (1) = 1
darr2(2) = 1
Wymiary As NurbSpline
ns.General.No = 2
ns.General.Type = NurbSplineType
ns.General.NodeList = "1,2,3"
ns.General.Comment = "linia 2"
ns.Węzły = darr1
ns.Rząd = 3
ns.Wagi = darr2
data.PrepareModification
data.SetNodes nodes
data.SetNurbSpline ns
e: data.FinishModification
Jeżeli Err.Number 0 to MsgBox Err.Description, , Err.Source
Ustaw dane = Nic
model.GetApplication.UnlockLicense
Ustaw model = Nic
End Sub