Preguntas más frecuentes (FAQ)

Preguntas y respuestas útiles

  • Preguntas más frecuentes (FAQ)

Buscar pregunta más frecuente

Mostrar filtro Ocultar filtro





Soporte técnico 24/7

Además del soporte personal, ofrecemos recursos las 24 horas todos los días de la semana en nuestra página web.

Boletín de noticias

Reciba información de manera regular sobre noticias, consejos útiles, eventos programados, ofertas especiales y cupones.

1 - 10 de 35

Ordenar por:

Elementos:

  • Respuesta

    Para poder asignar una excentricidad a una barra, generalmente es necesario crearla antes de configurar la barra.

    En el siguiente ejemplo se muestra otro enfoque. Primero, se crea la excentricidad y luego se asigna a una barra existente a través de su interfaz:


    '---------------------
    SubconjuntoEccentricidad ()
    '---------------------

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

    On Error GoTo e

    Atenuar iModData como RFEM5.iModelData
    Establecer iModData = model.GetModelData

    'crear excentricidad
    Dim eccens (0 To 0) As RFEM5.MemberEccentricity
    eccens (0) .No = 1
    eccens (0) .Comment = "prueba de excentricidad"

    eccens (0) .ReferenceSystem = LocalSystemType

    eccens (0) .Start.X = 0
    eccens (0) .Start.Y = 0
    eccens (0) .Start.Z = 0

    eccens (0) .End.X = 0
    eccens (0) .End.Y = 0
    eccens (0) .End.Z = 0

    eccens (0) .HingeAtEndNode = False
    eccens (0) .HingeAtStartNode = False

    eccens (0) .HorizontalAlignment = Middle
    eccens (0) .VerticalAlignment = Inferior

    eccens (0) .TransverseOffset = Verdadero
    eccens (0) .ReferenceObjectNo = 2
    eccens (0) .ReferenceObjectType = MemberObject
    eccens (0) .HorizontalAxisOffset = Middle
    eccens (0) .VerticalAxisOffset = Superior

    eccens (0) .StartAdjoiningMembersOffset = False
    eccens (0) .EndAdjoiningMembersOffset = False

    iModData.PrepareModification
    iModData.SetMemberEccentricities eccens
    iModData.FinishModification

    'agregar excentricidad a la barra
    Atenuar imem como RFEM5.IMember
    Establecer iMem = iModData.GetMember (1, AtNo)

    Dim mem As RFEM5.Member
    mem = iMem.GetData

    mem.EccentricityNo = 1

    iModData.PrepareModification
    iMem.SetData mem
    iModData.FinishModification


    e: If Err.Number <> 0 Then MsgBox Err.Description`` Err.Source

    model.GetApplication.UnlockLicense

    End Sub


    Las excentricidades de la barra solo se pueden transferir como un campo; para este propósito, se ha creado un campo con un solo elemento. En la imagen adjunta, los elementos individuales están detallados con referencia a los elementos gráficos.

  • Respuesta

    Para eliminar elementos, está la función "DeleteObjects ()" en la interfaz de datos del modelo. La eliminación de todas las barras es la siguiente:

    Sub test_delete_objects ()

    Dim iApp As RFEM5.Application
    Establecer iApp = GetObject (, "RFEM5.Application")

    iApp.LockLicense

    Dim iMod como RFEM5.IModel3
    Set iMod = iApp.GetActiveModel


    On Error GoTo e

    'obtener interfaz para datos del modelo
    Dim iModData As RFEM5.IModelData2
    Set iModData = iMod.GetModelData
        
    'obtener todos los miembros
    Dim mems() As RFEM5.Member
    mems () = iModData.GetMembers
        
    'crear lista de miembros
    Dim mem_list como cadena
    Dim i As Integer
    Para i = 0 a UBound (mems, 1)
    mem_list = mem_list & mems (i) .no & ","
    Siguiente
        
    'eliminar miembros
    iModData.PrepareModification
    iModData.DeleteObjects MemberObject, lista_mem
    iModData.FinishModification
        
    e:

    Si Err.Number <> 0, entonces MsgBox Err.description, vbCritical, Err.Source

    iMod.GetApplication.UnlockLicense
    Establecer iMod = Nada

    End Sub


    Tenga en cuenta que la función "DeleteObjects" sólo funciona con el número de objeto y no con el índice de objeto. Estos números se transfieren como una cadena, separados por comas.

    Por esta razón, primero se tuvieron que buscar todas las barras. Luego, se recorrió el campo de la barra y se introdujeron todos los números de la barra en la cadena.

  • Respuesta

    Las deformaciones de las barras se pueden leer utilizando la función "GetMemberDeformations ()", por ejemplo. Esta función espera un número, el tipo de método de conteo para las barras (número de barra/número en la lista) y qué sistema de coordenadas se debe usar. Puede seleccionar si se usa el sistema de ejes local, el sistema de ejes principal o el sistema de coordenadas global:

    Sub test_results_member_axis ()

    Dim iApp As RFEM5.Application
    Establecer iApp = GetObject (, "RFEM5.Application")

    iApp.LockLicense

    Dim iMod como RFEM5.IModel3
    Set iMod = iApp.GetActiveModel


    On Error GoTo e

    'obtener interfaz para el cálculo
    Dim iCalc As RFEM5.ICalculation2
    Configure iCalc = iMod.GetCalculation

    'obtener interfaz para resultados
    Dim iRes como RFEM5.IResults2
    Configure iRes = iCalc.GetResultsInFeNodes (LoadCaseType, 1)

    'obtener deformaciones en el sistema de coordenadas local
    Dim memDefs_L () como RFEM5.MemberDeformations
    memDefs_L = iRes.GetMemberDeformations (1, AtNo, LocalMemberAxes)

    'obtener deformaciones en el sistema de coordenadas global
    Dim memDefs_G () como RFEM5.MemberDeformations
    memDefs_G = iRes.GetMemberDeformations (1, AtNo, GlobalAxes)

    'obtener deformaciones en el sistema de coordenadas principal
    Dim memDefs_P () como RFEM5.MemberDeformations
    memDefs_P = iRes.GetMemberDeformations (1, AtNo, LocalPrincipalAxes)


    e:

    Si Err.Number <> 0, entonces MsgBox Err.description, vbCritical, Err.Source

    iMod.GetApplication.UnlockLicense
    Establecer iMod = Nada

    End Sub


    El programa pequeño lee las deformaciones locales (memDefs_L) en los ejes de la barra y los ejes principales (memDefs_P) y las deformaciones globales en los ejes de la barra (memDefs_G).

  • Respuesta

    Los parámetros de un modelo se pueden modificar utilizando la interfaz IModel (a partir de IModel3):

    Parámetro_prueba secundaria ()

    Dim iApp As RFEM5.Application
    Establecer iApp = GetObject (, "RFEM5.Application")

    iApp.LockLicense

    Dim j como entero
    j = iApp.GetModelCount

    Dim iMod como RFEM5.IModel3
    Set iMod = iApp.GetActiveModel

    On Error GoTo e

    Dim formParams () como RFEM5.FormulaParameter

    'obtener todos los parámetros de la fórmula
    formParams = iMod.GetFormulaParameters

    'eliminar todos los parámetros de la fórmula
    iMod.CleanFormulaParameters

    'establecer lista de parámetros de la fórmula
    ReDim Preservar formParams (0 a UBound (formParams, 1) + 1)
    formParams (UBound (formParams, 1)). Nombre = "p"
    formParams (UBound (formParams, 1)). Unit = "m"
    formParams (UBound (formParams, 1)). UnitType = LengthUnitType
    formParams (UBound (formParams, 1)). Value = 0
    formParams (UBound (formParams, 1)). ValueType = DoubleType
    formParams (UBound (formParams, 1)). Comment = "nuevo parámetro"
    formParams (UBound (formParams, 1)). Formula = "b/3"
    formParams (UBound (formParams, 1)). RangeOfValues = "(3; 5.5>"

    iMod.SetFormulaParameters formParams

    e:

    Si Err.Number <> 0, entonces MsgBox Err.description, vbCritical, Err.Source
    iMod.GetApplication.UnlockLicense
    Establecer iMod = Nada

    End Sub


    Solo es posible leer todos los parámetros utilizando la función GetFormulaParameters (). Los parámetros nuevos o modificados se pueden transferir de nuevo como una lista con la función SetFormulaParameters (). Por lo tanto, no se pueden leer ni escribir parámetros individuales.

    Cabe señalar que el "Value" relacionado con su tipo (ValueTyp) y su unidad (Unit) deben estar dentro de los límites definidos (RangeOfValues), de lo contrario aparece un mensaje de error. Si se calcula el valor, como en el ejemplo, es irrelevante y el valor calculado con la fórmula (Fórmula) debe estar dentro de los límites, si los límites están definidos.


  • Respuesta

    La opción "Conectar líneas/barras" se puede implementar con las funciones "ConnectLines ()" y "ConnectMembers ()". Ambas funciones esperan una cadena con los números de las líneas o barras:

    Subprueba_conexión ()

    Dim iMod como modelo RFEM5
    Establecer iMod = GetObject (, "RFEM5.Model")

    iMod.GetApplication.LockLicense

    On Error GoTo e

    Dim iModData As RFEM5.IModelData2
    Establecer iModData = iMod.GetModelData ()

    iModData.PrepareModification
    iModData.ConnectLines ("3,4")
    iModData.ConnectMembers ("1,2")
    iModData.FinishModification


    e:

    Si Err.Number <> 0, entonces MsgBox Err.description, vbCritical, Err.Source
    iMod.GetApplication.UnlockLicense
    Establecer iMod = Nada

    End Sub


    En este ejemplo, la línea 1 y la línea 2 están conectadas y se crea un nudo en el punto de intersección. Lo mismo se aplica a la barra 1 y a la barra 2, donde también se crea un nuevo nudo en el punto de intersección.

  • Respuesta

    StandardID y AnnexID se pueden mostrar fácilmente en cualquier momento utilizando la siguiente macro:

    cominterfaces-es \ SDK \ Ejemplos \ Módulos \ Excel \ RF-STEEL_EC3.xls

    Puede encontrar esta macro en el archivo de la página web del producto (ver Enlaces).

    Aquí hay una descripción general de los archivos adjuntos actuales:


    Norma ID Nombre del anexo

    DIN 0 Alemania

    ÖNORM 1 Austria

    CSN 2 República Checa

    STN 3 Eslovaquia

    PN 4 Polonia

    SIST 5 Eslovenia

    DK 6 Dinamarca

    UNI 7 Italia

    NEN 8 Países Bajos

    SFS 9 Finlandia

    SS 10 Suecia

    NF 11 Francia

    BS 12 Reino Unido

    CEN 13 Unión Europea

    BDS 14 Bulgaria

    CYS 15 Chipre

    LST 16 Lituania

    SR 17 Rumanía

    SS 18 Singapur

    NBN 19 Bélgica

    NP 20 Portugal

    UNE 21 España

    MAL 22 Malasia

    NS 23 Noruega

    LU 24 Luxemburgo

    ELOT 25 Grecia

  • Respuesta

    Sí, es posible crear visibilidades a través de la interfaz COM (RF -COM3/RS -COM6). En el siguiente código, los elementos se seleccionan primero para una visibilidad. Esto se hace a través de Selecciones. Primero, actívelos con "rfEnableSelections", luego puede usar "rfSelectObjects" para seleccionar los objetos:

    Subconjunto_visibilidad ()
        
    ' get interface from the opened model and lock the licence/program
    Atenuar iModel como RFEM3.IrfStructure3
    Establecer iModel = GetObject (, "RFEM3.Structure")
    iModel.rfGetApplication.rfLockLicence
        
    On Error GoTo e
        
    'obtener interfaz para modeldata
    Dim iModData como RFEM3.IrfStructuralData4
    Establecer iModData = iModel.rfGetStructuralData

    'obtener interfaz para ver
    Atenuar iView como RFEM3.IrfView2
    Establecer iView = iModel.rfGetActiveView
    'eliminar vistas antiguas
    iView.rfDeletePartialView "prueba | ver"
    iView.rfDeletePartialView "prueba | vista2"
    iView.rfDeletePartialView "prueba | view_add"
    iView.rfDeletePartialView "prueba | view_rev"
    iView.rfDeletePartialView "prueba | view_diff"

    'crear primera vista
    iModData.rfSelectObjects STR_MEMBER, "3-4"
    iView.rfSetPartialView "prueba | ver"
    Prueba "iView.rfSelectPartialView" | ver ", PVM_SHOW, Verdadero, Verdadero

    'crear segunda vista
    iModData.rfSelectObjects STR_SURFACE, "1"
    iModData.rfSelectObjects STR_MEMBER, "3"
    iView.rfSetPartialView "prueba | view2"
    'iView.rfSelectPartialView "test | view2", PVM_SHOW, True, True

    'crear suma desde la vista desde 1 y 2
    iView.rfSelectPartialView "test | view", PVM_SELECT, True, True
    iView.rfSelectPartialView "test | view2", PVM_SELECT, False, True
    iView.rfSelectPartialView "", PVM_SHOW_SELECTION_ONLY, True, True
    iView.rfSetPartialView "prueba | view_add"


    'crear vista diferencial 2 menos 1
    'primera vista invertida creada
    iView.rfSelectPartialView "test | view", PVM_SHOW, True, True
    iView.rfSelectPartialView "test | view2", PVM_SHOW, False, True
    iView.rfSelectPartialView "", PVM_SHOW_REVERSE, True, True
    iView.rfSelectPartialView "", PVM_SELECT, True, True
    iView.rfSetPartialView "prueba | view_rev"
    iView.rfSelectPartialView "", PVM_SHOW_REVERSE, True, True

    'seleccionar vista para restar e invertir la vista
    iView.rfSelectPartialView "test | view_rev", PVM_SELECT, True, True
    iView.rfSelectPartialView "test | view", PVM_SELECT, False, True
    iView.rfSelectPartialView "", PVM_SHOW_SELECTION_ONLY, True, True
    iView.rfSelectPartialView "", PVM_SHOW_REVERSE, True, True
    iView.rfSelectPartialView "", PVM_SELECT, True, True
    iView.rfSetPartialView "prueba | view_diff"
    iView.rfSelectPartialView "", PVM_SHOW_SELECTION_ONLY, True, True

    iView.rfSelectPartialView "", PVM_SHOW_REVERSE, True, True
    iView.rfCancelPartialView

        
    e: Si Err.Number <> 0, entonces MsgBox Err.description`` Err.Source
        
    iModel.rfGetApplication.rfUnlockLicence
    Establecer iModel = Nothing

    End Sub

    Puede usar la interfaz "iView" y el comando "rfSetPartialView" para crear una visibilidad. La descripción es especialmente importante aquí. El separador "|" asegura que la visibilidad con el nombre de la "vista" se crea en el grupo "prueba".

    El comando rfSelectPartialView se usa para mostrar una visibilidad. El primer argumento es el nombre de la visibilidad. Para el segundo argumento, puede seleccionar varios comandos. Dependiendo del comando, se requiere o no un nombre de la visibilidad.

    El tercer argumento pregunta si todo lo mostrado hasta ahora debería desactivarse o no. Por lo tanto, si también desea mostrar dos visibilidades, debe asignar "Falso" al menos al seleccionar la segunda visibilidad.

    El cuarto argumento controla si todo lo que está oculto se debe mostrar en segundo plano o no.

    Aquí hay una lista de comandos importantes del segundo argumento:

    PVM_SELECT - selecciona los elementos en la visibilidad especificada

    PVM_SHOW - muestra la visibilidad especificada

    PVM_SHOW_SELECTION_ONLY - Después de seleccionar elementos de las visibilidades, ahora se pueden mostrar solos.

    PVM_SHOW_REVERSE - Todos los elementos mostrados hasta ahora van al fondo y se muestran todos los elementos del fondo (la visualización está invertida).

  • Respuesta

    Para seleccionar objetos, existe la función "SeleccionarObjetos" en la interfaz IModelData (o IModeldata2 y similares). La función espera el tipo de objeto y el número o números de objeto como una cadena. Aquí hay un breve ejemplo:

    Sub select_objects ()

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

    On Error GoTo e
        
    Dim iModdata As IModelData2
    Establecer iModdata = model.GetModelData
        
    'habilitar las selecciones
    iModdata.EnableSelections True
        
    'seleccione los nudos 2-3 y las líneas 1 y 3
    iModdata.SelectObjects ModelObjectType.NodeObject, "2-3"
    iModdata.SelectObjects ModelObjectType.LineObject, "1,3"
        
    'anular la selección de nudos y líneas
    iModdata.SelectObjects ModelObjectType.NodeObject, ""
    iModdata.SelectObjects ModelObjectType.LineObject, ""
        
        
    e: If Err.Number <> 0 entonces MsgBox Err.description,, Err.Source

        model.GetApplication.UnlockLicense
    Establecer iModdata = Nada
        Set model = Nothing

    End Sub

    En la parte superior, se activan las selecciones y luego se seleccionan los nudos 2 a 3 y las líneas 1 y 3. Luego, las líneas y los nudos se deseleccionan mediante una cadena vacía.

    Si desea leer o modificar los objetos seleccionados, necesita la función "IModelData.EnableSelections" (también se puede encontrar más arriba en el código). Si la función se recupera con "Verdadero", solo los nudos seleccionados se obtienen con la función "IModelData.GetNodes ()", por ejemplo.

  • Respuesta

    Con RF ‑ COM/RS ‑ COM, es posible crear modelos RFEM/RSTAB y escribir datos. Lo mismo se aplica a los casos de carga, combinaciones de carga y combinaciones de resultados.

    Para poder utilizar RF-COM/RS-COM, solo necesita un editor, un compilador y conocimientos básicos de programación. La biblioteca de objetos suministrada es fácil de integrar en el editor.

    Por ejemplo, si tiene Microsoft Excel, tiene todo lo que necesita, ya que el editor de VBA es una parte integral de él.

    Figura 01 - Uso de RS-COM - Excel y VBA

  • Respuesta

    Tenga en cuenta los siguientes puntos importantes:

    1. Incluya los últimos enlaces/referencias correctos, por ejemplo, Dlubal.RFEM5.dll, en la siguiente ruta:
      C: \ Windows \ Microsoft.NET \ ensamblado \ GAC_MSIL \ Dlubal.RFEM5 \
      o, por ejemplo, Dlubal.STEEL_EC3.dll bajo la siguiente ruta:
      C: \ Windows \ ensamblado \ GAC_MSIL \ Dlubal.STEEL_EC3 \

    2. En Visual Studio, las propiedades "Tipos de interoperabilidad de inserción" y "Copiar local" se deben establecer en "Falso" (ver figura).

1 - 10 de 35

Contacte con nosotros

Contacta con Dlubal

¿Ha encontrado su pregunta?
Si no es así, contacte con nosotros a través de nuestro servicio de asistencia gratuito por correo electrónico, chat o fórum, o envíenos su pregunta mediante el formulario en línea.

+34 911 438 160

info@dlubal.com

Primeros pasos

Primeros pasos

Ofrecemos información y consejos para ayudarle a empezar con el programa básico RFEM y RSTAB.

Simulación de flujos de viento y generación de cargas de viento

Con el programa independiente RWIND Simulation , puede simular flujos de viento alrededor de estructuras simples o complejas por medio de un túnel de viento digital.

Las cargas de viento generadas que actúan sobre esos objetos se pueden importar a RFEM y RSTAB.

Su soporte es el mejor con diferencia

“Muchas gracias por su útil información.

Me gustaría felicitar a su equipo de soporte. Estoy siempre impresionado por la rapidez y profesionalidad de las respuestas a las preguntas. En el sector del análisis estructural, utilizo varios programas que incluyen el contrato de servicio, pero su soporte es el mejor con diferencia.”