1101x
003427
2019-08-06

Domanda

Come posso creare NURBS con l'interfaccia COM?


Risposta:
L'oggetto principale non è un oggetto linea, ma un oggetto del tipo NurbSpline.
Ecco un breve esempio per la creazione di un NURBS (Non-Uniform Rational B-Spline):

'-------------------------------------------------------------------------- --------------------------------------------------- -
Sub nurbs_test ()
'-------------------------------------------------------------------------- --------------------------------------------------- -

Dim modello Come RFEM5.model
Set model = GetObject(, "RFEM5.Model")
model.GetApplication.LockLicense

On Error GoTo e

Dim data As IModelData
Imposta dati = modello.GetModelData

' definisce l'array di nodi
Dim nodes (da 0 a 2) As RFEM5.Node
    
nodi(0).No = 1
nodi(0).Tipo = Standard
nodi(0).CS = cartesiano
nodi(0).X = 1
nodi(0).Y = 1
nodi(0).Z = 0

nodi(1).No = 2
nodi(1).Tipo = Standard
nodi(1).CS = cartesiano
nodi(1).X = 2
nodi(1).Y = 1
nodi(1).Z = -1
    
nodi (2).No = 3
nodi (2).Tipo = Standard
nodi (2).CS = cartesiano
nodi (2).RefObjectNo = 2
nodi (2).X = 0
nodi (2).Y = 1
nodi (2).Z = 0
    
Dim darr1 (da 0 a 5) come doppio
darr1(0) = 0
darr1(1) = 0
darr1(2) = 0
darr1(3) = 1
darr1(4) = 1
darr1(5) = 1
    
Dim darr2 (da 0 a 2) come doppio
darr2(0) = 1
darr2(1) = 1
darr2(2) = 1
    
Dim ns As NurbSpline
nr.generale = 2
ns.General.Type = NurbSplineType
ns.General.NodeList = "1,2,3"
ns.General.Comment = "linea 2"
ns.Nodi = darr1
ns.Ordine = 3
ns.Pesi = darr2
    
data.PrepareModification
data.SetNodes nodi
data.SetNurbSpline ns
e: data.FinishModification
If Err.Number <> 0 Then MsgBox Err.Description, , Err.Source

Imposta dati = Niente
model.GetApplication.UnlockLicense
Set model = Nothing

End Sub

Autore

Il signor Günthel fornisce supporto tecnico per i clienti di Dlubal Software e si prende cura delle loro richieste.