439x
001168
2020-01-31

[PT] FAQ 004326 | Como é que se cria um comentário através da interface COM?

Pergunta:
Como é que se cria um comentário através da interface COM?

Resposta:
Os comentários criados através da interface COM (RS-COM ou RF-COM) são realizados através da interface dos objetos auxiliares IGuideObjects. A seguir, é apresentado um exemplo de um programa que define um comentário:

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 como RFEM5.IGuideObjects
    Definir iGuiObj = iModel.GetGuideObjects

    Dim comm As RFEM5.Comment

    'definir tipo de estrutura
    comm.Frame = CircularFrameType

    'definir tipo de objeto de referência
    comm.ObjectType = GeneralObjectType
    comm.ObjectNo = 1

    'set point se GeneralObjectType for escolhido
    comm.Ponto.X = 2
    comm.Ponto.Y = 4
    comm.Ponto.Z = 6

    'definir deslocamento do objeto de referência
    comm.Desvio.X = 0,5
    comm.Desvio.Y = 1
    comm.Desvio.Z = 1,5
    comm.Rotation = 1

    'definir o texto do comentário
    comm.Text = "comentário de teste"

    'transferir objeto para o programa
    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

A seleção da referência ou o elemento ao qual o comentário será anexado é primeiro definido pelo tipo (ObjectType). Aqui é possível selecionar, por exemplo, uma barra, um nó ou qualquer ponto no espaço. Em seguida, o número do objeto de referência é especificado através de ObjectNo (por exemplo, barra 1). Se foi selecionado um ponto livre , este é definido utilizando Ponto.
Finalmente, pode definir um deslocamento que é especificado pelo objeto de referência.