442x
001168
2020-01-31

[EN] FAQ 004326 | Как создать с помощью интерфейса COM комментарий?

Вопрос:
Как создать с помощью интерфейса COM комментарий?

Ответ:
В интерфейсе COM (RF-COM или RS-COM) можно создать комментарий с помощью интерфейса для вспомогательных объектов IGuideObjects. Ниже приведен пример программы, которая создает комментарий:

Sub test_comment()

'   get interface from the opened model and lock the licence/program
    Dim iModel As RFEM5.IModel3
    Set iModel = GetObject(, "RFEM5.Model")
    iModel.GetApplication.LockLicense

On Error GoTo e

    Dim iModelData As RFEM5.IModelData2
    Set iModelData = iModel.GetModelData

    Dim iGuiObj As RFEM5.IGuideObjects
    Set iGuiObj = iModel.GetGuideObjects

    Dim comm As RFEM5.Comment

    '   set frame type
    comm.Frame = CircularFrameType

    '   set reference object type
    comm.ObjectType = GeneralObjectType
    comm.ObjectNo = 1

    '   set point if GeneralObjectType is choosen
    comm.Point.X = 2
    comm.Point.Y = 4
    comm.Point.Z = 6

    '   set offset from reference object
    comm.Offset.X = 0,5
    comm.Offset.Y = 1
    comm.Offset.Z = 1,5
    comm.Rotation = 1

    '   set text of comment
    comm.Text = "testcomment"

    '   transfer object to program
    iGuiObj.PrepareModification
    iGuiObj.SetComment comm
    iGuiObj.FinishModification

e:  If Err.Number 0 Then MsgBox Err.description, , Err.Source

    Set iModelData = Nothing
    iModel.GetApplication.UnlockLicense
    Set iModel = Nothing

End Sub

При выборе нужно у референтного элемента, к которому относится комментарий, сначала определить тип (ObjectType). Для этого рекомендуем выбрать, например, стержень, узел или любую точку в пространстве. Далее следует через команду ObjectNo указать номер референтного объекта (например, Стержень 1). Если в качестве референтного объекта была выбрана свободная точка, то она настраивается с помощью команды Point.
Наконец можно указать и смещение от референтного объекта.