805x
004326
31.1.2020

Dotaz

Jak mohu vytvořit komentář přes rozhraní COM?


Odpověď:
Komentář se vytvoří přes rozhraní COM (RS-COM nebo RF-COM) pomocí rozhraní pomocných objektů IGuideObjects. Následně je uveden příklad programu, který vloží komentář:

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

Výběr odkazu resp. prvku, ke kterému se komentář připojí, je nejdříve definován typem (ObjectType). Zde můžeme například vybrat prut, uzel nebo libovolný bod v prostoru. Poté se zadá číslo referenčního objektu pomocí ObjectNo (např. prut 1). Pokud byl vybrán volný bod, nastaví se tento bod pomocí Point.
Nakonec je možné definovat odsazení zadané od referenčního objektu.