796x
004564
28. Juli 2020

Frage

Wie können mit RS-COM Stabexzentrizitäten angelegt werden?


Antwort:
Das folgende VBA-Makro zeigt die Erzeugung zweier Stabexzentrizitäten. Der Quellcode kann unter den Downloads heruntergeladen werden.

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

    'Get interface for model
    Set model = GetObject(, "RSTAB8.Model")
    
    ' Block COM licence and program access
    model.GetApplication.LockLicense

    On Error GoTo e
    ' Get interface for model data
    Set data = model.GetModelData

   'Define eccentricity 1
    ecc(0).No = 1
    ecc(0).ReferenceSystem = LocalSystemType
    ecc(0).Start.X = 0.01
    ecc(0).Start.Y = 0.02
    ecc(0).Start.Z = 0.03
    ecc(0).End.X = -0.01
    ecc(0).End.Y = -0.02
    ecc(0).End.Z = -0.03
    ecc(0).Comment = "eccentricity 1"
    
   'Define eccentricity 2
    ecc(1).No = 2
    ecc(1).ReferenceSystem = GlobalSystemType
    ecc(1).Start.X = -0.07
    ecc(1).Start.Y = -0.08
    ecc(1).Start.Z = -0.09
    ecc(1).End.X = 0.07
    ecc(1).End.Y = 0.08
    ecc(1).End.Z = 0.09
    ecc(1).Comment = "eccentricity 2"
    
    'Transfer member eccentricities
    data.PrepareModification
    data.SetMemberEccentricities ecc

e:  data.FinishModification
    If Err.Number <> 0 Then MsgBox Err.Description, , Err.Source
    Set data = Nothing
    ' COM licence is unlocked, program access possible again
    model.GetApplication.UnlockLicense
    Set model = Nothing

End Sub

Autor

Frau von Bloh bietet im Kundensupport Hilfestellung für unsere Anwender und ist zudem für die Entwicklung des Programms RSECTION sowie für den Stahl- und Aluminiumbau zuständig.