914x
004181
25.11.2019

Vytvoření výsledkového prutu pomocí rozhraní COM

Jak mohu pomocí rozhraní COM vytvořit výsledkový prut?


Odpověď:

Nejdříve vytvoříme výsledkový prut přesně jako normální prut:

    Dim model As RFEM5.model
    Set model = GetObject(, "RFEM5.Model")
    model.GetApplication.LockLicense

    On Error GoTo e

    Dim data As IModelData
    Set data = model.GetModelData

    Dim members(0) As RFEM5.Member
    
    members(0).No = 3
    members(0).LineNo = 12
    members(0).Type = ResultBeamType
    
    members(0).StartCrossSectionNo = 1
    members(0).EndCrossSectionNo = 1
    
    members(0).Comment = "result beam 1"

    data.PrepareModification
    data.SetMembers members
    data.FinishModification

Poté musí být rozhraní IMember načteno od příslušného prutu a pomocí metody GetExtraData se dostane rozhraní k IResultMember. Pomocí tohoto rozhraní lze nyní přečíst nebo zapsat údaje pro ResultMember. Je nutné mít na zřeteli, že pro psaní je vyžadován blok Prepare-/Finishmodification:

    Dim iMem As IMember
    Set iMem = data.GetMember(3, AtNo)
    
    Dim iRMem As IResultBeam
    Set iRMem = iMem.GetExtraData
    
    Dim RMem As ResultBeam
    RMem = iRMem.GetData
    
    RMem.IncludeSurfaces = "1"
    RMem.IncludeSolids = "all"
    
    RMem.Integrate = WithinCuboidGeneral
    
    Dim params(0 To 3) As Double
    
    RMem.Parameters = params
    RMem.Parameters(0) = 0.5
    RMem.Parameters(1) = 0.5
    RMem.Parameters(2) = 0.1
    RMem.Parameters(3) = 0.1
    
    data.PrepareModification
    iRMem.SetData RMem
    data.FinishModification

V příloze najdete hotové makro v Excelu a příslušný zkušební soubor.


Autor

Ing. Günthel zajišťuje technickou podporu zákazníkům.

Stahování


;