FEM FemMesh2Mesh/fr: Difference between revisions

From FreeCAD Documentation
(Replaced content with "== Description ==")
No edit summary
(45 intermediate revisions by 5 users not shown)
Line 1: Line 1:
<languages/>


{{Docnav/fr
{{GuiCommand/fr|Name=FEM FemMesh2Mesh|Name/fr=FEM FemMesh2Mesh|MenuLocation=Mesh → FEM mesh to mesh||Workbenches=[[Fem Workbench/fr|FEM]]|Shortcut=|SeeAlso=[[FEM_tutorial/fr|FEM tutorial]]}}
|[[FEM_CreateNodesSet/fr|Jeu de nœuds]]
|[[FEM_SolverCalculixCxxtools/fr|Solveur Calculix standard]]
|[[FEM_Workbench/fr|Atelier FEM]]
|IconL=FEM_CreateNodesSet.svg
|IconR=FEM_SolverCalculixCxxtools.svg
|IconC=Workbench_FEM.svg
}}

{{GuiCommand/fr
|Name=FEM FemMesh2Mesh
|Name/fr=FEM Maillage à maillage MEF
|MenuLocation=Mesh → Maillage à maillage
|Workbenches=[[FEM_Workbench/fr|FEM]]
|SeeAlso=[[FEM_tutorial/fr|FEM Tutoriel]]
}}


== Description ==
== 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.
This tool converts surfaces of 3D elements of a selected FEM mesh to mesh. Internally it picks FEM mesh element faces which are unique (not shared by two elements) and uses them to create faces of a mesh. Optionally it allows to create a deformed mesh caused by the action of the defined forces. This is done by adding the displacement of the FEM results to the mesh nodes.


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.
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.


<div class="mw-translate-fuzzy">
==Utilisation==
==Utilisation==
# Sélectionnez un objet FEM maille (Optionnellement sélectionnez un résultat FEM ajouté)
# Pressez le bouton {{KEY|[[Image:FEM_FemMesh2Mesh.png|24px]]FEM mesh to mesh}}
</div>


# Sélectionnez un objet de maillage MEF.
# Select a FEM mesh object (optionally select additionally the FEM results)
# En option, sélectionnez également les résultats FEM.
# Press the {{KEY|[[Image:FEM_FemMesh2Mesh.png|24px]]FEM mesh to mesh}} button
# Il existe plusieurs façons d'appeler la commande:
#* Appuyez sur le bouton {{Button|[[Image:FEM_FemMesh2Mesh.svg|16px]] [[FEM_FemMesh2Mesh/fr|Convertir la surface maillage MEF en maillage]]}}.
#* Sélectionnez l'option {{MenuCommand|Mesh → [[Image:FEM_FemMesh2Mesh.svg|16px]] MEF maillage à maillage}} dans le menu.

==Script==

Exemple: Téléchargez l'exemple 3D FEM de FreeCAD à partir de l'atelier Start et exécutez le code suivant


== 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
{{Code|code=
{{Code|code=
femmesh_obj = App.ActiveDocument.getObject("Result_mesh").FemMesh
femmesh_obj = App.ActiveDocument.getObject("Result_mesh").FemMesh
Line 28: Line 44:
Mesh.show(Mesh.Mesh(out_mesh))
Mesh.show(Mesh.Mesh(out_mesh))
}}
}}

== Convertir 2D éléments ==
== Convertir 2D éléments ==

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

{{Code|code=
{{Code|code=
import Mesh
import Mesh
Line 55: Line 74:




{{Docnav/fr
{{clear}}
|[[FEM_CreateNodesSet/fr|Jeu de nœuds]]
<languages/>
|[[FEM_SolverCalculixCxxtools/fr|Solveur Calculix standard]]
|[[FEM_Workbench/fr|Atelier FEM]]
|IconL=FEM_CreateNodesSet.svg
|IconR=FEM_SolverCalculixCxxtools.svg
|IconC=Workbench_FEM.svg
}}

{{FEM Tools navi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}

Revision as of 19:58, 23 August 2021

FEM Maillage à maillage MEF

Emplacement du menu
Mesh → Maillage à maillage
Ateliers
FEM
Raccourci par défaut
Aucun
Introduit dans la version
-
Voir aussi
FEM Tutoriel

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 de maillage MEF.
  2. En option, sélectionnez également les résultats FEM.
  3. Il existe plusieurs façons d'appeler la commande:

Script

Exemple: Téléchargez l'exemple 3D FEM de FreeCAD à partir de l'atelier Start et exécutez le code suivant

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))

Convertir 2D éléments

Sélectionnez un maillage 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)