1 from __future__ import division
\r
3 from salome.geom import geomBuilder
\r
4 from salome.smesh import smeshBuilder
\r
9 from math import pi, cos, sin
\r
12 geompy = geomBuilder.New()
\r
13 smesh = smeshBuilder.New()
\r
16 def create_group_from(name, mother_shape, list_elem, type="EDGE"):
\r
17 new = geompy.CreateGroup(mother_shape, geompy.ShapeType[type])
\r
18 geompy.UnionList(new, list_elem)
\r
20 geompy.addToStudyInFather(mother_shape, new, name)
\r
25 NumberOfSegments = 10
\r
27 points = [geompy.MakeVertex(r * cos(i * pi / 3), r * sin(i * pi / 3), 0) for i in range(7)]
\r
28 edges = [geompy.MakeEdge(points[i], points[i + 1]) for i in range(6)]
\r
29 wire = geompy.MakeWire(edges)
\r
30 hexa = geompy.MakeFace(wire, True)
\r
31 geompy.addToStudy(hexa, "Hexagon")
\r
32 g = create_group_from("HexagonBoundary", hexa, [geompy.GetInPlace(hexa, wire, 1)])
\r
34 mesh = smesh.Mesh(hexa, "HexagonWith"+str(NumberOfSegments)+"Triangles")
\r
35 msurf = mesh.Triangle(algo=smeshBuilder.NETGEN_1D2D)
\r
36 NETGEN_2D_Simple_Parameters_1 = msurf.Parameters(smeshBuilder.SIMPLE)
\r
37 NETGEN_2D_Simple_Parameters_1.SetNumberOfSegments( NumberOfSegments )
\r
39 HexagonBoundary_1 = mesh.GroupOnGeom(g, 'BoundaryFaces', SMESH.EDGE)
\r
40 HexagonBoundary_2 = mesh.GroupOnGeom(g, 'BoundaryNodes', SMESH.NODE)
\r
43 mesh.ExportMED("meshHexagonWithTriangles"+str(NumberOfSegments)+".med")
\r