796x
004564
2020-07-28

Вопрос

Как посредством модуля RS‑COM создать эксцентриситеты стержней?


Ответ:
Пример создания двух эксцентриситетов стержня показан в следующем макросе VBA. Исходный код затем находится в разделе Загрузки.

'--------------------------------------------------------------------------------------------------
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

Автор

Г-жа фон Бло оказывает техническую поддержку нашим клиентам и отвечает за разработку программы SHAPE‑THIN, а также стальных и алюминиевых конструкций.