1067x
003427
2019-08-06

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 ()
' ------------------------------------------------ -------------------------------------------------- -

Model przyciemnienia Jak w RFEM5.model
Ustaw 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) .nr = 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 węzłów
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

Zakończ sub

Autor

Pan Günthel zapewnia wsparcie techniczne klientom firmy Dlubal Software i zajmuje się ich zapytaniami.