462x
001168
31. Januar 2020

[EN] FAQ 004326 | Wie kann man einen Kommentar über die COM-Schnittstelle anlegen?

Frage:
Wie kann man einen Kommentar über die COM-Schnittstelle anlegen?

Antwort:
Das Anlegen eines Kommentars über die COM-Schnittstelle (RS-COM oder RF-COM) erfolgt über die Schnittstelle der Hilfsobjekte IGuideObjects. Im Folgenden ein Beispielprogramm, welches einen Kommentar setzt:

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

Die Auswahl der Referenz, bzw. das Element an welches der Kommentar angehängt wird, wird zunächst über den Typ (ObjectType) festgelegt. Hier kann z. B. ein Stab, ein Knoten oder ein beliebiger Punkt im Raum gewählt werden. Als nächstes wird über ObjectNo die Nummer des Referenzobjekts angegeben (z. B. Stab 1). Falls ein freier Punkt gewählt wurde, wird über Point dieser gesetzt.
Zuletzt kann noch ein Offset angegeben werden, welcher vom Referenzobjekt aus angeben wird.



;