FEM FemMesh2Mesh/ro: Difference between revisions

From FreeCAD Documentation
(Created page with "== Script-Programare == Exemplu: * Încărcați exemplul 3D FEM al FreeCAD din Start Workbench și executați următorul cod")
(Updating to match new version of source page)
 
(17 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<languages/>
<languages/>


{{Docnav
{{GuiCommand/ro|Name=FEM FemMesh2Mesh|Name/ro=FEM FemMesh2Mesh|MenuLocation=Mesh → FEM mesh to mesh||Workbenches=[[Fem Workbench/ro|FEM]]|Shortcut=|SeeAlso=[[FEM_tutorial/ro|FEM tutorial]]}}
|[[FEM_MeshGroup|FEM mesh group]]
|[[FEM_SolverCalculixCxxtools|Solver CalculiX Standard]]
|[[FEM_Workbench|FEM]]
|IconL=FEM_MeshGroup.svg
|IconR=FEM_SolverCalculixCxxtools.svg
|IconC=Workbench_FEM.svg
}}

<div class="mw-translate-fuzzy">
{{GuiCommand/ro|Name=FEM FemMesh2Mesh|Name/ro=FEM FemMesh2Mesh|MenuLocation=Mesh → FEM mesh to mesh||Workbenches=[[FEM Workbench/ro|FEM]]|Shortcut=|SeeAlso=[[FEM_tutorial/ro|FEM tutorial]]}}
</div>


<span id="Description"></span>
==Descriere==
==Descriere==


<div class="mw-translate-fuzzy">
Acest instrument transformă suprafețele elementelor 3D dintr-o plasă FEM selectată în plasă. Pe plan intern, se selectează fașetele elementului FEM din plasă care sunt unice (nu sunt împărțite de două elemente) și le utilizează pentru a crea fașete ale unei rețele. Opțional, aceasta permite crearea unei rețele deformate cauzate de acțiunea forțelor definite. Acest lucru se face prin adăugarea deplasării rezultatelor FEM la nodurile de plasă.
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ă.

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


<span id="Usage"></span>
<div class="mw-translate-fuzzy">
== Cum se folosește ==
== Cum se folosește ==
</div>


<div class="mw-translate-fuzzy">
# Selectați un obiect FEM mesh (opțional selectați suplimentar rezultatele FEM)
# Selectați un obiect FEM mesh (opțional selectați suplimentar rezultatele FEM)
# Apasă pe butonul {{KEY|[[Image:FEM_FemMesh2Mesh.png|24px]]FEM mesh to mesh}}
# Apasă pe butonul {{KEY|[[Image:FEM_FemMesh2Mesh.png|24px]]FEM mesh to mesh}}
</div>

== Scripting ==

'''Note''': The parameter ''scale'' was {{Version|0.21}}. For older versions of FreeCAD omit it from your code.

The cantilever example:


== Script-Programare ==
Exemplu:
* Încărcați exemplul 3D FEM al FreeCAD din Start Workbench și executați următorul cod
{{Code|code=
{{Code|code=
from os.path import join
femmesh_obj = App.ActiveDocument.getObject("Result_mesh").FemMesh
import FreeCAD as App
result = App.ActiveDocument.getObject("CalculiX_static_results")
import femmesh.femmesh2mesh
out_mesh = femmesh.femmesh2mesh.femmesh_2_mesh(femmesh_obj, result)
import Mesh
import Mesh
from femmesh import femmesh2mesh

path = join(App.getResourceDir(), "examples", "FemCalculixCantilever3D.FCStd")
doc = App.openDocument(path)
fem_mesh = doc.Box_Mesh.FemMesh
result = doc.CCX_Results
scale = 1 # displacement scale factor
out_mesh = femmesh2mesh.femmesh_2_mesh(fem_mesh, result, scale)
Mesh.show(Mesh.Mesh(out_mesh))
Mesh.show(Mesh.Mesh(out_mesh))
}}
}}
== Converting 2D elements ==
Select a mesh and run the following python script
{{Code|code=
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)


{{Docnav
selection = FreeCADGui.Selection.getSelection()
|[[FEM_MeshGroup|FEM mesh group]]
input_mesh = App.ActiveDocument.getObject(selection[0].Name).FemMesh
|[[FEM_SolverCalculixCxxtools|Solver CalculiX Standard]]
output_mesh = []
|[[FEM_Workbench|FEM]]
for element in input_mesh.Faces:
|IconL=FEM_MeshGroup.svg
element_nodes = input_mesh.getElementNodes(element)
|IconR=FEM_SolverCalculixCxxtools.svg
if len(element_nodes) in [3, 6]: # tria3 or tria6 (ignoring mid-nodes)
|IconC=Workbench_FEM.svg
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)
}}
}}


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

{{Userdocnavi{{#translation:}}}}
{{clear}}

Latest revision as of 10:14, 2 March 2024

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

Cum se folosește

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

Scripting

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

The cantilever example:

from os.path import join
import FreeCAD as App
import Mesh
from femmesh import femmesh2mesh

path = join(App.getResourceDir(), "examples", "FemCalculixCantilever3D.FCStd")
doc = App.openDocument(path)
fem_mesh = doc.Box_Mesh.FemMesh
result = doc.CCX_Results
scale = 1  # displacement scale factor
out_mesh = femmesh2mesh.femmesh_2_mesh(fem_mesh, result, scale)
Mesh.show(Mesh.Mesh(out_mesh))