FEM: FemMesh2Mesh

From FreeCAD Documentation
Jump to navigation Jump to search
This page is a translated version of the page FEM FemMesh2Mesh and the translation is 31% complete.
Outdated translations are marked like this.
Other languages:
English • ‎français • ‎italiano • ‎polski • ‎română • ‎русский

FEM FemMesh2Mesh.svg FEM FemMesh2Mesh

poziția meniului
Mesh → FEM mesh to mesh
Ateliere
FEM
scurtătură
nici unul
Prezentat în versiune
-
A se vedea, de asemenea,
FEM tutorial

Descriere

Acest instrument transformă suprafețele elementelor 3D dintr-o plasă FEM selectată într-o plasă. Alegeți fațetele elementului FEM din plasă care sunt unice (nu sunt împărțite de două elemente) și le folosiți pentru a crea fațetele unei plase. Opțional, permite crearea unei plase deformate de acțiunea forțelor definite. Acest lucru se face prin adăugarea mișcării rezultatelor FEM la nodurile de plasă.

Elementele bidimensionale din plasa FEM nu sunt luate în considerare. Dacă trebuie să le convertiți, puteți folosi mai jos un script Python.

Cum se folosește

  1. Selectați un obiect FEM mesh (opțional selectați suplimentar rezultatele FEM)
  2. Apasă pe butonul FEM FemMesh2Mesh.pngFEM mesh to mesh

Scripting

Script-Programare

Exemplu:

  • Încărcați exemplul 3D FEM al FreeCAD din Start Workbench și executați următorul cod
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))

Converting 2D elements

Conversia elementelor 2D

Selectați o plasă și rulați următorul 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)