1 # -*- coding: utf-8 -*-
7 theStudy = salome.myStudy
14 from salome.geom import geomBuilder
19 geompy = geomBuilder.New(theStudy)
21 O = geompy.MakeVertex(0, 0, 0)
22 OX = geompy.MakeVectorDXDYDZ(1, 0, 0)
23 OY = geompy.MakeVectorDXDYDZ(0, 1, 0)
24 OZ = geompy.MakeVectorDXDYDZ(0, 0, 1)
25 Face_1 = geompy.MakeFaceHW(100, 100, 1)
26 Disk_1 = geompy.MakeDiskR(20, 1)
27 Partition_1 = geompy.MakePartition([Face_1, Disk_1], Limit=geompy.ShapeType["FACE"])
28 geompy.addToStudy( O, 'O' )
29 geompy.addToStudy( OX, 'OX' )
30 geompy.addToStudy( OY, 'OY' )
31 geompy.addToStudy( OZ, 'OZ' )
32 geompy.addToStudy( Face_1, 'Face_1' )
33 geompy.addToStudy( Disk_1, 'Disk_1' )
34 geompy.addToStudy( Partition_1, 'Partition_1' )
40 import SMESH, SALOMEDS
41 from salome.smesh import smeshBuilder
43 from salome.BLSURFPlugin import BLSURFPluginBuilder
45 smesh = smeshBuilder.New(theStudy)
46 Mesh_1 = smesh.Mesh(Partition_1)
47 MG_CADSurf = Mesh_1.Triangle(algo=smeshBuilder.MG_CADSurf)
48 MG_CADSurf_Parameters_1 = MG_CADSurf.Parameters()
49 MG_CADSurf_Parameters_1.SetPhySize( 10 )
50 MG_CADSurf_Parameters_1.SetMaxSize( 10 )
51 MG_CADSurf_Parameters_1.SetChordalError( -1 )
54 # Test quadrangle dominant
55 MG_CADSurf_Parameters_1.SetElementType( BLSURFPluginBuilder.QuadrangleDominant )
56 isDone = Mesh_1.Compute()
58 assert Mesh_1.NbQuadrangles() > 0
59 assert Mesh_1.NbTriangles() > 0
60 assert Mesh_1.NbQuadrangles() > Mesh_1.NbTriangles()
63 # Test quadrangles only
64 MG_CADSurf_Parameters_1.SetElementType( BLSURFPluginBuilder.Quadrangles )
65 isDone = Mesh_1.Compute()
67 assert Mesh_1.NbQuadrangles() > 0
68 assert Mesh_1.NbTriangles() == 0
72 MG_CADSurf_Parameters_1.SetElementType( BLSURFPluginBuilder.Triangles )
73 isDone = Mesh_1.Compute()
75 assert Mesh_1.NbQuadrangles() == 0
76 assert Mesh_1.NbTriangles() > 0
78 # Test quadrangle dominant compatibility (to be deprecated in Salome 9)
79 MG_CADSurf_Parameters_1.SetQuadAllowed( True )
80 isDone = Mesh_1.Compute()
82 assert Mesh_1.NbQuadrangles() > 0
83 assert Mesh_1.NbTriangles() > 0
84 assert Mesh_1.NbQuadrangles() > Mesh_1.NbTriangles()
86 if salome.sg.hasDesktop():
87 salome.sg.updateObjBrowser(True)