|
| 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