403x
004195
2019-11-07

Вопрос

Как можно задним числом изменить элемент через интерфейс COM?


Ответ:

Чтобы изменить существующий элемент, вам нужно получить интерфейс для соответствующего элемента, в данном случае на примере стержня:

Dim iModel As RSTAB8.model
Установите iModel = GetObject (, "RSTAB8.Model")
iModel.GetApplication.LockLicense
    
Dim iModData As IModelData
Установите iModData = iModel.GetModelData
    
Dim iMem As RSTAB8.IMember
Set iMem = iModData.GetMember(1, AtNo)

Используйте этот код, чтобы получить интерфейс для стержня 1, который уже должен быть создан. Затем можно использовать метод интерфейса .GetData () для получения данных об элементах.

Если вы хотите изменить данные (например, поворот стержня), вы можете впоследствии передать их в программу в блоке Prepare-/FinishModification с помощью метода .SetData ().


Dim mem As RSTAB8.Member
mem = iMem.GetData
    
mem.Rotation.Angle = 0,5
mem.Rotation.Type = RSTAB8.Angle
   
iModData.PrepareModification
iMem.SetData mem
iModData.FinishModification