FEM FemMesh2Mesh/fr: Difference between revisions

From FreeCAD Documentation
(Created page with "== Scrip == Exemple: * Téléchargez l'exemple pour Windows "C:\Program Files\FreeCAD 0.16\Mod\Fem\test_files\ccx" et lancez le code suivant")
(Created page with "== Convertir 2D éléments == Sélectionnez une maille et lancez le code suivant dans la fenêtre Python de FreeCAD")
Line 22: Line 22:
Mesh.show(Mesh.Mesh(out_mesh))
Mesh.show(Mesh.Mesh(out_mesh))
}}
}}
== Converting 2D elements ==
== Convertir 2D éléments ==
Sélectionnez une maille et lancez le code suivant dans la fenêtre Python de FreeCAD
Select a mesh and run the following python script
{{Code|code=
{{Code|code=
import Mesh
import Mesh

Revision as of 09:03, 11 April 2017

FEM FemMesh2Mesh

Emplacement du menu
FEM → Utilities → FEM mesh to mesh
Ateliers
FEM
Raccourci par défaut
Aucun
Introduit dans la version
-
Voir aussi
FEM tutorial

Description

Cet outil converti une surface un élément 3D ou un élément FEM maille sélectionné en un élément maille . En interne, l'élément FEM maille choisi est unique (non partagé entre deux éléments) et l'utilise pour créer une face ou un élément maille. Optionnellement il permet de créer un maillage déformé causé par les forces établies . Ceci est fait par ajout du déplacement de FEM résultant des nœuds du maillage.

Les éléments bidimensionnels du maillage FEM ne sont pas pris en compte. Si vous devez les convertir, vous pouvez utiliser le script python ci-dessous.

Utilisation

  1. Sélectionnez un objet FEM maille (Optionnellement sélectionnez un résultat FEM ajouté)
  2. Pressez le bouton FEM mesh to mesh

Scrip

Exemple:

  • Téléchargez l'exemple pour Windows "C:\Program Files\FreeCAD 0.16\Mod\Fem\test_files\ccx" et lancez le code suivant
femmesh = App.ActiveDocument.getObject("Box_Mesh").FemMesh
result = App.ActiveDocument.getObject("CalculiX_static_results")
import FemMesh2Mesh
out_mesh = FemMesh2Mesh.femmesh_2_mesh(femmesh, result)
import Mesh
Mesh.show(Mesh.Mesh(out_mesh))

Convertir 2D éléments

Sélectionnez une maille et lancez le code suivant dans la fenêtre Python de FreeCAD

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)