Perguntas mais frequentes (FAQs)

Procurar pergunta




Apoio ao cliente a toda hora

Base de dados de conhecimento

Para além do serviço de apoio técnico (p. ex. via chat), pode encontrar na nossa página de Internet material de apoio que pode ser útil para os seus trabalhos com o software Dlubal.

Newsletter

Receba regularmente informação sobre novidades, dicas úteis, eventos planeados, ofertas especiais e vales.

  • Resposta

    Para calcular apenas determinados casos de carga, combinações de carga ou combinações de resultados, tal como o comando "Para calcular..." (ver Figura 01), pode utilizar o método CalculateBatch da interface ICalculation. Ao transferir dados, o método espera um campo com a carga do tipo Loading. Loading inclui o número e o tipo da carga (por exemplo, combinação de carga):

    Sub batch_test()
        
    '   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
        
        '   get interface for calculation
        Dim iCalc As ICalculation2
        Set iCalc = iModel.GetCalculation
        
        '   create array with loading types
        Dim loadings(3) As Loading
        loadings(0).no = 1
        loadings(0).Type = LoadCaseType
        
        loadings(1).no = 4
        loadings(1).Type = LoadCaseType
        
        loadings(2).no = 4
        loadings(2).Type = LoadCombinationType
        
        '   calculate all loadings from the array at once
        iCalc.CalculateBatch loadings

    e:  If Err.Number <> 0 Then MsgBox Err.description, , Err.Source
        
        Set iModelData = Nothing
        iModel.GetApplication.UnlockLicense
        Set iModel = Nothing

    End Sub
  • Resposta

    Uma imperfeição é considerada uma carga e é transferida através da interface do caso de carga. Se a interface para o modelo já tiver sido importada, é importada a interface para as cargas (ILoads) e, em seguida, a interface para o caso de carga 1 (ILoadCase), caso este tenha sido criado antes:

            '   set loadcases
            Dim iLoads As iLoads
            Set iLoads = model.GetLoads
            
            '   get load case
            Dim iLc1 As ILoadCase
            Set iLc1 = iLoads.GetLoadCase(1, AtNo)
            
            '   define imperfection
            Dim imperf As Imperfection
            imperf.Comment = "test"
            imperf.Direction = LocalZType
            imperf.Inclination = 200
            imperf.no = 1
            imperf.ObjectList = 1
            imperf.Precamber = 300
            imperf.PrecamberActivity = ActivityAccording_EN_1993_1_1
            
            '   set imperfection
            iLc1.PrepareModification
            iLc1.SetImperfection imperf
            iLc1.FinishModification

    Os dados da imperfeição (Imperfection) são primeiro preenchidos, aqui para a barra 1, e depois transferidos dentro de um bloco Prepare-/FinishModification da interface do caso de carga.

  • Resposta

    Para modificar um elemento existente, é necessário obter a interface para o elemento correspondente, no caso do presente exemplo, uma barra:

        Dim iModel As RSTAB8.model
        Set iModel = GetObject(, "RSTAB8.Model")
        iModel.GetApplication.LockLicense
        
        Dim iModData As IModelData
        Set iModData = iModel.GetModelData
        
        Dim iMem As RSTAB8.IMember
        Set iMem = iModData.GetMember(1, AtNo)

    Utilize este código para obter a interface para a barra 1, que já deve estar criada. Em seguida, pode utilizar o método .GetData () da interface para obter os dados da barra.

    Se pretende modificar dados (a rotação da barra, tal como no exemplo), pode depois transferi-los para o programa dentro de um bloco Prepare-/FinishModification com o método .SetData ().


        Dim mem As RSTAB8.Member
        mem = iMem.GetData
        
        mem.Rotation.Angle = 0.5
        mem.Rotation.Type = RSTAB8.Angle
       
        iModData.PrepareModification
        iMem.SetData mem
        iModData.FinishModification
  • Resposta

    O seguinte código de exemplo mostra como obter diferentes parâmetros de cálculo através da interface COM. Também é demonstrado como especificar uma configuração para desativar a rigidez de corte:

        '   get model interface
        Set iApp = iModel.GetApplication()
        iApp.LockLicense
        
        '   get calculation interface
        Dim iCalc As RFEM5.ICalculation2
        Set iCalc = iModel.GetCalculation
        
        '   get surface bending theory
        Dim calc_bend As RFEM5.BendingTheoryType
        calc_bend = iCalc.GetBendingTheory
        
        '   get settings for nonlinearities
        Dim calc_nl As RFEM5.CalculationNonlinearities
        calc_nl = iCalc.GetNonlinearities
        
        '   get precision and tolerance settings
        Dim calc_prec As RFEM5.PrecisionAndTolerance
        calc_prec = iCalc.GetPrecisionAndTolerance
        
        '   get calculation settings
        Dim calc_sets As RFEM5.CalculationSettings
        calc_sets = iCalc.GetSettings
        
        '   get calculation options
        Dim calc_opts As RFEM5.CalculationOptions
        calc_opts = iCalc.GetOptions
        
        '   set ShearStiffness to false
        calc_opts.ShearStiffness = False
        iCalc.SetOptions calc_opts

    No anexo, encontra uma macro do EXCEL para descarregar.
  • Resposta

    O atrito representa uma não linearidade e, portanto, só pode ser modificado através da interface para a articulação de barra.

    Para tal, a articulação de barra deve ser criada primeiro, caso ainda não esteja disponível. Em seguida, é adicionada a interface IMemberHinge para a articulação de barra e depois para a não linearidade (aqui IFriction). Poderá depois utilizar os métodos GetDataSetData para modificar os dados (aqui Friction):

    Sub SetMemberHingeFriction()

        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 hinge(0 To 0) As RFEM5.MemberHinge

        hinge(0).No = 1
        hinge(0).RotationalConstantX = 1
        hinge(0).RotationalConstantY = 2
        hinge(0).RotationalConstantZ = 3
        hinge(0).TranslationalConstantX = 4
        hinge(0).TranslationalConstantY = 5
        hinge(0).TranslationalConstantZ = 6
        hinge(0).Comment = "Member Hinge 1"
        
        hinge(0).TranslationalNonlinearityX = FrictionAType

        data.PrepareModification
        data.SetMemberHinges hinge
        data.FinishModification
        
        ' get interface for member hinge
        Dim imemhing As IMemberHinge
        Set imemhing = data.GetMemberHinge(1, AtNo)
        
        ' get interface for nonlinearity "friction"
        Dim iFric As IFriction
        Set iFric = imemhing.GetNonlinearity(AlongAxisX)
        
        ' get friction data
        Dim fric As Friction
        fric = iFric.GetData
        
        fric.Coefficient1 = 0.3
        
        ' set friction data
        data.PrepareModification
        iFric.SetData fric
        data.FinishModification
        
        
    e:  If Err.Number <> 0 Then MsgBox Err.Description, , Err.Source

        Set data = Nothing
        model.GetApplication.UnlockLicense
        Set model = Nothing

    End Sub


    No caso do atrito Vy + Vz, o Coeficiente2 é utilizado para definir o segundo coeficiente. A mola de translação na caixa de diálogo Atrito é controlada pela mola de translação da articulação de barra. Neste caso em concreto, é TranslationalConstantX para a direção x (ver Figura 01).

  • Resposta

    O cálculo assíncrono é utilizado se um programa criado por si só abrir ou continuar o RFEM ou o RSTAB. Quando o cálculo é concluído, o evento é transferido através de um delegado. Você pode encontrar um exemplo de C # em um projeto do Visual Studio na área de download abaixo.
  • Resposta

    Esta verificação pode ser efetuada automaticamente pelo programa

    • "IApplication.LockLicense ()"
    • "bool isLicensed = IApplication.IsComLicensed ()"
    • "IApplication.UnlockLicense ()"


  • Resposta

    Para transferir vários elementos, primeiro tem de criar um campo (matriz) no VBA:

    Nós de dimensão (0 a 2) como RFEM5.Node

    Então, você pode transferir todos os nós de uma vez para o campo (aqui três elementos 0,1,2) com o método IModelData.SetNodes ().

    Esses métodos também estão disponíveis para os seguintes elementos estruturais, por exemplo:

    IModelData.SetLines ()
    IModelData.SetMembers ()
    IModelData.SetSurfaces ()
  • Resposta

    Basicamente, quaisquer alterações à interface COM são nomeadas no nosso relatório de atualização para o respetivo módulo adicional. Todos os relatórios de atualização estão disponíveis no seguinte link .

    Se houver uma alteração na interface COM, estas serão listadas. Especialmente quando converte as interfaces COM mais antigas do RSTAB6 / RFEM3 para o RSTAB8 / RFEM5, a compatibilidade total não é garantida devido à alteração das tlbs no VBA para uma solução integrada com dlls.

    No entanto, é normalmente possível sobrescrever as dlls na atual interface COM sem qualquer problema. Para backups adicionais, é sempre recomendado fazer cópias de segurança dos ficheiros antigos.
  • Resposta

    Não, isso não é possível. O relatório não pode ser aberto nem gerido através da interface COM. A única coisa que pode ser feita é acessar o número de relatórios criados em uma lista.

    É possível acessar os registros do modelo. Isto é explicado na seguinte FAQ . No entanto, isto não pode ser controlado pela interface COM do RFEM / RSTAB, mas sim através de uma funcionalidade geral do Windows.

1 - 10 de 20

Contacto

Contacto da Dlubal

Encontrou a sua pergunta? Se não for o caso, entre em contacto connosco por e-mail, chat ou no fórum de discussão, ou então envie-nos a sua questão através do formulário online.

+49 9673 9203 0

(falamos português)

info@dlubal.com

Primeiros passos

first-steps

Aqui damos-lhe algumas dicas e informações úteis que o ajudam a familiarizar-se mais rapidamente com os programas principais RFEM e RSTAB.

Simulação de vento e geração de cargas de vento

O programa autónomo RWIND Simulation permite simular fluxos de vento em estruturas simples ou complexas através de um túnel de vento digital.

As cargas de vento geradas que atuam sobre esses objetos podem ser importadas para o RFEM ou o RSTAB.

O vosso apoio técnico é de longe o melhor

"“Obrigado pela informação valiosa.

Gostaria de elogiar a equipa de apoio ao cliente. Fico sempre surpreendido com a rapidez e o profissionalismo com que as questões são respondidas. Utilizei muito software com um contrato de apoio no domínio da análise estrutural, mas o seu apoio é de longe o melhor. "