FEM Maillage FEM à maillage

From FreeCAD Documentation
Revision as of 09:08, 9 November 2022 by FuzzyBot (talk | contribs) (Updating to match new version of source page)

FEM Maillage FEM à maillage

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

Description

Cet outil convertit les surfaces des éléments 3D d'un maillage FEM sélectionné en maillage. En pratique, il sélectionne les faces des éléments du maillage FEM qui sont uniques (non partagées par deux éléments) et les utilise pour créer les faces d'un maillage. En outre, il permet de créer un maillage déformé par l'action des forces définies. Ceci est fait en ajoutant le déplacement des résultats FEM aux nœuds du maillage.

Utilisation

  1. Sélectionnez un objet FEM maillage.
  2. Vous pouvez également sélectionner les résultats FEM.
  3. Il existe plusieurs façons de lancer la commande :
    • Appuyez sur le bouton Maillage FEM à maillage.
    • Sélectionnez l'option Maillage → Maillage FEM à maillage dans le menu.

Script

Note: The parameter scale was introduced in version 1.0. For older versions of FreeCAD omit it in your code.

When you just require the displacement scale factor, check your mesh object name and the scale factor in the following code:

import femmesh.femmesh2mesh
mesh_obj = FEMMeshGmsh  # the name of your mesh object
scale = 5  # displacement scale factor
out_mesh = femmesh.femmesh2mesh.femmesh_2_mesh(FreeCAD.ActiveDocument.mesh_obj.FemMesh, FreeCAD.ActiveDocument.CCX_Results, scale)
import Mesh
Mesh.show(Mesh.Mesh(out_mesh))

The cantilever example:

from os.path import join
the_file = join(FreeCAD.getResourceDir(), "examples", "FemCalculixCantilever3D.FCStd")
fc_file = FreeCAD.openDocument(the_file)
fem_mesh = fc_file.getObject("Box_Mesh").FemMesh  # do not remove the _
result = fc_file.getObject("CCX_Results")
scale = 1  # displacement scale factor
from femmesh import femmesh2mesh
out_mesh = femmesh2mesh.femmesh_2_mesh(fem_mesh, result, scale)
import Mesh
Mesh.show(Mesh.Mesh(out_mesh))