From 8392fd7929645680c86f95c87d650d1f0adde9c3 Mon Sep 17 00:00:00 2001 From: jfa Date: Thu, 13 Dec 2007 11:41:17 +0000 Subject: [PATCH] NPAL18084: add a new simple sample of GEOM/SMESH. --- doc/salome/gui/SMESH/doxyfile.in | 2 +- .../gui/SMESH/images/mesh_cylinder_hexa.png | Bin 0 -> 17404 bytes .../input/introduction_to_mesh_python.doc | 2 +- .../gui/SMESH/input/tui_creating_meshes.doc | 11 +- src/SMESH_SWIG/Makefile.am | 1 + src/SMESH_SWIG/ex24_cylinder.py | 104 ++++++++++++++++++ 6 files changed, 117 insertions(+), 3 deletions(-) create mode 100644 doc/salome/gui/SMESH/images/mesh_cylinder_hexa.png create mode 100644 src/SMESH_SWIG/ex24_cylinder.py diff --git a/doc/salome/gui/SMESH/doxyfile.in b/doc/salome/gui/SMESH/doxyfile.in index 53d07c117..37ef2d45f 100755 --- a/doc/salome/gui/SMESH/doxyfile.in +++ b/doc/salome/gui/SMESH/doxyfile.in @@ -19,7 +19,7 @@ WARNINGS = YES INPUT = @srcdir@/input FILE_PATTERNS = *.doc IMAGE_PATH = @srcdir@/images - +EXAMPLE_PATH = ../../../share/salome/src/SMESH_SWIG #--------------------------------------------------------------------------- #HTML related options #--------------------------------------------------------------------------- diff --git a/doc/salome/gui/SMESH/images/mesh_cylinder_hexa.png b/doc/salome/gui/SMESH/images/mesh_cylinder_hexa.png new file mode 100644 index 0000000000000000000000000000000000000000..f95dc67f7910f3e391158c94c238a7085f5ab9d5 GIT binary patch literal 17404 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 literal 0 HcmV?d00001 diff --git a/doc/salome/gui/SMESH/input/introduction_to_mesh_python.doc b/doc/salome/gui/SMESH/input/introduction_to_mesh_python.doc index eb475e48a..2fcc329a2 100644 --- a/doc/salome/gui/SMESH/input/introduction_to_mesh_python.doc +++ b/doc/salome/gui/SMESH/input/introduction_to_mesh_python.doc @@ -74,4 +74,4 @@ # Create a groupe of faces \n tetra.Group(group) -*/ \ No newline at end of file +*/ diff --git a/doc/salome/gui/SMESH/input/tui_creating_meshes.doc b/doc/salome/gui/SMESH/input/tui_creating_meshes.doc index 087b2de25..25bf50268 100644 --- a/doc/salome/gui/SMESH/input/tui_creating_meshes.doc +++ b/doc/salome/gui/SMESH/input/tui_creating_meshes.doc @@ -2,7 +2,7 @@ \page tui_creating_meshes_page Creating Meshes -\n First of all see \ref tui_creating_meshes_page "Example of 3d mesh generation", +\n First of all see \ref introduction_to_mesh_python_page "Example of 3d mesh generation", which is an example of good python script style for Mesh module.
@@ -172,4 +172,13 @@ tetra.Compute() tetra.ExportMED("/tmp/meshMED.med", 0) \endcode +
+

How to mesh a cylinder with hexahedrons?

+Here you can see an example of python script, creating a hexahedral +mesh on a cylinder. And a picture below the source code of the script, +demonstrating the resulting mesh. +\include /dn20/salome/jfa/V4/SRC/SMESH_SRC/src/SMESH_SWIG/ex24_cylinder.py + +\image html mesh_cylinder_hexa.png + */ diff --git a/src/SMESH_SWIG/Makefile.am b/src/SMESH_SWIG/Makefile.am index 09ab5553d..c46bde084 100644 --- a/src/SMESH_SWIG/Makefile.am +++ b/src/SMESH_SWIG/Makefile.am @@ -55,6 +55,7 @@ dist_salomescript_DATA= \ ex18_dome2.py \ ex19_sphereINcube.py \ ex21_lamp.py \ + ex24_cylinder.py \ SMESH_test.py\ SMESH_test0.py\ SMESH_test1.py \ diff --git a/src/SMESH_SWIG/ex24_cylinder.py b/src/SMESH_SWIG/ex24_cylinder.py new file mode 100644 index 000000000..25a1e96d6 --- /dev/null +++ b/src/SMESH_SWIG/ex24_cylinder.py @@ -0,0 +1,104 @@ +# CEA/LGLS 2007, Francis KLOSS (OCC) +# ================================== + +import math + +import geompy +import smesh + +geo = geompy + +# Parameters +# ---------- + +radius = 50 +height = 200 + +# Build a cylinder +# ---------------- + +base = geo.MakeVertex(0, 0, 0) +direction = geo.MakeVectorDXDYDZ(0, 0, 1) + +cylinder = geo.MakeCylinder(base, direction, radius, height) + +geo.addToStudy(cylinder, "cylinder") + +# Build blocks +# ------------ + +size = radius/2.0 + +box_rot = geo.MakeBox(-size, -size, 0, +size, +size, height) +box_axis = geo.MakeLine(base, direction) +box = geo.MakeRotation(box_rot, box_axis, math.pi/4) + +hole = geo.MakeCut(cylinder, box) + +plane_trim = 2000 + +plane_a = geo.MakePlane(base, geo.MakeVectorDXDYDZ(1, 0, 0), plane_trim) +plane_b = geo.MakePlane(base, geo.MakeVectorDXDYDZ(0, 1, 0), plane_trim) + +blocks_part = geo.MakePartition([hole], [plane_a, plane_b], [], [], geo.ShapeType["SOLID"]) +blocks_list = [box] + geo.SubShapeAll(blocks_part, geo.ShapeType["SOLID"]) +blocks_all = geo.MakeCompound(blocks_list) +blocks = geo.MakeGlueFaces(blocks_all, 0.0001) + +geo.addToStudy(blocks, "cylinder:blocks") + +# Build geometric groups +# ---------------------- + +def group(name, shape, type, base=None, direction=None): + t = geo.ShapeType[type] + g = geo.CreateGroup(shape, t) + + geo.addToStudy(g, name) + g.SetName(name) + + if base!=None: + l = geo.GetShapesOnPlaneWithLocationIDs(shape, t, direction, base, geo.GEOM.ST_ON) + geo.UnionIDs(g, l) + + return g + +group_a = group("baseA", blocks, "FACE", base, direction) + +base_b = geo.MakeVertex(0, 0, height) +group_b = group("baseB", blocks, "FACE", base_b, direction) + +group_1 = group("limit", blocks, "SOLID") +group_1_all = geo.SubShapeAllIDs(blocks, geo.ShapeType["SOLID"]) +geo.UnionIDs(group_1, group_1_all) +group_1_box = geo.GetBlockNearPoint(blocks, base) +geo.DifferenceList(group_1, [group_1_box]) + +# Mesh the blocks with hexahedral +# ------------------------------- + +def discretize(x, y, z, n, s=blocks): + p = geo.MakeVertex(x, y, z) + e = geo.GetEdgeNearPoint(s, p) + a = hexa.Segment(e) + a.NumberOfSegments(n) + a.Propagation() + +hexa = smesh.Mesh(blocks) + +hexa_1d = hexa.Segment() +hexa_1d.NumberOfSegments(1) + +discretize(+radius , +radius, 0, 5) +discretize(-radius , +radius, 0, 8) +discretize((radius+size)/2, 0, 0, 10) +discretize( +radius, 0, height/2, 20) + +hexa.Quadrangle() +hexa.Hexahedron() + +hexa.Compute() + +hexa.Group(group_a) +hexa.Group(group_b) +hexa.Group(group_1) -- 2.30.2