Skip to content

Commit 68fdc52

Browse files
committed
- add test for splitfaces fail on ogrid generation
1 parent 871a841 commit 68fdc52

File tree

1 file changed

+118
-0
lines changed

1 file changed

+118
-0
lines changed
Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
import pyMagix3D as Mgx3D
2+
import math
3+
4+
def test_split_ogrid(capfd):
5+
ctx = Mgx3D.getStdContext()
6+
gm = ctx.getGeomManager()
7+
tm = ctx.getTopoManager()
8+
ctx.clearSession()
9+
ctx.getGeomManager().newCylinder (Mgx3D.Point(0, 0, 0), 1, Mgx3D.Vector(5, 0, 0), 9.000000e+01)
10+
# Création du volume Vol0001
11+
ctx.getGeomManager().newSphere (Mgx3D.Point(2.5, 0, 0), 1.5, Mgx3D.Portion.DEMI)
12+
# Création du volume Vol0002
13+
ctx.getGeomManager().newSphere (Mgx3D.Point(2.5, 0, 0), 1.25, Mgx3D.Portion.DEMI)
14+
# Création du volume Vol0003
15+
ctx.getGeomManager().newSphere (Mgx3D.Point(2.5, 0, 0), 1, Mgx3D.Portion.DEMI)
16+
# Rotation de Vol0000 suivant [ [ 0, 0, 0] , [ 1, 0, 0] , 90]
17+
ctx.getGeomManager ( ).rotate (["Vol0000"], Mgx3D.RotX(90))
18+
# Rotation de Vol0000 suivant [ [ 0, 0, 0] , [ 1, 0, 0] , 90]
19+
ctx.getGeomManager ( ).rotate (["Vol0000"], Mgx3D.RotX(90))
20+
# Rotation de Vol0003 Vol0002 Vol0001 suivant [ [ 0, 0, 0] , [ 1, 0, 0] , 270]
21+
ctx.getGeomManager ( ).rotate (["Vol0003","Vol0002","Vol0001"], Mgx3D.RotX(270))
22+
# Création du volume Vol0004
23+
ctx.getGeomManager().newSphere (Mgx3D.Point(2.5, 0, 0), .75, Mgx3D.Portion.DEMI)
24+
# Rotation de Vol0004 suivant [ [ 0, 0, 0] , [ 1, 0, 0] , 270]
25+
ctx.getGeomManager ( ).rotate (["Vol0004"], Mgx3D.RotX(270))
26+
# Destruction de Vol0001
27+
ctx.getGeomManager().destroy(["Vol0001"], True)
28+
# Section par un plan de Vol0002 suivant [ [ 0, 0, 0] , [ 0, 1, 0] ]
29+
ctx.getGeomManager ( ).sectionByPlane (["Vol0002"], Mgx3D.Plane(Mgx3D.Point(0, 0, 0), Mgx3D.Vector(0, 1, 0)), "")
30+
# Destruction de Vol0006
31+
ctx.getGeomManager().destroy(["Vol0006"], True)
32+
# Section par un plan de Vol0003 suivant [ [ 0, 0, 0] , [ 0, 1, 0] ]
33+
ctx.getGeomManager ( ).sectionByPlane (["Vol0003"], Mgx3D.Plane(Mgx3D.Point(0, 0, 0), Mgx3D.Vector(0, 1, 0)), "")
34+
# Destruction de Vol0008
35+
ctx.getGeomManager().destroy(["Vol0008"], True)
36+
# Section par un plan de Vol0004 suivant [ [ 0, 0, 0] , [ 0, 1, 0] ]
37+
ctx.getGeomManager ( ).sectionByPlane (["Vol0004"], Mgx3D.Plane(Mgx3D.Point(0, 0, 0), Mgx3D.Vector(0, 1, 0)), "")
38+
# Destruction de Vol0010
39+
ctx.getGeomManager().destroy(["Vol0010"], True)
40+
# Rotation de Vol0009 suivant [ [ 0, 0, 0] , [ 1, 0, 0] , 90]
41+
ctx.getGeomManager ( ).rotate (["Vol0009"], Mgx3D.RotX(90))
42+
# Symétrie plane de Vol0009
43+
ctx.getGeomManager ( ).mirror (["Vol0009"], Mgx3D.Plane(Mgx3D.Point(0, 0, 0), Mgx3D.Vector(0, 0, 1)))
44+
# Création d'une face topologique structurée sur une géométrie (Surf0034)
45+
ctx.getTopoManager().newStructuredTopoOnGeometry ("Surf0034")
46+
# Collage entre géométries avec topologies
47+
ctx.getGeomManager ( ).glue (["Vol0005","Vol0000","Vol0007","Vol0009"])
48+
# Fusion Booléenne de Vol0014 Vol0016 Vol0012
49+
ctx.getGeomManager ( ).fuse (["Vol0014","Vol0016","Vol0012"])
50+
# Fusion de surfaces Surf0049 Surf0058 Surf0042 Surf0045
51+
ctx.getGeomManager ( ).joinSurfaces (["Surf0049","Surf0058","Surf0042","Surf0045"])
52+
# Fusion de surfaces avec maj de la topologie
53+
ctx.getGeomManager ( ).joinSurfaces (["Surf0043","Surf0055"])
54+
# Fusion de surfaces avec maj de la topologie
55+
ctx.getGeomManager ( ).joinSurfaces (["Surf0044","Surf0050"])
56+
# Suppression d'entités géométriques et suppression des liens topologiques
57+
ctx.getGeomManager().destroy(["Vol0017", "Vol0018", "Vol0011", "Vol0015", "Vol0013"], False)
58+
ctx.getGeomManager().destroy(["Surf0002", "Surf0063", "Surf0054", "Surf0040", "Surf0062", "Surf0059", "Surf0051", "Surf0056", "Surf0033", "Surf0031", "Surf0046", "Surf0039", "Surf0060", "Surf0048", "Surf0053", "Surf0057", "Surf0001","Surf0041"], True)
59+
# Fusion de courbes avec maj de la topologie
60+
ctx.getGeomManager ( ).joinCurves (["Crb0059","Crb0068"])
61+
# Fusion de courbes Crb0030 Crb0035
62+
ctx.getGeomManager ( ).joinCurves (["Crb0030","Crb0035"])
63+
# Fusion de courbes Crb0057 Crb0063
64+
ctx.getGeomManager ( ).joinCurves (["Crb0057","Crb0063"])
65+
# Affectation d'une projection vers Crb0079 pour les entités topologiques Ar0001
66+
ctx.getTopoManager ( ).setGeomAssociation (["Ar0001"], "Crb0079", True)
67+
# Affectation d'une projection vers Crb0041 pour les entités topologiques Ar0000
68+
ctx.getTopoManager ( ).setGeomAssociation (["Ar0000"], "Crb0041", True)
69+
# Affectation d'une projection vers Crb0046 pour les entités topologiques Ar0002
70+
ctx.getTopoManager ( ).setGeomAssociation (["Ar0002"], "Crb0046", True)
71+
# Création d'une face topologique structurée sur une géométrie (Surf0061)
72+
ctx.getTopoManager().newStructuredTopoOnGeometry ("Surf0061")
73+
# Création d'une face topologique structurée sur une géométrie (Surf0038)
74+
ctx.getTopoManager().newStructuredTopoOnGeometry ("Surf0038")
75+
# Création d'une face topologique structurée sur une géométrie (Surf0065)
76+
ctx.getTopoManager().newStructuredTopoOnGeometry ("Surf0065")
77+
# Création d'un bloc unitaire mis dans le groupe test
78+
ctx.getTopoManager().newFreeTopoInGroup ("test", 2)
79+
# Translation d'une topologie avec sa géométrie
80+
ctx.getTopoManager ( ).translate (["Fa0004"], Mgx3D.Vector(1, 1.5, 0), True)
81+
# Changement de discrétisation pour les arêtes Ar0001 Ar0013
82+
emp = Mgx3D.EdgeMeshingPropertyUniform(60)
83+
ctx.getTopoManager().setMeshingProperty (emp, ["Ar0001","Ar0013"])
84+
# Changement de discrétisation pour Ar0009
85+
emp = Mgx3D.EdgeMeshingPropertyUniform(20)
86+
ctx.getTopoManager().setParallelMeshingProperty (emp,"Ar0009")
87+
# Changement de discrétisation pour Ar0006
88+
emp = Mgx3D.EdgeMeshingPropertyUniform(20)
89+
ctx.getTopoManager().setParallelMeshingProperty (emp,"Ar0006")
90+
# Changement de discrétisation pour Ar0017
91+
emp = Mgx3D.EdgeMeshingPropertyUniform(60)
92+
ctx.getTopoManager().setParallelMeshingProperty (emp,"Ar0017")
93+
# Découpage de l'arête Ar0015
94+
ctx.getTopoManager().splitEdge ("Ar0015", .336)
95+
# Découpage de l'arête Ar0019
96+
ctx.getTopoManager().splitEdge ("Ar0019", .5)
97+
# Modification de la position des sommets topologiques Som0013 en coordonnées cartésiennes
98+
ctx.getTopoManager ( ).setVertexLocation (["Som0013"], True, 1.5, True, 7.5e-8, True, -1.22465e-16)
99+
# Modification de la position des sommets topologiques Som0014 en coordonnées cartésiennes
100+
ctx.getTopoManager ( ).setVertexLocation (["Som0014"], True, 1.25, True, -3.06162e-16, True, -1.53081e-16)
101+
# Modification de la position des sommets topologiques Som0016 en coordonnées cartésiennes
102+
ctx.getTopoManager ( ).setVertexLocation (["Som0016"], True, 3.5, True, 7.5e-8, True, -1.66533e-23)
103+
# Modification de la position des sommets topologiques Som0015 en coordonnées cartésiennes
104+
ctx.getTopoManager ( ).setVertexLocation (["Som0015"], True, 3.75, True, -3.06162e-16, True, 6.79816e-32)
105+
# Modification de la position des sommets topologiques Som0018 en coordonnées cartésiennes
106+
ctx.getTopoManager ( ).setVertexLocation (["Som0018"], True, 3.25, True, 1, True, -2.77556e-16)
107+
# Modification de la position des sommets topologiques Som0017 en coordonnées cartésiennes
108+
ctx.getTopoManager ( ).setVertexLocation (["Som0017"], True, 1.75, True, 1, True, -3.2348e-16)
109+
# Affectation d'une projection vers Crb0081 pour les entités topologiques Ar0020
110+
ctx.getTopoManager ( ).setGeomAssociation (["Ar0020"], "Crb0081", True)
111+
# Fusion entre arêtes Ar0013 et Ar0017
112+
ctx.getTopoManager().fuse2Edges ("Ar0013","Ar0017")
113+
# Fusion entre arêtes Ar0006 et Ar0018
114+
ctx.getTopoManager().fuse2Edges ("Ar0006","Ar0018")
115+
# Fusion entre arêtes Ar0009 et Ar0021
116+
ctx.getTopoManager().fuse2Edges ("Ar0009","Ar0021")
117+
# Découpage de toutes les faces structurées
118+
ctx.getTopoManager().splitAllFaces ("Ar0013", .5, 0, True)

0 commit comments

Comments
 (0)