421x
001168
31.1.2020

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

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 jako RFEM5.IGuideObjects
    Nastavte iGuiObj = iModel.GetGuideObjects

    Dim comm As RFEM5.Comment

    'nastavit typ rámu
    comm.Frame = CircularFrameType

    'nastavit typ referenčního objektu
    comm.ObjectType = GeneralObjectType
    comm.ObjectNo = 1

    'set point, pokud je vybrán GeneralObjectType
    comm.Point.X = 2
    comm.Point.Y = 4
    comm.Point.Z = 6

    'nastavit odsazení od referenčního objektu
    comm.Offset.X = 0,5
    comm.Offset.Y = 1
    comm.Offset.Z = 1,5
    comm.Rotation = 1

    'nastavit text komentáře
    comm.Text = "testcomment"

    "přenést objekt do programu
    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.