# Ref : http://docs.salome-platform.org/latest/gui/GEOM/tui_working_with_groups_page.html ################################################# for aSolid in range(0, len(p1_solids)): # Get ID (surface) p1_sufaces = geompy.ExtractShapes(p1_solids[aSolid], geompy.ShapeType["FACE"], False) id_p1_sufaces = [] for aSurface in range(0, len(p1_solids)): id_p1_sufaces.append(geompy.GetSubShapeID(p1, p1_sufaces[aSurface])) # make groups (surface) gf = [] for aGroup in range(0, len(p1_sufaces)): gf.append(geompy.CreateGroup(p1, geompy.ShapeType["FACE"])) for aGroup in range(0, len(p1_sufaces)): geompy.AddObject(gf[aGroup], id_p1_sufaces[aGroup]) geompy.UnionIDs(gf[aGroup], id_p1_sufaces) # add objects in the study for aGroup in range(0, len(p1_sufaces)): geompy.addToStudyInFather(p1, gf[aGroup], 'face{0}'.format(aGroup + 1)) #Intersect_1 = geompy.IntersectListOfGroups([Group_4, Group_5]) #Cut_1 = geompy.CutListOfGroups([Group_4], [Intersect_1]) #Cut_2 = geompy.CutListOfGroups([Group_5], [Intersect_1]) ################################################# ## DISPLAY ################################################# #gg.createAndDisplayGO(id_p1) #gg.setDisplayMode(id_p1,1) #gg.setColor(id_p1, 150, 150, 180) #gg.setTransparency(id_p1, 0.8)
Sommet_4 = geompy.MakeVertex(Lplq, lplq, 0) Sommet_5 = geompy.MakeVertex(0, lplq, 0) Sommet_6 = geompy.MakeVertex(0, lfin, 0) Ligne_1 = geompy.MakeLineTwoPnt(Sommet_1, Sommet_2) Ligne_2 = geompy.MakeLineTwoPnt(Sommet_2, Sommet_3) Ligne_3 = geompy.MakeLineTwoPnt(Sommet_3, Sommet_6) Ligne_4 = geompy.MakeLineTwoPnt(Sommet_1, Sommet_6) Ligne_5 = geompy.MakeLineTwoPnt(Sommet_3, Sommet_4) Ligne_6 = geompy.MakeLineTwoPnt(Sommet_4, Sommet_5) Ligne_7 = geompy.MakeLineTwoPnt(Sommet_5, Sommet_6) Face_1 = geompy.MakeFaceWires([Ligne_1, Ligne_2, Ligne_3, Ligne_4], 1) Face_2 = geompy.MakeFaceWires([Ligne_3, Ligne_5, Ligne_6, Ligne_7], 1) Plaque = geompy.MakeCompound([Face_1, Face_2]) Sym = geompy.CreateGroup(Plaque, geompy.ShapeType["EDGE"]) geompy.UnionIDs(Sym, [4]) gauche = geompy.CreateGroup(Plaque, geompy.ShapeType["EDGE"]) geompy.UnionIDs(gauche, [7]) droite = geompy.CreateGroup(Plaque, geompy.ShapeType["EDGE"]) geompy.UnionIDs(droite, [11]) Fin = geompy.CreateGroup(Plaque, geompy.ShapeType["FACE"]) geompy.UnionIDs(Fin, [2]) centre = geompy.CreateGroup(Plaque, geompy.ShapeType["EDGE"]) geompy.UnionIDs(centre, [4, 9]) ext = geompy.CreateGroup(Plaque, geompy.ShapeType["EDGE"]) geompy.UnionIDs(ext, [19]) geompy.addToStudy(O, 'O') geompy.addToStudy(OX, 'OX') geompy.addToStudy(OY, 'OY') geompy.addToStudy(OZ, 'OZ')
Sommet_2 = geompy.MakeVertex(rayon, longu, 0) Sommet_3 = geompy.MakeVertex(rayon, 0, 0) [geomObj_3] = geompy.SubShapeAll(Sommet_3, geompy.ShapeType["VERTEX"]) [geomObj_4] = geompy.SubShapeAll(Sommet_3, geompy.ShapeType["VERTEX"]) Sommet_4 = geompy.MakeVertex(0, longu, 0) Arc_1 = geompy.MakeArcCenter(Sommet_4, Sommet_1, Sommet_2, False) Ligne_1 = geompy.MakeLineTwoPnt(Sommet_2, Sommet_3) Anneau = geompy.MakeWire([Arc_1, Ligne_1], 1e-07) # definition du point haut pour encastrement listSubShapeIDs = geompy.SubShapeAllIDs(Anneau, geompy.ShapeType["VERTEX"]) listSubShapeIDs = geompy.SubShapeAllIDs(Anneau, geompy.ShapeType["VERTEX"]) listSameIDs = geompy.GetSameIDs(Anneau, geomObj_1) Haut = geompy.CreateGroup(Anneau, geompy.ShapeType["VERTEX"]) geompy.UnionIDs(Haut, [3]) # definition du point bas pour application de la force listSameIDs = geompy.GetSameIDs(Anneau, geomObj_2) listSameIDs = geompy.GetSameIDs(Anneau, geomObj_3) Bas = geompy.CreateGroup(Anneau, geompy.ShapeType["VERTEX"]) geompy.UnionIDs(Bas, [6]) listSameIDs = geompy.GetSameIDs(Anneau, geomObj_4) geompy.addToStudy(Sommet_1, 'Sommet_1') geompy.addToStudy(Sommet_2, 'Sommet_2') geompy.addToStudy(Sommet_3, 'Sommet_3') geompy.addToStudy(Sommet_4, 'Sommet_4') geompy.addToStudy(Arc_1, 'Arc_1') geompy.addToStudy(Ligne_1, 'Ligne_1') geompy.addToStudy(Anneau, 'Anneau')
### import GEOM import geompy import math import SALOMEDS geompy.init_geom(theStudy) Box_1 = geompy.MakeBoxDXDYDZ(18, 18, 6) listSubShapeIDs = geompy.SubShapeAllIDs(Box_1, geompy.ShapeType["FACE"]) listSubShapeIDs = geompy.SubShapeAllIDs(Box_1, geompy.ShapeType["FACE"]) listSubShapeIDs = geompy.SubShapeAllIDs(Box_1, geompy.ShapeType["SOLID"]) forc = geompy.CreateGroup(Box_1, geompy.ShapeType["FACE"]) geompy.UnionIDs(forc, [33]) toutface = geompy.CreateGroup(Box_1, geompy.ShapeType["FACE"]) geompy.UnionIDs(toutface, [3, 13, 23, 27, 31, 33]) tout = geompy.CreateGroup(Box_1, geompy.ShapeType["SOLID"]) geompy.UnionIDs(tout, [1]) geomObj_1 = geompy.GetSubShape(Box_1, [3]) geompy.addToStudy( Box_1, 'Box_1' ) geompy.addToStudyInFather( Box_1, forc, 'forc' ) geompy.addToStudyInFather( Box_1, toutface, 'toutface' ) geompy.addToStudyInFather( Box_1, tout, 'tout' ) ### Store presentation parameters of displayed objects import iparameters ipar = iparameters.IParameters(theStudy.GetModuleParameters("Interface Applicative", "GEOM", 1)) #Set up entries:
[geomObj_5] = geompy.SubShapeAll(Edge_2, geompy.ShapeType["EDGE"]) [geomObj_6] = geompy.SubShapeAll(Edge_2, geompy.ShapeType["EDGE"]) [geomObj_7] = geompy.SubShapeAll(Edge_3, geompy.ShapeType["EDGE"]) [geomObj_8] = geompy.SubShapeAll(Edge_3, geompy.ShapeType["EDGE"]) [geomObj_9] = geompy.SubShapeAll(Edge_4, geompy.ShapeType["EDGE"]) [geomObj_10] = geompy.SubShapeAll(Edge_4, geompy.ShapeType["EDGE"]) listSameIDs = geompy.GetSameIDs(Plaque, geomObj_3) listSameIDs = geompy.GetSameIDs(Plaque, geomObj_4) listSameIDs = geompy.GetSameIDs(Plaque, geomObj_5) listSameIDs = geompy.GetSameIDs(Plaque, geomObj_6) listSameIDs = geompy.GetSameIDs(Plaque, geomObj_9) listSameIDs = geompy.GetSameIDs(Plaque, geomObj_10) Encastre = geompy.CreateGroup(Plaque, geompy.ShapeType["EDGE"]) geompy.UnionIDs(Encastre, [9]) geomObj_11 = geompy.CreateGroup(Plaque, geompy.ShapeType["EDGE"]) geompy.UnionIDs(geomObj_11, [3]) listSameIDs = geompy.GetSameIDs(Plaque, geomObj_7) Moment = geompy.CreateGroup(Plaque, geompy.ShapeType["EDGE"]) geompy.UnionIDs(Moment, [10]) listSameIDs = geompy.GetSameIDs(Plaque, geomObj_8) geompy.addToStudy(Centre, 'Centre') geompy.addToStudy(Vertex_droite, 'Vertex_droite') geompy.addToStudy(Vertex_gauche, 'Vertex_gauche') geompy.addToStudy(Arc_1, 'Arc_1') geompy.addToStudy(centre_loin, 'centre_loin') geompy.addToStudy(Line_extrusion, 'Line_extrusion') geompy.addToStudy(Plaque, 'Plaque') geompy.addToStudyInFather(Plaque, Edge_2, 'Edge_2') geompy.addToStudyInFather(Plaque, Edge_3, 'Edge_3')
O = geompy.MakeVertex(0, 0, 0) OX = geompy.MakeVectorDXDYDZ(1, 0, 0) OY = geompy.MakeVectorDXDYDZ(0, 1, 0) OZ = geompy.MakeVectorDXDYDZ(0, 0, 1) Sommet_1 = geompy.MakeVertex(0, 0, 0) Sommet_2 = geompy.MakeVertex(1, 0, 0) Sommet_3 = geompy.MakeVertex(1, 1, 0) Sommet_4 = geompy.MakeVertex(0, 1, 0) Ligne_1 = geompy.MakeLineTwoPnt(Sommet_1, Sommet_2) Ligne_2 = geompy.MakeLineTwoPnt(Sommet_2, Sommet_3) Ligne_3 = geompy.MakeLineTwoPnt(Sommet_3, Sommet_4) Ligne_4 = geompy.MakeLineTwoPnt(Sommet_4, Sommet_1) Plaque = geompy.MakeFaceWires([Ligne_1, Ligne_2, Ligne_3, Ligne_4], 1) listSubShapeIDs = geompy.SubShapeAllIDs(Plaque, geompy.ShapeType["EDGE"]) BORD = geompy.CreateGroup(Plaque, geompy.ShapeType["EDGE"]) geompy.UnionIDs(BORD, [3, 6, 8, 10]) geomObj_1 = geompy.GetSubShape(Plaque, [3]) geompy.addToStudy(O, 'O') geompy.addToStudy(OX, 'OX') geompy.addToStudy(OY, 'OY') geompy.addToStudy(OZ, 'OZ') geompy.addToStudy(Sommet_1, 'Sommet_1') geompy.addToStudy(Sommet_2, 'Sommet_2') geompy.addToStudy(Sommet_3, 'Sommet_3') geompy.addToStudy(Sommet_4, 'Sommet_4') geompy.addToStudy(Ligne_1, 'Ligne_1') geompy.addToStudy(Ligne_2, 'Ligne_2') geompy.addToStudy(Ligne_3, 'Ligne_3') geompy.addToStudy(Ligne_4, 'Ligne_4') geompy.addToStudy(Plaque, 'Plaque') geompy.addToStudyInFather(Plaque, BORD, 'BORD')
Face_16 = geompy.MakeFaceWires([Ligne_7, Ligne_8, Ligne_9, Ligne_10], 1) Partition_1 = geompy.MakePartition([Extrusion_1], [R_volution_1], [], [], geompy.ShapeType["FACE"], 0, [], 0) [Partition_2,Face_3] = geompy.ExtractShapes(Partition_1, geompy.ShapeType["FACE"], True) Partition_2 = geompy.MakePartition([R_volution_1], [Extrusion_1], [], [], geompy.ShapeType["FACE"], 0, [], 0) [Face_2,Face_4,Partition_3,Face_5,Face_7] = geompy.ExtractShapes(Partition_2, geompy.ShapeType["FACE"], True) Partition_3 = geompy.MakePartition([Face_15, Face_16], [Partition_2], [], [], geompy.ShapeType["FACE"], 0, [], 0) [Face_5,Virole,Face_8,Fonds] = geompy.ExtractShapes(Partition_3, geompy.ShapeType["FACE"], True) Virole = geompy.MakeCompound([Face_4]) Fonds = geompy.MakeCompound([Face_2, Face_7]) Piquage = geompy.MakeCompound([Face_1, Face_3]) Supports = geompy.MakeCompound([Face_5, Face_8]) ViroleS = geompy.MakeFuse(Virole, Supports) Bidon = geompy.MakeCompound([Fonds, Piquage, ViroleS]) Encastre = geompy.CreateGroup(Bidon, geompy.ShapeType["EDGE"]) geompy.UnionIDs(Encastre, [59]) Appui = geompy.CreateGroup(Bidon, geompy.ShapeType["EDGE"]) geompy.UnionIDs(Appui, [66]) Fonds_1 = geompy.CreateGroup(Bidon, geompy.ShapeType["FACE"]) geompy.UnionIDs(Fonds_1, [3, 10]) Virole_1 = geompy.CreateGroup(Bidon, geompy.ShapeType["FACE"]) geompy.UnionIDs(Virole_1, [37]) Bride_1 = geompy.CreateGroup(Bidon, geompy.ShapeType["FACE"]) geompy.UnionIDs(Bride_1, [18]) Piquage_2 = geompy.CreateGroup(Bidon, geompy.ShapeType["FACE"]) geompy.UnionIDs(Piquage_2, [25]) Supports_1 = geompy.CreateGroup(Bidon, geompy.ShapeType["FACE"]) geompy.UnionIDs(Supports_1, [55, 62])