568x
001635
2020-07-28

[PT] FAQ 004564 | Como é que posso criar excentricidades de barras no RS-COM?

Pergunta:
Como é que posso criar excentricidades de barras no RS-COM?

Resposta:
A seguinte macro VBA mostra a criação de duas excentricidades de barra. O código fonte pode ser encontrado em Downloads.

'--------------------------------------------------------------------------------------------------
Sub SetEccs()
'--------------------------------------------------------------------------------------------------
Dim model As RSTAB8.model
Dim data As IModelData
Dim ecc(1) As RSTAB8.MemberEccentricity

    ' Obter interface para o modelo
    Definir modelo = GetObject (, "RSTAB8.Model")

    ' Bloquear licença COM e acesso ao programa
    model.GetApplication.LockLicense

    On Error GoTo e
    ' Obter interface para os dados do modelo
    Set data = model.GetModelData

   ' Definir excentricidade 1
    ecc (0) .Não = 1
    ecc (0) .ReferenceSystem = LocalSystemType
    ecc (0) .Inicio.X = 0,01
    ecc (0) .Início.Y = 0,02
    ecc (0) .Inicio.Z = 0,03
    ecc (0) .End.X = -0,01
    ecc (0) .End.Y = -0,02
    ecc(0).Fim.Z = -0,03
    ecc(0).Comment = "excentricidade 1"

   'Definir excentricidade 2
    ecc(1).Nº = 2
    ecc(1).ReferenceSystem = GlobalSystemType
    ecc(1).Inicio.X = -0,07
    ecc(1).Inicio.Y = -0,08
    ecc(1).Inicio.Z = -0,09
    ecc(1).Fim.X = 0,07
    ecc(1).Fim.Y = 0,08
    ecc(1).Fim.Z = 0,09
    ecc(1).Comment = "excentricidade 2"

    'Transferir excentricidades de barra'
    data.PrepareModification
    data.SetMemberExcentricidades ecc

e:  data.FinishModification
    Se Err.Number 0 Então MsgBox Err.Description, , Err.Source
    Set data = Nothing
    ' A licença COM está desbloqueada, o acesso ao programa é novamente possível
    model.GetApplication.UnlockLicense
    Set model = Nothing

End Sub