1+ import pyMagix3D as Mgx3D
2+ import pytest
3+
4+ def test_issue78 (capfd ):
5+ ctx = Mgx3D .getStdContext ()
6+ ctx .clearSession () # Clean the session after the previous test
7+
8+ # Création du sommet Pt0000
9+ ctx .getGeomManager ().newVertex (Mgx3D .Point (0 , 0 , 0 ))
10+ # Création du sommet Pt0001
11+ ctx .getGeomManager ().newVertex (Mgx3D .Point (1 , 0 , 0 ))
12+ # Création du sommet Pt0002
13+ ctx .getGeomManager ().newVertex (Mgx3D .Point (1 , 2 , 0 ))
14+ # Création du sommet Pt0003
15+ ctx .getGeomManager ().newVertex (Mgx3D .Point (0 , 2 , 0 ))
16+ # Création du segment Crb0000
17+ ctx .getGeomManager ().newSegment ("Pt0000" , "Pt0001" )
18+ # Création du segment Crb0001
19+ ctx .getGeomManager ().newSegment ("Pt0001" , "Pt0002" )
20+ # Création du segment Crb0002
21+ ctx .getGeomManager ().newSegment ("Pt0002" , "Pt0003" )
22+ # Création du segment Crb0003
23+ ctx .getGeomManager ().newSegment ("Pt0003" , "Pt0000" )
24+ # Création de la surface Surf0000
25+ ctx .getGeomManager ().newPlanarSurface ( ["Crb0000" , "Crb0001" , "Crb0002" , "Crb0003" ] , "" )
26+ # Création d'une face topologique structurée sur une géométrie (Surf0000)
27+ ctx .getTopoManager ().newStructuredTopoOnGeometry ("Surf0000" )
28+ # Découpage de l'arête Ar0000
29+ ctx .getTopoManager ().splitEdge ("Ar0000" , .4 )
30+ # Découpage de la face Fa0000 par prolongation
31+ ctx .getTopoManager ().extendSplitFace ("Fa0000" , "Som0004" )
32+ assert ctx .getTopoManager ().getNbFaces ()== 2
33+ ctx .undo ()
34+ assert ctx .getTopoManager ().getNbFaces ()== 1
35+ # Changement de discrétisation pour les arêtes Ar0002
36+ emp = Mgx3D .EdgeMeshingPropertyUniform (3 )
37+ ctx .getTopoManager ().setMeshingProperty (emp ,["Ar0002" ])
38+ with pytest .raises (RuntimeError ) as excinfo :
39+ # Impossible car les discrétisations ne sont pas compatibles
40+ ctx .getTopoManager ().extendSplitFace ("Fa0000" , "Som0004" )
41+ expected = "Echec lors du découpage de la face Fa0000, le nombre d'arêtes de maillage est différent de part et d'autre de la face (10 vs 3)"
42+ assert expected in str (excinfo .value )
0 commit comments