O software de cálculo estrutural RFEM 6 é a base de um sistema de software composto por módulos. O programa principal RFEM 6 é utilizado para definir estruturas, materiais e ações para sistemas estruturais planos e espaciais constituídos por lajes, paredes, cascas e barras. O programa também permite criar estruturas combinadas, bem como modelar sólidos e elementos de contacto.
O RSTAB 9 é um programa de cálculo de estruturas reticuladas e pórticos 3D que reflete o estado atual da tecnologia e ajuda os engenheiros de estruturas a cumprir os requisitos da engenharia civil moderna.
Costuma perder muito tempo a calcular secções? A Dlubal Software e o programa autónomo RSECTION facilitam-lhe o trabalho determinando propriedades de secções e efetuando análises de tensões para diferentes secções.
Sabe sempre de onde vem o vento? Da direção da inovação, é claro! Com o RWIND 2, dispõe de um programa que utiliza um túnel de vento digital para a simulação numérica de fluxos de vento. O programa fornece estes fluxos em torno de eventuais geometrias de edifícios e determina as cargas de vento nas superfícies.
Procura uma vista geral de zonas de cargas de neve, velocidades de vento e cargas sísmicas? Então, está no sítio certo. Os mapas de zonas de carga são adequados para a determinação rápida e fácil de cargas de neve, velocidades de vento e cargas sísmicas de acordo com o Eurocódigo e outras normas internacionais.
Gostaria de experimentar o poder dos programas da Dlubal Software? Esta é a sua oportunidade! Com a versão completa gratuita de 90 dias, pode testar exaustivamente todos os nossos programas.
A opção "Ligar linhas/barras" pode ser implementada com as funções "ConnectLines()" e "ConnectMemembers()". Ambas as funções esperam uma cadeia com os números das linhas ou barras:
Sub test_connect()Dim iMod As RFEM5.modelSet iMod = GetObject(, "RFEM5.Model")iMod.GetApplication.LockLicenseOn Error GoTo eDim iModData As RFEM5.IModelData2Set iModData = iMod.GetModelData()iModData.PrepareModificationiModData.ConnectLines ("3,4")iModData.ConnectMembers ("1,2")iModData.FinishModificatione:If Err.Number <> 0 Then MsgBox Err.description, vbCritical, Err.SourceiMod.GetApplication.UnlockLicenseSet iMod = NothingEnd Sub
Neste exemplo, são ligadas as linhas 1 e 2 e é criado um nó no ponto de intersecção. O mesmo se aplica às barras 1 e 2, onde também é criado um novo nó no ponto de intersecção.
Para selecionar objetos, existe a função "SelectObjects" na interface IModelData (ou IModeldata2 etc.). A função espera o tipo de objeto e o(s) número(s) de objetos como uma cadeia de caracteres. Aqui está um pequeno exemplo:
Sub select_objects()Dim model As RFEM5.modelSet model = GetObject(, "RFEM5.Model")model.GetApplication.LockLicenseOn Error GoTo e Dim iModdata As IModelData2 Set iModdata = model.GetModelData ' enable Selections iModdata.EnableSelections True ' select nodes 2-3 and lines 1 and 3 iModdata.SelectObjects ModelObjectType.NodeObject, "2-3" iModdata.SelectObjects ModelObjectType.LineObject, "1,3" ' deselect nodes and lines iModdata.SelectObjects ModelObjectType.NodeObject, "" iModdata.SelectObjects ModelObjectType.LineObject, "" e: If Err.Number <> 0 Then MsgBox Err.description, , Err.Sourcemodel.GetApplication.UnlockLicenseSet iModdata = NothingSet model = NothingEnd Sub
Na parte superior, as seleções são ativadas e, em seguida, os nós 2 a 3 e as linhas 1 e 3 são selecionados. Em seguida, as linhas e os nós são desselecionados por uma cadeia de caracteres vazia.
Se pretende ler ou modificar objetos selecionados, precisa da função "IModelData.EnableSelections" (também pode ser encontrada acima no código). Se a função for ativada com "True", apenas os nós selecionados serão lidos com a função "IModelData.GetNodes ()", por exemplo.
Neste caso, existe um erro no EXCEL VBA que não pode ser corrigido da nossa parte. Por esse motivo, foi criado o novo objeto RFEM.RfLine (em vez de RFEM.Line) que pode ser utilizado para continuar o seu trabalho. Aqui está um pequeno exemplo:
Sub test_RfLine() Dim iModel As RFEM5.IModel2 Set iModel = GetObject(, "RFEM5.Model") iModel.GetApplication.LockLicense On Error GoTo e Dim iModelData As RFEM5.IModelData2 Set iModelData = iModel.GetModelData Dim lines() As RFEM5.RfLine lines = iModelData.GetLines e: If Err.Number <> 0 Then MsgBox Err.Description, , Err.Source Set iModelData = Nothing iModel.GetApplication.UnlockLicense Set iModel = Nothing End Sub
A interface COM permite ler ou criar um espectro de resposta definido pelo utilizador no RFEM e no RSTAB.
Para a conversão, é necessário obter a interface para o módulo (IDynamModule) através da interface para o modelo RFEM (IModel). Esta interface é então utilizada para criar um caso de módulo (IModuleCase). O IModuleCase inclui a função GetRSParams que pode ser utilizada para ler os parâmetros para o espectro de resposta. Por outro lado, a função SetRSParams pode escrever os novos dados. O seguinte código de exemplo esclarece isso:
Dim iApp As RFEM5.ApplicationDim iMod As RFEM5.modelSet iApp = GetObject(, "RFEM5.Application")Dim rs_no As Integerrs_no = 1On Error GoTo e ' Checks RS-COM license and locks the application for using by COM. iApp.LockLicense Set iMod = iApp.GetActiveModel ' get module interface Dim iDyn As IDynamModule Set iDyn = iMod.GetModule("DynamPro") ' get module case interface Dim iDynCase As IModuleCase Set iDynCase = iDyn.GetData ' set response spectra parameters Dim rspara As RSParams rspara = iDynCase.GetRSParams(rs_no) Dim rs_spec(0 To 10) As RSTableRow Dim index As Integer index = 0 rs_spec(index).s = 0.6 rs_spec(index).T = 0 index = 1 rs_spec(index).s = 1.33 rs_spec(index).T = 0.153 index = 2 rs_spec(index).s = 1.33 rs_spec(index).T = 0.4 index = 3 rs_spec(index).s = 1.204 rs_spec(index).T = 0.443 index = 4 rs_spec(index).s = 1.07 rs_spec(index).T = 0.5 index = 5 rs_spec(index).s = 0.7 rs_spec(index).T = 0.761 index = 6 rs_spec(index).s = 0.508 rs_spec(index).T = 1.051 index = 7 rs_spec(index).s = 0.367 rs_spec(index).T = 1.453 index = 8 rs_spec(index).s = 0.267 rs_spec(index).T = 1.995 index = 9 rs_spec(index).s = 0.16 rs_spec(index).T = 2.584 index = 10 rs_spec(index).s = 0.16 rs_spec(index).T = 5 rspara.UserDefinedTable = rs_spec rspara.Comment = "test rs" rspara.DefinitionType = ResponseSpectraType.UserDefinedRS rspara.description = "test rs via COM" rspara.Number = rs_no iDynCase.SetRSParams rs_no, rspara e: If Err.Number <> 0 Then MsgBox Err.description, , Err.Source iMod.GetApplication.UnlockLicense Set iMod = Nothing Set iApp = Nothing
O espectro de resposta foi criado de acordo com a EN 1998‑1: 2010 e tem 11 pontos. Primeiro, foi criada uma matriz do tipo RSTableRow com 11 elementos, preenchida com dados e depois guardada na propriedade UserDefinedTable. A transferência é realizada utilizando o comando SetRSParams.
A nossa oferta formativa online encontra-se sempre atualizada no nosso site podendo ser consultada através da seguinte ligação:
Selecione a ação de formação que lhe interessa e clique no botão "Inscrever" ao fundo dá página. Preencha o formulário que irá aparecer, onde deve introduzir os seus dados pessoais, o endereço de e-mail e os dados da empresa. A página seguinte apresenta uma breve descrição geral ou a confirmação da sua inscrição, bem como a informação sobre o preço da formação, se esta não for gratuita. No caso de a formação estar sujeita a custos, pode prosseguir com o pagamento e optar pelo PayPal ou por um dos seguintes cartões de crédito:
Certifique-se de que o cartão de crédito está autorizado para o pagamento do valor em causa e de que os detalhes foram introduzidos corretamente.
Por vezes, não são aceites cartões de crédito. As razões para isso podem ser:
Se os problemas não puderem ser resolvidos, entre em contacto connosco.
RF-/ALUMINIUM überprüft die Symmetrie allgemeiner Profile und vergleicht diese mit der DUENQ-Bewertung, wenn das Kontrollfeld "Symmetrie durch Modul ermitteln und mit DUENQ-Definition vergleichen" (Bild 01) aktiviert ist.
Se os dois métodos fornecerem resultados diferentes, aparece uma mensagem de erro (Figura 02).
Geralmente, existem pequenas imprecisões na secção do SHAPE‑THIN. Como tal, a secção Sec-1.du9 apresentada na Figura 03 não é absolutamente simétrica relativamente ao eixo Z. As coordenadas Z dos nós 1 e 4, bem como dos nós 55 e 60 não correspondem na segunda casa decimal.
O SHAPE‑THIN classifica a secção como assimétrica, no entanto o RF-/ALUMINIUM classifica-a como monossimétrica relativamente ao eixo z, de modo que aparece a mensagem de erro apresentada na Figura 02.
A secção do SHAPE‑THIN deve ser verificada quanto à simetria. Ao modelar no SHAPE‑THIN, o recomendável é apresentar apenas um lado da secção e criar a outra metade através de simetria. Isso também é demonstrado no vídeo.
Sub test_section()' 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 iSecs As RFEM5.ISections Set iSecs = iModel.GetSections()
' first delete all sections iSecs.PrepareModification iSecs.DeleteObjects ("All") iSecs.FinishModification ' set section on solid Dim sec As RFEM5.Section sec.EdgePointA.X = 2 sec.EdgePointA.Y = 5 sec.EdgePointA.Z = 0 sec.EdgePointB.X = 2 sec.EdgePointB.Y = 8 sec.EdgePointB.Z = 0 sec.no = 1 sec.Name = "solid section" sec.Plane = GlobalPlaneInPositiveX sec.ShowValuesInIsolines = False sec.Type = SectionOnSolidSectionLine sec.ObjectList = "1" iSecs.PrepareModification iSecs.SetSection sec iSecs.FinishModification
' set section on surface sec.EdgePointA.X = 2 sec.EdgePointA.Y = 0 sec.EdgePointA.Z = 0 sec.EdgePointB.X = 2 sec.EdgePointB.Y = 3 sec.EdgePointB.Z = 0 sec.no = 2 sec.Name = "surface section" sec.Plane = GlobalPlaneInPositiveX sec.ShowValuesInIsolines = True sec.Type = SectionViaSurfacePlane sec.ObjectList = "1" sec.Vector.X = 0 sec.Vector.Y = 0 sec.Vector.Z = 1 iSecs.PrepareModification iSecs.SetSection sec iSecs.FinishModification
' get results Dim iCalc As ICalculation2 Set iCalc = iModel.GetCalculation Dim iRes As IResults2 Set iRes = iCalc.GetResultsInFeNodes(LoadCaseType, 1) Dim secRes() As RFEM5.SectionResult secRes = iRes.GetResultsInSection(2, AtNo, ShearForceVy,ContinuousDistributionWithinObjects, False)
Para transferir vários elementos, tem de criar primeiro um campo (matriz) em VBA:
Dim nodes(0 to 2) as RFEM5.Node
Em seguida, pode utilizar o método IModelData.SetNodes() para transferir todos os nós de uma só vez para o campo (aqui, os três elementos 0,1,2).
Esses métodos também estão disponíveis, por exemplo, para os seguintes elementos estruturais:
IModelData.SetLines()
IModelData.SetMembers()
IModelData.SetSurfaces()