1130x
003427
2019-08-06

Criar splines NURBS através da interface COM

Como é que posso criar splines NURBS com a interface COM?


Resposta:

O objeto principal não é um objeto de linha, mas sim um objeto do tipo NurbSpline.

Temos aqui um pequeno exemplo para criar uma spline NURBS:

  1. código.vb#

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

  1. Dim model As RFEM5.model
  2. Set model = GetObject(, "RFEM5.Model")
  3. model.GetApplication.LockLicense
  1. On Error GoTo e
  1. Dim data As IModelData
  2. Set data = model.GetModelData
  1. ' define array of nodes
  2. Dim nodes(0 To 2) As RFEM5.Node
  3. nodes(0).No = 1
  4. nodes(0).Type = Standard
  5. nodes(0).CS = Cartesian
  6. nodes(0).X = 1
  7. nodes(0).Y = 1
  8. nodes(0).Z = 0
  1. nodes(1).No = 2
  2. nodes(1).Type = Standard
  3. nodes(1).CS = Cartesian
  4. nodes(1).X = 2
  5. nodes(1).Y = 1
  6. nodes(1).Z = -1
  7. nodes(2).No = 3
  8. nodes(2).Type = Standard
  9. nodes(2).CS = Cartesian
  10. nodes(2).RefObjectNo = 2
  11. nodes(2).X = 0
  12. nodes(2).Y = 1
  13. nodes(2).Z = 0
  14. Dim darr1(0 To 5) As Double
  15. darr1(0) = 0
  16. darr1(1) = 0
  17. darr1(2) = 0
  18. darr1(3) = 1
  19. darr1(4) = 1
  20. darr1(5) = 1
  21. Dim darr2(0 To 2) As Double
  22. darr2(0) = 1
  23. darr2(1) = 1
  24. darr2(2) = 1
  25. Dim ns As NurbSpline
  26. ns.General.No = 2
  27. ns.General.Type = NurbSplineType
  28. ns.General.NodeList = "1,2,3"
  29. ns.General.Comment = "line 2"
  30. ns.Knots = darr1
  31. ns.Order = 3
  32. ns.Weights = darr2
  33. data.PrepareModification
  34. data.SetNodes nodes
  35. data.SetNurbSpline ns

e: data.FinishModification

  1. If Err.Number <> 0 Then MsgBox Err.Description, , Err.Source
  1. Set data = Nothing
  2. model.GetApplication.UnlockLicense
  3. Set model = Nothing

End Sub
#/code#


Autor

O Eng. Günthel opera na área do apoio técnico para clientes.

Downloads


;