Converti mesh FEM in mesh

From FreeCAD Documentation
Jump to: navigation, search
This page is a translated version of the page FEM FemMesh2Mesh and the translation is 100% complete.

Other languages:
English • ‎français • ‎italiano • ‎română • ‎русский
Arrow-left.svg FEM CreateNodesSet.png Imposta i nodi Pagina precedente:
Pagina successiva: Solutore Calculix CCX tools FEM Solver.png Arrow-right.svg

FEM FemMesh2Mesh.png Converti mesh FEM in mesh

Posizione nel menu
Mesh → Converti mesh FEM in mesh
Ambiente
FEM
Avvio veloce
Introdotto nella versione
-
Vedere anche
Tutorial di FEM


Descrizione

Questo strumento converte in mesh le superfici degli elementi 3D di una mesh FEM selezionata. Sceglie le facce dell'elemento mesh FEM che sono uniche (non condivise da due elementi) e le usa per creare le facce di una mesh. Facoltativamente consente di creare una mesh deformata dall'azione delle forze definite. Ciò avviene aggiungendo lo spostamento dei risultati FEM ai nodi della maglia.

Non vengono presi in considerazione gli elementi bidimensionali della mesh FEM. Se è necessario convertirli, è possibile utilizzare il seguente script python.

Uso

  1. Selezionare un oggetto mesh FEM (opzionalmente selezionare anche i risultati FEM)
  2. Premere il pulsante FEM FemMesh2Mesh.pngFEM mesh to mesh

Script

Esempioe:

  • Caricare l'esempio FreeCAD's 3D FEM dall'ambiente Start ed eseguire il seguente codice
femmesh_obj = App.ActiveDocument.getObject("Result_mesh").FemMesh
result = App.ActiveDocument.getObject("CalculiX_static_results")
import femmesh.femmesh2mesh
out_mesh = femmesh.femmesh2mesh.femmesh_2_mesh(femmesh_obj, result)
import Mesh
Mesh.show(Mesh.Mesh(out_mesh))

Convertire gli elementi 2D

Selezionare una mesh e eseguire il seguente script python

import Mesh

def extend_by_triangle(i, j, k):
    triangle = [input_mesh.getNodeById(element_nodes[i]),
                input_mesh.getNodeById(element_nodes[j]),
                input_mesh.getNodeById(element_nodes[k])]
    return output_mesh.extend(triangle) 

selection = FreeCADGui.Selection.getSelection()
input_mesh = App.ActiveDocument.getObject(selection[0].Name).FemMesh
output_mesh = []
for element in input_mesh.Faces:
    element_nodes = input_mesh.getElementNodes(element)
    if len(element_nodes) in [3, 6]:  # tria3 or tria6 (ignoring mid-nodes)
        extend_by_triangle(0, 1, 2)
    elif len(element_nodes) in [4, 8]:  # quad4 or quad8 (ignoring mid-nodes)
        extend_by_triangle(0, 1, 2)
        extend_by_triangle(2, 3, 0)

obj = Mesh.Mesh(output_mesh)
Mesh.show(obj)
Arrow-left.svg FEM CreateNodesSet.png Imposta i nodi Pagina precedente:
Pagina successiva: Solutore Calculix CCX tools FEM Solver.png Arrow-right.svg