Domande frequenti (FAQ)

Domande e risposte utili

  • Domande frequenti (FAQ)

Cerca FAQ

Mostra filtro Nascondi filtro





Assistenza clienti 24/7

Oltre al supporto personale, offriamo risorse 24 ore su 24, 7 giorni su 7 attraverso il nostro sito web.

Newsletter

Ricevi regolarmente informazioni riguardo notizie, consigli utili, eventi, offerte speciali e buoni.

1 - 10 di 46

Ordina per:

Modelli:

  • Risposta

    Per poter assegnare un'eccentricità a un'asta, di solito è necessario crearla prima di impostare l'asta.

    Un altro approccio è mostrato nell'esempio seguente. Innanzitutto, l'eccentricità viene creata e quindi assegnata a un'asta esistente tramite la sua interfaccia:


    '---------------------
    Sub SetEccentricity ()
    '---------------------

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

    On Error GoTo e

    Dim iModData come RFEM5.iModelData
    Imposta iModData = model.GetModelData

    'creare eccentricità
    Dim eccens (da 0 a 0) Come RFEM5.MemberEccentricity
    eccens (0) .No = 1
    eccens (0) .Comment = "eccentricità di prova"

    eccens (0) .ReferenceSystem = LocalSystemType

    eccens (0) .Inizio.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 = Bottom

    eccens (0) .TransverseOffset = True
    eccens (0) .ReferenceObjectNo = 2
    eccens (0) .ReferenceObjectType = MemberObject
    eccens (0) .HorizontalAxisOffset = Centro
    eccens (0) .VerticalAxisOffset = Top

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

    iModData.PrepareModification
    iModData.SetMemberEccentricities eccens
    iModData.FinishModification

    'aggiungi eccentricità all'asta
    Dim iMem As RFEM5.IMember
    Imposta 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


    Le eccentricità dell'asta possono essere trasferite solo come un campo; a tale scopo è stato creato un campo con un solo elemento. Nell'immagine allegata, i singoli elementi sono dettagliati con riferimento agli elementi grafici.

  • Risposta

    La seguente macro VBA mostra la creazione di un vincolo esterno nodale con un diagramma di non linearità. Il codice sorgente può essere trovato in Download.

    '------------------------------------------------- -------------------------------------------------
    Sub SetNSupport ()
    '------------------------------------------------- -------------------------------------------------
    Dim modello Come RFEM5.model
    Dim data As IModelData
    Dim support (0) Come RFEM5.NodalSupport
    Dim ISup As RFEM5.INodalSupport
    Dim ISupDia As RFEM5.INonlinearityDiagram
    Dim nlDiag As NonlinearityDiagram
    Zona di oscuramento (2, 1) As Double
        
    Set model = GetObject(, "RFEM5.Model")
    model.GetApplication.LockLicense

    On Error GoTo e

    Imposta data = model.GetModelData
        
    supporto (0) .No = 1
    support (0) .nodelist = "1"
    support (0) .SupportNonlinearityX = WorkingDiagramType
    support (0) .SupportConstantY = -1
    support (0) .SupportConstantZ = -1
    support (0) .RestraintConstantX = -1
    support (0) .RestraintConstantY = -1
    support (0) .RestraintConstantZ = -1

    data.PrepareModification
    data.SetNodalSupports supporto
    data.FinishModification

    Imposta ISup = data.GetNodalSupport (1, AtNo)
    Imposta ISupDia = ISup.GetNonlinearity (AlongAxisX)

    zona (0, 0) = 0
    zona (0, 1) = 0
    zona (1, 0) = 1
    zona (1, 1) = 2
    zona (2, 0) = 3
    zona (2, 1) = 4

    nlDiag.PositiveZoneType = DiagramAfterLastStepType.StopDiagramType
    nlDiag.PositiveZone = zone
    nlDiag.Symmetric = True

    data.PrepareModification
    ISupDia.SetData nlDiag
    data.FinishModification
        
    e: If Err.Number <> 0 Then MsgBox Err.Description`` Err.Source

    Imposta dati = Niente
    model.GetApplication.UnlockLicense
    Set model = Nothing

    End Sub
  • Risposta

    Per eliminare gli elementi, c'è la funzione "EliminaOggetti ()" nell'interfaccia dei dati del modello. L'eliminazione di tutte le aste è quindi la seguente:

    Sub test_delete_objects ()

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

    iApp.LockLicense

    Dim iMod As RFEM5.IModel3
    Imposta iMod = iApp.GetActiveModel


    On Error GoTo e

    ' get interface for model data
    Dim iModData As RFEM5.IModelData2
    Imposta iModData = iMod.GetModelData
        
    'prendi tutti i membri
    Dim mems () Come RFEM5.Member
    mems () = iModData.GetMembers
        
    'crea elenco dei membri
    Dim mem_list As String
    Dim i come numero intero
    Per i = 0 a UBound (mems, 1)
    mem_list = mem_list & mems (i) .no & ","
    Successivo
        
    'elimina membri
    iModData.PrepareModification
    iModData.DeleteObjects MemberObject, mem_list
    iModData.FinishModification
        
    e:

    If Err.Number <> 0 Then MsgBox Err.description, vbCritical, Err.Source

    iMod.GetApplication.UnlockLicense
    Set iMod = Nothing

    End Sub


    Si noti che la funzione "EliminaOggetti" funziona solo con il numero dell'oggetto e non con l'indice dell'oggetto. Questi numeri vengono trasferiti come una stringa, separati da virgole.

    Per questo motivo, tutti i membri dovevano essere recuperati prima. Quindi il campo dell'asta è stato ripetuto e tutti i numeri dell'asta sono stati inseriti nella stringa.

  • Risposta

    Le deformazioni delle aste possono essere lette usando la funzione "GetMemberDeformations ()", ad esempio. Questa funzione prevede un numero, il tipo di metodo di conteggio delle aste (numero dell'asta/numero nell'elenco) e il sistema di coordinate da utilizzare. È possibile scegliere se utilizzare il sistema di assi locale, il sistema di assi principale o il sistema di coordinate globale:

    Sottotest_results_member_axis ()

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

    iApp.LockLicense

    Dim iMod As RFEM5.IModel3
    Imposta iMod = iApp.GetActiveModel


    On Error GoTo e

    'ottieni l'interfaccia per il calcolo
    Dim iCalc As RFEM5.ICalculation2
    Imposta iCalc = iMod.GetCalculation

    'ottieni l'interfaccia per i risultati
    Dim iRes As RFEM5.IResults2
    Set iRes = iCalc.GetResultsInFeNodes (LoadCaseType, 1)

    'ottieni le deformazioni nel sistema di coordinate locali
    Dim memDefs_L () As RFEM5.MemberDeformations
    memDefs_L = iRes.GetMemberDeformations (1, AtNo, LocalMemberAxes)

    'ottiene le deformazioni nel sistema di coordinate globale
    Dim memDefs_G () As RFEM5.MemberDeformations
    memDefs_G = iRes.GetMemberDeformations (1, AtNo, GlobalAxes)

    'calcola le deformazioni nel sistema di coordinate principale
    Dim memDefs_P () As RFEM5.MemberDeformations
    memDefs_P = iRes.GetMemberDeformations (1, AtNo, LocalPrincipalAxes)


    e:

    If Err.Number <> 0 Then MsgBox Err.description, vbCritical, Err.Source

    iMod.GetApplication.UnlockLicense
    Imposta iMod = Nothing

    End Sub


    Il piccolo programma legge gli spostamenti generalizzati locali (memDefs_L) negli assi dell'asta e gli assi principali (memDefs_P) e gli spostamenti generalizzati negli assi dell'asta (memDefs_G).

  • Risposta

    I parametri di un modello possono essere modificati utilizzando l'interfaccia IModel (a partire da IModel3):

    Sottoparametro_test ()

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

    iApp.LockLicense

    Dim j As Integer
    j = iApp.GetModelCount

    Dim iMod As RFEM5.IModel3
    Imposta iMod = iApp.GetActiveModel

    On Error GoTo e

    Dim formParams () As RFEM5.FormulaParameter

    'ottieni tutti i parametri della formula
    formParams = iMod.GetFormulaParameters

    'elimina tutti i parametri della formula
    iMod.CleanFormulaParameters

    'imposta l'elenco dei parametri della formula
    ReDim Preserva formParams (0 To UBound (formParams, 1) + 1)
    formParams (UBound (formParams, 1)). Nome = "p"
    formParams (UBound (formParams, 1)). Unit = "m"
    formParams (UBound (formParams, 1)). UnitType = LengthUnitType
    formParams (UBound (formParams, 1)). Valore = 0
    formParams (UBound (formParams, 1)). ValueType = DoubleType
    formParams (UBound (formParams, 1)). Comment = "nuovo parametro"
    formParams (UBound (formParams, 1)). Formula = "b/3"
    formParams (UBound (formParams, 1)). RangeOfValues = "(3; 5.5>"

    iMod.SetFormulaParameters formParams

    e:

    If Err.Number <> 0 Then MsgBox Err.description, vbCritical, Err.Source
    iMod.GetApplication.UnlockLicense
    Imposta iMod = Nothing

    End Sub


    È possibile solo leggere tutti i parametri utilizzando la funzione GetFormulaParameters (). I parametri modificati o nuovi possono quindi essere trasferiti di nuovo come un elenco con la funzione SetFormulaParameters (). Pertanto, nessun singolo parametro può essere letto o scritto.

    Si precisa che il "Valore" relativo alla sua tipologia (ValueTyp) e alla sua unità (Unit) deve rientrare nei limiti definiti (RangeOfValues), in caso contrario apparirà un messaggio di errore. Se il valore viene calcolato, come nell'esempio, è irrilevante e il valore calcolato con la formula (Formula) deve essere entro i limiti, se i limiti sono definiti.


  • Risposta

    L'opzione "Collega linee/aste" può essere implementata con le funzioni "ConnectLines ()" e "ConnectMembers ()". Entrambe le funzioni prevedono una stringa con i numeri delle linee o delle aste:

    Sub test_connect ()

    Dim iMod As RFEM5.model
    Imposta iMod = GetObject (, "RFEM5.Model")

    iMod.GetApplication.LockLicense

    On Error GoTo e

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

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


    e:

    If Err.Number <> 0 Then MsgBox Err.description, vbCritical, Err.Source
    iMod.GetApplication.UnlockLicense
    Imposta iMod = Nothing

    End Sub


    In questo esempio, la Linea 1 e la Linea 2 sono collegate e viene creato un nodo nel punto di intersezione. Lo stesso si applica all'asta 1 e all'asta 2, dove viene creato anche un nuovo nodo nel punto di intersezione.

  • Risposta

    Proprio come tutti gli altri risultati, la risultante di una sezione può essere letta tramite IModel3 → ICalculation2 → IResults2. L'interfaccia ai risultati è fornita dalla funzione GetResultant, che quindi restituisce la struttura ResultantForce quando si specifica il numero di sezione e il tipo di distribuzione dei risultati. Diese Struktur beinhaltet unter anderem die Kräfte und Momente jeweils als Vektor:

    Sub GetResultantSection()
        Dim iApp As RFEM5.Application
        Dim iModel As RFEM5.model
        Set iModel = GetObject(, "RFEM5.Model")

    On Error GoTo e

    'ottieni l'interfaccia dal modello
    Imposta iApp = iModel.GetApplication
    iApp.LockLicense

    'ottieni l'interfaccia dal calcolo
    Dim iCalc As RFEM5.ICalculation2
    Imposta iCalc = iModel.GetCalculation

    'ottieni l'interfaccia dai risultati del caso di carico 1
    Dim iRes As RFEM5.IResults2
    Set iRes = iCalc.GetResultsInFeNodes (LoadCaseType, 1)

    'ottieni risultante
    Dim section_resultant As ResultantForce
    section_resultant = iRes.GetResultant (1, AtNo, ConstantDistributionOnElements)

    e:
    Se numero errore <> 0 Allora
    MsgBox Err.Number & "" & Err.description
    End If

    Se non iApp non è niente, allora
    iApp.UnlockLicense
    End If

    End Sub
  • Risposta

    Nei download delle FAQ, è possibile trovare un codice di esempio per impostare le superfici NURBS. Il vettore del nodo KnotsX, KnotsY determina in che modo i punti di controllo influenzano la curva NURBS. Il numero di nodi è uguale al numero di nodi più ordine.

  • Risposta

    Per la programmazione utilizzando l'interfaccia COM, un supporto nodale ha le proprietà "ReferenceSystem" e "UserDefinedReferenceSystem". "Sistema di riferimento" consente di definire il tipo di sistema di coordinate definito dall'utente (ad esempio, "ruotato" o "Sistema di coordinate"), e a seconda del tipo di sistema selezionato, questo tipo viene quindi definito tramite "UserDefinedReferenceSystem".

    Nel seguente esempio, è stato impostato come tipo "Sistema di coordinate" ed è stato creato anche un sistema di coordinate definito dall'utente:

    //crea un sistema di coordinate definito dall'utente
    IGuideObjects iGuide = iModel.GetGuideObjects ();

    //cancella accogliente n. 2
    UserCoordinateSystem [] csList = iGuide.GetCoordinateSystems ();
    if (csList.Length> 1)
    {
    per (int i = 0; i <csList.Length; ++ i)
    {
    if (csList [i] .No == 2)
    {
    iGuide.PrepareModification ();
    iGuide.DeleteObjects (GuideObjectType.CoordinateSystemObject, "2");
    iGuide.FinishModification ();
    }
    }
    }

    //definisce il nuovo accogliente n. 2
    UserCoordinateSystem uCs = new UserCoordinateSystem ();
    uCs.Name = "test";
    uCs.Comment = "test";
    uCs.No = 2;
    uCs.IsValid = true;

    uCs.Origin.X = 1;
    uCs.Origin.Y = 0;
    uCs.Origin.Z = 1;

    uCs.Point1.X = 2;
    uCs.Point1.Y = 0;
    uCs.Point1.Z = 1;

    uCs.Point2.X = 1;
    uCs.Point2.Y = 1;
    uCs.Point2.Z = 2;

    //imposta accogliente n. 2
    iGuide.PrepareModification ();
    iGuide.SetCoordinateSystem (uCs);
    iGuide.FinishModification ();

    //crea il supporto nodale con cosy definito dall'utente
    NodalSupport ns = new NodalSupport ();

    ns.SupportConstantX = -1;
    ns.SupportConstantY = -1;
    ns.SupportConstantZ = -1;

    ns.RestraintConstantX = -1;
    ns.RestraintConstantY = 0;
    ns.RestraintConstantZ = -1;

    ns.Comment = "cosy definito dall'utente";
    ns.NodeList = "1";
    ns.ReferenceSystem = ReferenceSystemType.UserDefinedSystemType;

    ns.UserDefinedReferenceSystem.ObjectNo = 2;
    ns.UserDefinedReferenceSystem.Type = UserDefinedAxisSystemType.DefinedCoordinateSystemType;

    iModData.PrepareModification ();
    iModData.SetNodalSupport (ns);
    iModData.FinishModification ();

    Per essere in grado di creare il sistema di coordinate, è necessaria l'interfaccia per gli oggetti guida: 'IGuideObjects'. Con la funzione "DeleteObjects ()", un sistema di coordinate esistente di Numero 2 viene prima eliminato e uno nuovo è creato con "SetCoordinateSystem ()." Si prega di notare il blocco "Preparare/Finire-Modifica" per essere in grado di trasferire il nuovo elemento.

    Il supporto nodale viene trasferito tramite l'interfaccia "IModelData". Anche in questo caso, è necessario il blocco "Preparare/Finire-Modifica".

  • Risposta

    StandardID e AnnexID possono essere facilmente visualizzati in qualsiasi momento utilizzando la seguente macro:

    cominterfaces-it \ SDK \ Esempi \ Moduli \ Excel \ RF-STEEL_EC3.xls

    È possibile trovare questa macro nell'archivio del sito Web del prodotto (vedere Collegamenti).

    Ecco una panoramica degli allegati attuali:


    StandardID Nome Appendice ID

    DIN 0 Germania

    ÖNORM 1 Austria

    CSN 2 Repubblica Ceca

    STN 3 Slovacchia

    PN 4 Polonia

    SIST 5 Slovenia

    DK 6 Danimarca

    UNI 7 Italia

    NEN 8 Paesi Bassi

    SFS 9 Finlandia

    SS 10 Svezia

    NF 11 Francia

    BS 12 Regno Unito

    CEN 13 Unione Europea

    BDS 14 Bulgaria

    CYS 15 Cipro

    LST 16 Lituania

    RS 17 Romania

    SS 18 Singapore

    NBN 19 Belgio

    NP 20 Portogallo

    UNE 21 Spagna

    MAL 22 Malesia

    NS 23 Norvegia

    LU 24 Lussemburgo

    ELOT 25 Grecia

1 - 10 di 46

Contattaci

Contatta Dlubal

Hai trovato la tua domanda?
In caso contrario, contattaci gratuitamente tramite e-mail, chat o il forum di supporto, o inviaci la tua domanda tramite il modulo online.

+39 051 9525 443

info@dlubal.it

Primi passi

Primi passi

Forniamo informazioni e suggerimenti per aiutarti a iniziare con il programma di base RFEM e RSTAB.

Simulazione del vento e Generazione carico da vento

Con il programma stand-alone RWIND Simulation, è possibile simulare i flussi del vento attorno a strutture semplici o complesse per mezzo di una galleria del vento digitale.

I carichi del vento generato che agiscono su questi oggetti possono essere importati in RFEM e RSTAB.

Veramente la miglior assistenza tecnica

“Un sentito grazie per le utili informazioni.

Vorrei fare un complimento al vostro team di assistenza tecnica Sono sempre sorpreso da come trovate le risposte alle mie domande velocemente e professionalmente. Nel settore dell'analisi strutturale, uso diversi software compresi di contratti di servizio, ma la vostra assistenza è di gran lunga la migliore.”