841x
004326
2020-01-31

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

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.