Вопрос:
Как создать NURBS с помощью интерфейса COM?
Ответ:
Основной объект - это не линейный объект, а объект типа NurbSpline.
Вот краткий пример создания NURBS (неравномерного рационального B-сплайна):
'--------------------------------------------------------------------------------------------------
Sub nurbs_test ()
'--------------------------------------------------------------------------------------------------
Dim model As RFEM5.model
Set model = GetObject(, "RFEM5.Model")
model.GetApplication.LockLicense
On Error GoTo e
Dim data As IModelData
Set data = model.GetModelData
' определить массив узлов
Размеры узлов (от 0 до 2) Как в RFEM5.Node
узлов (0) .No = 1
узлов (0) .Type = Standard
узлов (0) .CS = декартова
узлов (0) .X = 1
узлов (0) .Y = 1
узлов (0) .Z = 0
узлов (1) .No = 2
узлов (1) .Type = Standard
узлов (1) .CS = декартова
узлов (1) .X = 2
узлов (1) .Y = 1
узлов (1) .Z = -1
узлов (2) .No = 3
узлов (2) .Type = Standard
узлов (2) .CS = декартова
узлов (2) .RefObjectNo = 2
узлов (2) .X = 0
узлов (2) .Y = 1
узлов (2) .Z = 0
Dim darr1 (от 0 до 5) как двойной
darr1 (0) = 0
darr1 (1) = 0
darr1 (2) = 0
darr1 (3) = 1
darr1 (4) = 1
darr1 (5) = 1
Dim darr2 (от 0 до 2) как двойное
darr2 (0) = 1
darr2 (1) = 1
darr2 (2) = 1
Dim ns As NurbSpline
ns.General.No = 2
ns.General.Type = NurbSplineType
ns.General.NodeList = "1,2,3"
ns.General.Comment = "строка 2"
ns.Knots = darr1
ns.Order = 3
ns.Weights = darr2
data.PrepareModification
узлы data.SetNodes
data.SetNurbSpline ns
e: data.FinishModification
If Err.Number 0 Then MsgBox Err.Description, , Err.Source
Set data = Nothing
model.GetApplication.UnlockLicense
Set model = Nothing
End Sub