Esempio n. 1
0
def split_cooler_to_faces(cooler_obj):
    groups = []
    counter = 0
    for each_face in geompy.SubShapeAllSortedCentres(cooler, geompy.ShapeType["FACE"]): 
        groups.append (geompy.CreateGroup(cooler, geompy.ShapeType["FACE"]))
        geompy.AddObject (groups[counter], geompy.GetSubShapeID(cooler, each_face))
        geompy.addToStudyInFather (cooler, groups[counter], 'face_' + str(counter+1))
        counter+=1
    return groups
Esempio n. 2
0
def createMesh():
	L=0.1
	H=0.08
	T=0.006
	R=0.048
	R1=0.0385
	Vertex_1 = geompy.MakeVertex(0, -L, 0)
	Vertex_2 = geompy.MakeVertex(0, 0, 0)
	Vector_y = geompy.MakeVectorDXDYDZ(0, 1, 0)
	Vector_z = geompy.MakeVectorDXDYDZ(0, 0, 1)
	Cylinder_1 = geompy.MakeCylinder(Vertex_1, Vector_y, R, 2*L)
	Cylinder_2 = geompy.MakeCylinder(Vertex_2, Vector_z, R1, H)
	Fuse_1 = geompy.MakeFuse(Cylinder_1, Cylinder_2)
	[Face_1,Face_2,Face_3,Face_4,Face_5] = geompy.SubShapeAllSorted(Fuse_1, geompy.ShapeType["FACE"])
	#[Edge_1,Edge_2,Edge_3,Edge_4,Edge_5,Edge_6,Edge_7,Edge_8,Edge_9,Edge_10] = geompy.SubShapeAllSorted(Fuse_1, geompy.ShapeType["EDGE"])
	geompy.addToStudy( Vertex_1, "Vertex_1" )
	geompy.addToStudy( Vertex_2, "Vertex_2" )
	geompy.addToStudy( Vector_y, "Vector_y" )
	geompy.addToStudy( Vector_z, "Vector_z" )
	geompy.addToStudy( Cylinder_1, "Cylinder_1" )
	geompy.addToStudy( Cylinder_2, "Cylinder_2" )
	geompy.addToStudy( Fuse_1, "Fuse_1" )
	geompy.addToStudyInFather( Fuse_1, Face_1, "Face_1" )
	geompy.addToStudyInFather( Fuse_1, Face_2, "Face_2" )
	geompy.addToStudyInFather( Fuse_1, Face_3, "Face_3" )
	geompy.addToStudyInFather( Fuse_1, Face_4, "Face_4" )
	geompy.addToStudyInFather( Fuse_1, Face_5, "Face_5" )
	
	NETGEN_3D_Parameters = smesh.smesh.CreateHypothesis('NETGEN_Parameters', 'NETGENEngine')
	NETGEN_3D_Parameters.SetMaxSize( 0.005 )
	NETGEN_3D_Parameters.SetSecondOrder( 0 )
	NETGEN_3D_Parameters.SetOptimize( 1 )
	NETGEN_3D_Parameters.SetFineness( 3 )
	Mesh_1 = smesh.Mesh(Fuse_1)
	status = Mesh_1.AddHypothesis(NETGEN_3D_Parameters)
	Netgen_1D_2D_3D = smesh.smesh.CreateHypothesis('NETGEN_2D3D', 'NETGENEngine')
	status = Mesh_1.AddHypothesis(Netgen_1D_2D_3D)
	isDone = Mesh_1.Compute()
	
	# create groups for boundaries
	Faces=[Face_1]
	inlet_F = group_create(Mesh_1.GetMesh(),Faces,"inlet_F")
	Faces=[Face_5]
	outlet_F1 = group_create(Mesh_1.GetMesh(),Faces,"outlet_F1")
	Faces=[Face_3]
	outlet_F2 = group_create(Mesh_1.GetMesh(),Faces,"outlet_F2")
	Faces=[ Face_2, Face_4]
	pipe = group_create(Mesh_1.GetMesh(),Faces,"pipe")

        return [Mesh_1,[inlet_F,outlet_F1,outlet_F2,pipe]]
Esempio n. 3
0
	def doFaceGroups(self):
		dx = geompy.MakeVectorDXDYDZ(0.001,0,0)
		# FACE groups definition:
		# 1. inlet
		# 2. outlet
		# 5. wall

		# wall is declared and filled
		sub_faces = SubShapeAllSorted(self.pipeGeom, ShapeType["FACE"])
		print("The faces are:",sub_faces)
		self.g_wall = CreateGroup(self.pipeGeom, ShapeType["FACE"])
		UnionList(self.g_wall, sub_faces)

		# inlet
		# This for some reason returns a single shape instead of a list.		
		#sub_faces = GetShapesNearPoint(self.pipeGeom,MakeVertex(-0.01,0,0),4,0.01)#GetShapesOnPlane(self.pipeGeom, ShapeType["FACE"], dx, GEOM.ST_ON)
		sub_faces = GetShapesOnPlaneWithLocation(self.pipeGeom,ShapeType["FACE"],dx,MakeVertex(0,0,0),GEOM.ST_ON)
		print("Got shapes on plane:",sub_faces)
		self.g_inlet = CreateGroup(self.pipeGeom, ShapeType["FACE"])
		# Adds to the group g_inlet all the faces in sub_faces
		UnionList(self.g_inlet, sub_faces)
		# Removes all the wall group (g_wall) all the faces in sub_faces. These are the faces in the x-plane
		#DifferenceList(self.g_wall, sub_faces)

		# Seems to add the group to the "father" v_duct.
		geompy.addToStudyInFather(self.pipeGeom, self.g_inlet, "inlet")

		# outlet
		# Get all the shapes with the normal dx and the location p1 which is the end of our cylinder
		#sub_faces = GetShapesNearPoint(self.pipeGeom,MakeVertex(self.points[-1][0],0,0),4,0.001)#GetShapesOnPlaneWithLocation(self.pipeGeom, ShapeType["FACE"], dx, MakeVertex(0,0,0), GEOM.ST_ON)
		sub_faces = GetShapesOnPlaneWithLocation(self.pipeGeom,ShapeType["FACE"],dx,MakeVertex(self.points[-1][0],0,0),GEOM.ST_ON)
		print("Got shapes on plane,outlet:",sub_faces)
		self.g_outlet = CreateGroup(self.pipeGeom, ShapeType["FACE"])
		UnionList(self.g_outlet, sub_faces)
		#DifferenceList(self.g_wall, sub_faces)

		addToStudyInFather(self.pipeGeom, self.g_outlet, "outlet")

		# subtract out all faces that are perpendicular to the x-axis (the circle faces)
		for i in xrange(len(self.points)):
			sub_faces = GetShapesOnPlaneWithLocation(self.pipeGeom,ShapeType["FACE"],dx,MakeVertex(self.points[i][0],0,0),GEOM.ST_ON)
			DifferenceList(self.g_wall,sub_faces)
		#DifferenceList(self.g_wall,sub_faces)
		# wall is finally obtained
		addToStudyInFather(self.pipeGeom, self.g_wall, "wall")

		

		print "FACE groups defined..."
Esempio n. 4
0
def CreateSalomeGeom(newnode, newline, groupline=[], groupnode=[]):
    """creation a la volle d une geometrie dans salome
    n'est disponible que depuis salome"""

    liennoeudsalome = []
    for i in range(0, newnode.shape[0]):
        liennoeudsalome.append(
            geompy.MakeVertex(newnode[i, 0], newnode[i, 1], newnode[i, 2]))

    lienlinesalome = []
    for i in range(0, len(newline)):
        lienlinesalome.append(
            geompy.MakeLineTwoPnt(liennoeudsalome[newline[i][0]],
                                  liennoeudsalome[newline[i][1]]))

    complist = []
    complist.extend(liennoeudsalome)
    complist.extend(lienlinesalome)
    outshape = geompy.MakeCompound(complist)
    sortie = geompy.addToStudy(outshape, "treilli")
    sortiegr = []
    #creation des groupes
    for groupe in groupline:
        if (len(groupe[1]) > 0):
            newgr = geompy.CreateGroup(outshape, geompy.ShapeType["EDGE"])
            for a in groupe[1]:
                lineid = geompy.GetSubShapeID(outshape, lienlinesalome[a])
                geompy.AddObject(newgr, lineid)
            sortiegr.append(
                geompy.addToStudyInFather(outshape, newgr, groupe[0]))

    #creation des groupes
    for groupe in groupnode:
        if (len(groupe[1]) > 0):
            newgr = geompy.CreateGroup(outshape, geompy.ShapeType["VERTEX"])
            for a in groupe[1]:
                noeudid = geompy.GetSubShapeID(outshape, liennoeudsalome[a])
                geompy.AddObject(newgr, noeudid)
            sortiegr.append(
                geompy.addToStudyInFather(outshape, newgr, groupe[0]))

    #gg = salome.ImportComponentGUI("GEOM")
    #
    #gg.createAndDisplayGO(sortie)
    #for a in sortiegr:
    #    gg.createAndDisplayGO(a)
    salome.sg.updateObjBrowser(1)
    print "salome geom done"
Esempio n. 5
0
def CreateSalomeGeom(newnode,newline,groupline=[],groupnode=[]):
    """creation a la volle d une geometrie dans salome
    n'est disponible que depuis salome"""
    
    liennoeudsalome=[]
    for i in range(0,newnode.shape[0]):
        liennoeudsalome.append(geompy.MakeVertex(newnode[i,0],newnode[i,1],newnode[i,2]))
    
    lienlinesalome=[]
    for i in range(0,len(newline)):
        lienlinesalome.append(geompy.MakeLineTwoPnt(liennoeudsalome[newline[i][0]],liennoeudsalome[newline[i][1]]))
    
    complist=[];
    complist.extend(liennoeudsalome)
    complist.extend(lienlinesalome)
    outshape=geompy.MakeCompound(complist)
    sortie= geompy.addToStudy(outshape,"treilli")
    sortiegr=[]
    #creation des groupes
    for groupe in groupline:
        if (len(groupe[1])>0):
            newgr=geompy.CreateGroup(outshape,geompy.ShapeType["EDGE"])
            for a in groupe[1]:
                lineid=geompy.GetSubShapeID(outshape,lienlinesalome[a])
                geompy.AddObject(newgr,lineid)
            sortiegr.append(geompy.addToStudyInFather( outshape, newgr, groupe[0] ))

    #creation des groupes
    for groupe in groupnode:
        if (len(groupe[1])>0):
            newgr=geompy.CreateGroup(outshape,geompy.ShapeType["VERTEX"])
            for a in groupe[1]:
                noeudid=geompy.GetSubShapeID(outshape,liennoeudsalome[a])
                geompy.AddObject(newgr,noeudid)
            sortiegr.append(geompy.addToStudyInFather( outshape, newgr, groupe[0] ))
            
    #gg = salome.ImportComponentGUI("GEOM")
    #
    #gg.createAndDisplayGO(sortie)
    #for a in sortiegr:
    #    gg.createAndDisplayGO(a)
    salome.sg.updateObjBrowser(1)
    print "salome geom done"
def RebuildData(theStudy):
	geompy.init_geom(theStudy)

	global Edge_1, Edge_2, Vertex_3, Revolution_1, Vertex_5, Vertex_4, Vertex_6, Face_1, Cone_1, Edge_5, Edge_3, Cylinder_1, Edge_4, Translation_1, Y, Vertex_2, Common_1, Cut_1, Compound_1, Vector_1, Fillet_1, X, Box_1, Rotation_1, Partition_1, Cone_1_edge_7, Torus_1, Vertex_1, Circle_1
	Vertex_1 = geompy.MakeVertex(200, 200, 0)
	Vertex_2 = geompy.MakeVertexWithRef(Vertex_1, 0, 0, 200)
	Vector_1 = geompy.MakeVector(Vertex_1, Vertex_2)
	Cone_1 = geompy.MakeConeR1R2H(100, 0, 300)
	Cylinder_1 = geompy.MakeCylinder(Vertex_2, Vector_1, 100, 100)
	geomObj_1 = geompy.GetSubShape(Cone_1, [7])
	Circle_1 = geompy.MakeCircle(Vertex_1, Vector_1, 100)
	Cone_1_edge_7 = geompy.GetSubShape(Cone_1, [7])
	Revolution_1 = geompy.MakeRevolution2Ways(Circle_1, Cone_1_edge_7, 45*math.pi/180.0)
	Box_1 = geompy.MakeBoxDXDYDZ(200, 200, 200)
	Torus_1 = geompy.MakeTorusRR(200, 75)
	Common_1 = geompy.MakeCommon(Torus_1, Box_1)
	Cut_1 = geompy.MakeCut(Torus_1, Box_1)
	Translation_1 = geompy.MakeTranslation(Torus_1, 190, 190, 0)
	Y = geompy.MakeVectorDXDYDZ(0, 100, 0)
	X = geompy.MakeVectorDXDYDZ(100, 0, 0)
	Rotation_1 = geompy.MakeRotation(Translation_1, Y, -90*math.pi/180.0)
	Compound_1 = geompy.MakeCompound([Translation_1, Torus_1, Rotation_1])
	Fillet_1 = geompy.MakeFilletAll(Box_1, 35)
	Vertex_3 = geompy.MakeVertex(0, 0, 0)
	Vertex_4 = geompy.MakeVertex(0, 0, 200)
	Vertex_5 = geompy.MakeVertex(200, 0, 200)
	Vertex_6 = geompy.MakeVertex(200, 0, 0)
	Edge_1 = geompy.MakeEdge(Vertex_3, Vertex_4)
	Edge_2 = geompy.MakeEdge(Vertex_4, Vertex_5)
	Edge_3 = geompy.MakeEdge(Vertex_5, Vertex_6)
	Edge_4 = geompy.MakeEdge(Vertex_6, Vertex_3)
	Face_1 = geompy.MakeFaceWires([Edge_1, Edge_2, Edge_3, Edge_4], 1)
	Edge_5 = geompy.MakeEdge(Vertex_3, Vertex_5)
	Partition_1 = geompy.MakePartition([Face_1], [Edge_5], [], [], geompy.ShapeType["FACE"], 0, [], 0)
	geompy.addToStudy( Vertex_1, "Vertex_1" )
	geompy.addToStudy( Vertex_2, "Vertex_2" )
	geompy.addToStudy( Vector_1, "Vector_1" )
	geompy.addToStudy( Cone_1, "Cone_1" )
	geompy.addToStudy( Cylinder_1, "Cylinder_1" )
	geompy.addToStudy( Circle_1, "Circle_1" )
	geompy.addToStudyInFather( Cone_1, Cone_1_edge_7, "Cone_1:edge_7" )
	geompy.addToStudy( Revolution_1, "Revolution_1" )
	geompy.addToStudy( Box_1, "Box_1" )
	geompy.addToStudy( Torus_1, "Torus_1" )
	geompy.addToStudy( Common_1, "Common_1" )
	geompy.addToStudy( Cut_1, "Cut_1" )
	geompy.addToStudy( Translation_1, "Translation_1" )
	geompy.addToStudy( Y, "Y" )
	geompy.addToStudy( X, "X" )
	geompy.addToStudy( Rotation_1, "Rotation_1" )
	geompy.addToStudy( Compound_1, "Compound_1" )
	geompy.addToStudy( Fillet_1, "Fillet_1" )
	geompy.addToStudy( Vertex_3, "Vertex_3" )
	geompy.addToStudy( Vertex_4, "Vertex_4" )
	geompy.addToStudy( Vertex_5, "Vertex_5" )
	geompy.addToStudy( Vertex_6, "Vertex_6" )
	geompy.addToStudy( Edge_1, "Edge_1" )
	geompy.addToStudy( Edge_2, "Edge_2" )
	geompy.addToStudy( Edge_3, "Edge_3" )
	geompy.addToStudy( Edge_4, "Edge_4" )
	geompy.addToStudy( Face_1, "Face_1" )
	geompy.addToStudy( Edge_5, "Edge_5" )
	geompy.addToStudy( Partition_1, "Partition_1" )

	### Store presentation parameters of displayed objects
	import iparameters
	ipar = iparameters.IParameters(theStudy.GetModuleParameters("Interface Applicative", "GEOM", 1))

	#Set up entries:
	# set up entry GEOM_11 (Cut_1) parameters
	ipar.setParameter("GEOM_11", "OCCViewer_0_Visibility", "On")
	ipar.setParameter("GEOM_11", "OCCViewer_0_DisplayMode", "1")
	ipar.setParameter("GEOM_11", "OCCViewer_0_Transparency", "0")
	ipar.setParameter("GEOM_11", "OCCViewer_0_Isos", "1:1")

	pass
for aSolid in range(0, len(p1_solids)):
    id_p1_solids.append(geompy.GetSubShapeID(
        p1,
        p1_solids[aSolid]))  #get the ID of the solid and add it to the array

# make groups (solid)
g = []
for aGroup in range(0, len(p1_solids)):
    g.append(geompy.CreateGroup(p1, geompy.ShapeType["SOLID"]))
for aGroup in range(0, len(p1_solids)):
    geompy.AddObject(g[aGroup], id_p1_solids[aGroup])

# add objects in the study
id_p1 = geompy.addToStudy(p1, "Part1")
for aGroup in range(0, len(p1_solids)):
    geompy.addToStudyInFather(p1, g[aGroup], 'body{0}'.format(aGroup + 1))

#################################################
## GROUP (FACE)
# 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)):
Esempio n. 8
0
## Geometry part ##
salome.salome_init()
geompy.init_geom(salome.myStudy)

cooler = geompy.MakeBoxDXDYDZ(30, 20, 70)
group = geompy.CreateGroup(cooler, geompy.ShapeType["FACE"])
geompy.addToStudy(cooler, 'cooler')

groups = []
counter = 0
for each_face in geompy.SubShapeAllSortedCentres(cooler,
                                                 geompy.ShapeType["FACE"]):
    groups.append(geompy.CreateGroup(cooler, geompy.ShapeType["FACE"]))
    geompy.AddObject(groups[counter], geompy.GetSubShapeID(cooler, each_face))
    geompy.addToStudyInFather(cooler, groups[counter],
                              'face_' + str(counter + 1))
    counter += 1

update_screen()

## Mesh part ##
smesh.SetCurrentStudy(salome.myStudy)
cooler_mesh = smesh.CreateMesh(cooler)
#update_screen()
for geom_group in groups:
    mesh_group = cooler_mesh.CreateGroupFromGEOM(SMESH.FACE,
                                                 geom_group.GetName(),
                                                 geom_group)
update_screen()
Esempio n. 9
0
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')

###
### SMESH component
###

import smesh, SMESH, SALOMEDS

smesh.SetCurrentStudy(theStudy)
import NETGENPlugin
Maillage_1 = smesh.Mesh(Plaque)
NETGEN_2D = Maillage_1.Triangle(algo=smesh.NETGEN_1D2D)
NETGEN_2D_Parameters = NETGEN_2D.Parameters()
NETGEN_2D_Parameters.SetMaxSize(0.1)
NETGEN_2D_Parameters.SetSecondOrder(0)
NETGEN_2D_Parameters.SetOptimize(1)
Esempio n. 10
0
                                   geompy.ShapeType["SOLID"], 0, [], 1)
geompy.addToStudy(globalsolid, 'globalsolid')

#generation des groupes
groupe = []
#EDGE
#Rien

#FACE
#infbase groupe de face qui represente le pied de la structure
grinfbase = geompy.CreateGroup(globalsolid, geompy.ShapeType["FACE"])
[geomObj_248] = geompy.SubShapeAll(infbase, geompy.ShapeType["FACE"])
geomObj_temp = geompy.GetSame(globalsolid, geomObj_248)
tempid = geompy.GetSubShapeID(globalsolid, geomObj_temp)
geompy.AddObject(grinfbase, tempid)
geompy.addToStudyInFather(globalsolid, grinfbase, "infbase")
groupe.append(grinfbase)

#faces de contacte hautes
touttop = geompy.CreateGroup(globalsolid, geompy.ShapeType["FACE"])
for a in range(0, nsub + 1):
    for b in range(0, nsub + 1):
        grtop = geompy.CreateGroup(globalsolid, geompy.ShapeType["FACE"])
        [tempgeomObj] = geompy.SubShapeAll(facenodeup[a][b],
                                           geompy.ShapeType["FACE"])
        geomObj_temp = geompy.GetSame(globalsolid, tempgeomObj)
        geompy.UnionList(touttop, [geomObj_temp])

        geompy.UnionList(grtop, [geomObj_temp])
        #legerement plus long que la ligne au dessus
        #tempid=geompy.GetSubShapeID(globalsolid,geomObj_temp)
Esempio n. 11
0
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:
# set up entry GEOM_1 (Box_1) parameters
objId = geompy.getObjectID(Box_1)
ipar.setParameter(objId, "OCCViewer_0_Visibility", "On")
ipar.setParameter(objId, "OCCViewer_0_Color", "1:1:0")
# set up entry GEOM_1:1 (forc) parameters
objId = geompy.getObjectID(forc)
ipar.setParameter(objId, "OCCViewer_0_Visibility", "On")
Esempio n. 12
0
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( Sommet_5, 'Sommet_5' )
geompy.addToStudy( Sommet_6, 'Sommet_6' )
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( Ligne_5, 'Ligne_5' )
geompy.addToStudyInFather( Ligne_1, Ligne_1_vertex_2, 'Ligne_1:vertex_2' )
geompy.addToStudy( Cercle_1, 'Cercle_1' )
geompy.addToStudyInFather( Ligne_5, Ligne_5_vertex_2, 'Ligne_5:vertex_2' )
geompy.addToStudy( Cercle_2, 'Cercle_2' )
geompy.addToStudyInFather( Ligne_4, Ligne_4_vertex_2, 'Ligne_4:vertex_2' )
geompy.addToStudy( Cercle_3, 'Cercle_3' )
geompy.addToStudy( Contour_1, 'Contour_1' )
geompy.addToStudy( Tuyau_3, 'Tuyau_3' )
geompy.addToStudy( Tuyau_1, 'Tuyau_1' )
geompy.addToStudyInFather( Partition_1, Face_7, 'Face_7' )
geompy.addToStudy( Partition_1, 'Partition_1' )
geompy.addToStudyInFather( Partition_2, Face_1, 'Face_1' )
geompy.addToStudyInFather( Partition_2, Face_2, 'Face_2' )
geompy.addToStudy( joint, 'joint' )
geompy.addToStudy( Partition_2, 'Partition_2' )
geompy.addToStudy( Tuyau_2, 'Tuyau_2' )
Esempio n. 13
0
# 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' )
geompy.addToStudyInFather( Anneau, Haut, 'Haut' )
geompy.addToStudyInFather( Anneau, Bas, 'Bas' )

### Store presentation parameters of displayed objects
import iparameters
ipar = iparameters.IParameters(theStudy.GetModuleParameters("Interface Applicative", "GEOM", 1))

#Set up entries:
# set up entry GEOM_1 (Sommet_1) parameters


import smesh, SMESH, SALOMEDS
# Definition du maillage
smesh.SetCurrentStudy(theStudy)
import StdMeshers
Maillage_1    = smesh.Mesh(Anneau)
Esempio n. 14
0
geompy.addToStudy( Sommet_4, 'Sommet_4' )
geompy.addToStudy( Sommet_5, 'Sommet_5' )
geompy.addToStudy( Sommet_6, 'Sommet_6' )

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( Ligne_5, 'Ligne_5' )
geompy.addToStudy( Ligne_6, 'Ligne_6' )
geompy.addToStudy( Ligne_7, 'Ligne_7' )

geompy.addToStudy( Face_1, 'Face_1' )
geompy.addToStudy( Face_2, 'Face_2' )
geompy.addToStudy( Plaque, 'Plaque' )
geompy.addToStudyInFather( Plaque, gauche, 'gauche' )
geompy.addToStudyInFather( Plaque, droite, 'droite' )
geompy.addToStudyInFather( Plaque, Fin, 'Fin' )
geompy.addToStudyInFather( Plaque, centre, 'centre' )
geompy.addToStudyInFather( Plaque, ext, 'ext' )

###
### SMESH component
###

import smesh, SMESH, SALOMEDS

smesh.SetCurrentStudy(theStudy)
import StdMeshers
import NETGENPlugin
Esempio n. 15
0
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(Sommet_5, 'Sommet_5')
geompy.addToStudy(Sommet_6, 'Sommet_6')
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(Ligne_5, 'Ligne_5')
geompy.addToStudyInFather(Ligne_1, Ligne_1_vertex_2, 'Ligne_1:vertex_2')
geompy.addToStudy(Cercle_1, 'Cercle_1')
geompy.addToStudyInFather(Ligne_5, Ligne_5_vertex_2, 'Ligne_5:vertex_2')
geompy.addToStudy(Cercle_2, 'Cercle_2')
geompy.addToStudyInFather(Ligne_4, Ligne_4_vertex_2, 'Ligne_4:vertex_2')
geompy.addToStudy(Cercle_3, 'Cercle_3')
geompy.addToStudy(Contour_1, 'Contour_1')
geompy.addToStudy(Tuyau_3, 'Tuyau_3')
geompy.addToStudy(Tuyau_1, 'Tuyau_1')
geompy.addToStudyInFather(Partition_1, Face_7, 'Face_7')
geompy.addToStudy(Partition_1, 'Partition_1')
geompy.addToStudyInFather(Partition_2, Face_1, 'Face_1')
geompy.addToStudyInFather(Partition_2, Face_2, 'Face_2')
geompy.addToStudy(joint, 'joint')
geompy.addToStudy(Partition_2, 'Partition_2')
geompy.addToStudy(Tuyau_2, 'Tuyau_2')
Esempio n. 16
0
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')
geompy.addToStudyInFather(Plaque, Edge_4, 'Edge_4')
geompy.addToStudyInFather(Plaque, Encastre, 'Encastre')
geompy.addToStudyInFather(Plaque, Moment, 'Moment')

### Store presentation parameters of displayed objects
import iparameters
ipar = iparameters.IParameters(
    theStudy.GetModuleParameters("Interface Applicative", "GEOM", 1))

#Set up entries:

###
### SMESH component
###
Esempio n. 17
0
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' )
geompy.addToStudyInFather( Plaque, Edge_4, 'Edge_4' )
geompy.addToStudyInFather( Plaque, Encastre, 'Encastre' )
geompy.addToStudyInFather( Plaque, Moment, 'Moment' )

### Store presentation parameters of displayed objects
import iparameters
ipar = iparameters.IParameters(theStudy.GetModuleParameters("Interface Applicative", "GEOM", 1))

#Set up entries:

###
### SMESH component
###
Esempio n. 18
0
# build 1/4
part_1_4 = geompy.MakeCompound([part_1_8, part_1_8_mirr, comp_blocks_5])
part_1_4 = geompy.MakeGlueFaces(part_1_4, 0.00001)
geompy.addToStudy(part_1_4, "part_1_4")

# build whole tower from 1/4
tower_whole = geompy.MultiRotate1D(part_1_4, Oz, 4)
tower_whole = geompy.MakeGlueFaces(tower_whole, 0.00001)
geompy.addToStudy(tower_whole, "tower_whole")


# Find two edges to do special discretisation on them
# and on their opposite edges, using hypotheses propagation

thickness_edge_1 = geompy.GetEdge(tower_whole, pp1, pp2)
geompy.addToStudyInFather(tower_whole, thickness_edge_1, "thickness_edge_1")

pp0_low = points_5[0][0]
pp0_hig = geompy.MakeTranslation(pp0_low, 0, 0, thickness)

thickness_edge_2 = geompy.GetEdge(tower_whole, pp0_low, pp0_hig)
geompy.addToStudyInFather(tower_whole, thickness_edge_2, "thickness_edge_2")

#########################################
#
# Tower Mesh
#
#########################################

import smesh
Esempio n. 19
0
# Get ID (solid)
id_p1_solids = [] #initialize the array
for aSolid in range(0,len(p1_solids)):
	id_p1_solids.append(geompy.GetSubShapeID(p1, p1_solids[aSolid])) #get the ID of the solid and add it to the array

# make groups (solid)
g = []
for aGroup in range(0,len(p1_solids)):
   g.append(geompy.CreateGroup(p1, geompy.ShapeType["SOLID"]))
for aGroup in range(0,len(p1_solids)):
	geompy.AddObject(g[aGroup], id_p1_solids[aGroup])

# add objects in the study
id_p1 = geompy.addToStudy(p1,"Part1")
for aGroup in range(0,len(p1_solids)):
	geompy.addToStudyInFather(p1, g[aGroup], 'body{0}'.format(aGroup+1) )

#################################################
## GROUP (FACE)
# 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"]))
Esempio n. 20
0
geompy.addToStudy( Sommet_2, 'Sommet_2' )
geompy.addToStudy( Sommet_3, 'Sommet_3' )
geompy.addToStudy( Sommet_4, 'Sommet_4' )
geompy.addToStudy( Sommet_5, 'Sommet_5' )
geompy.addToStudy( Sommet_6, 'Sommet_6' )
geompy.addToStudy( Sommet_7, 'Sommet_7' )
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( Ligne_5, 'Ligne_5' )
geompy.addToStudy( Ligne_6, 'Ligne_6' )
geompy.addToStudy( Ligne_7, 'Ligne_7' )
geompy.addToStudy( Ligne_8, 'Ligne_8' )
geompy.addToStudy( Ligne_9, 'Ligne_9' )
geompy.addToStudyInFather( Ligne_1, Ligne_1_vertex_2, 'Ligne_1:vertex_2' )
geompy.addToStudyInFather( Ligne_8, Ligne_8_vertex_3, 'Ligne_8:vertex_3' )
geompy.addToStudy( Ligne_10, 'Ligne_10' )
geompy.addToStudy( Ligne_11, 'Ligne_11' )
geompy.addToStudy( Treillis, 'Treillis' )

###
### SMESH component
###

import smesh, SMESH, SALOMEDS

smesh.SetCurrentStudy(theStudy)
import StdMeshers
Maillage_1 = smesh.Mesh(Treillis)
Regular_1D = Maillage_1.Segment()
Esempio n. 21
0
geompy.addToStudy(Sommet_4, 'Sommet_4')
geompy.addToStudy(Sommet_5, 'Sommet_5')
geompy.addToStudy(Sommet_6, 'Sommet_6')

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(Ligne_5, 'Ligne_5')
geompy.addToStudy(Ligne_6, 'Ligne_6')
geompy.addToStudy(Ligne_7, 'Ligne_7')

geompy.addToStudy(Face_1, 'Face_1')
geompy.addToStudy(Face_2, 'Face_2')
geompy.addToStudy(Plaque, 'Plaque')
geompy.addToStudyInFather(Plaque, gauche, 'gauche')
geompy.addToStudyInFather(Plaque, droite, 'droite')
geompy.addToStudyInFather(Plaque, Fin, 'Fin')
geompy.addToStudyInFather(Plaque, centre, 'centre')
geompy.addToStudyInFather(Plaque, ext, 'ext')

###
### SMESH component
###

import smesh, SMESH, SALOMEDS

smesh.SetCurrentStudy(theStudy)
import StdMeshers
import NETGENPlugin
Esempio n. 22
0
# Finally we have the Gear Wheel geometry
gear_wheel = geompy.MakeGlueFaces(compound_5, 1e-05)
geompy.addToStudy(gear_wheel, "Gear wheel")

# Find two edges to assign on them local hypotheses

pp_local_hyp_2 = geompy.MakeTranslation(pp_local_hyp_1, 0, 0, h_thin)

pp_local_hyp_3 = geompy.MakeTranslation(pp_local_hyp_2, 0, 0, h_thick)
pp_local_hyp_4 = geompy.MakeTranslation(pp_local_hyp_3, 0, 0, h_thin)

ee_local_hyp_1 = geompy.GetEdge(gear_wheel, pp_local_hyp_1, pp_local_hyp_2)
ee_local_hyp_2 = geompy.GetEdge(gear_wheel, pp_local_hyp_3, pp_local_hyp_4)

geompy.addToStudyInFather(gear_wheel, ee_local_hyp_1, "ee_local_hyp_1")
geompy.addToStudyInFather(gear_wheel, ee_local_hyp_2, "ee_local_hyp_2")

#########################################
#
# Gear Wheel Mesh
#
#########################################

gear_mesh = smesh.Mesh(gear_wheel)

# Assign hypotheses and algorithms
algo1D = gear_mesh.Segment()
algo1D.NumberOfSegments(mesh_nb_segments)
gear_mesh.Quadrangle()
gear_mesh.Hexahedron()
Esempio n. 23
0
geompy.addToStudy( Extrusion_1, 'Extrusion_1' )
geompy.addToStudy( Cercle_2, 'Cercle_2' )
geompy.addToStudy( Ligne_3, 'Ligne_3' )
geompy.addToStudy( Ligne_4, 'Ligne_4' )
geompy.addToStudy( Ligne_5, 'Ligne_5' )
geompy.addToStudy( Ligne_6, 'Ligne_6' )
geompy.addToStudy( Ligne_7, 'Ligne_7' )
geompy.addToStudy( Ligne_8, 'Ligne_8' )
geompy.addToStudy( Ligne_9, 'Ligne_9' )
geompy.addToStudy( Ligne_10, 'Ligne_10' )
geompy.addToStudy( Face_1, 'Face_1' )
geompy.addToStudy( Face_15, 'Face_15' )
geompy.addToStudy( Face_16, 'Face_16' )
geompy.addToStudy( Partition_1, 'Partition_1' )
geompy.addToStudy( Partition_2, 'Partition_2' )
geompy.addToStudyInFather( Partition_1, Face_3, 'Face_3' )
geompy.addToStudyInFather( Partition_2, Face_2, 'Face_2' )
geompy.addToStudyInFather( Partition_2, Face_4, 'Face_4' )
geompy.addToStudyInFather( Partition_2, Face_7, 'Face_7' )
geompy.addToStudy( Partition_3, 'Partition_3' )
geompy.addToStudyInFather( Partition_3, Face_5, 'Face_5' )

geompy.addToStudy( Virole, 'Virole' )
geompy.addToStudyInFather( Partition_3, Face_8, 'Face_8' )
geompy.addToStudy( Fonds, 'Fonds' )
geompy.addToStudy( Piquage, 'Piquage' )
geompy.addToStudy( Supports, 'Supports' )
geompy.addToStudy( ViroleS, 'ViroleS' )
geompy.addToStudy( Bidon, 'Bidon' )
geompy.addToStudyInFather( Bidon, Encastre, 'Encastre' )
geompy.addToStudyInFather( Bidon, Appui, 'Appui' )
Esempio n. 24
0
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' )

###
### SMESH component
###

import smesh, SMESH, SALOMEDS

smesh.SetCurrentStudy(theStudy)
import NETGENPlugin
Maillage_1 = smesh.Mesh(Plaque)
NETGEN_2D = Maillage_1.Triangle(algo=smesh.NETGEN_1D2D)
NETGEN_2D_Parameters = NETGEN_2D.Parameters()
NETGEN_2D_Parameters.SetMaxSize( 0.1 )
NETGEN_2D_Parameters.SetSecondOrder( 0 )
NETGEN_2D_Parameters.SetOptimize( 1 )
Esempio n. 25
0
# 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')
geompy.addToStudyInFather(Anneau, Haut, 'Haut')
geompy.addToStudyInFather(Anneau, Bas, 'Bas')

### Store presentation parameters of displayed objects
import iparameters
ipar = iparameters.IParameters(
    theStudy.GetModuleParameters("Interface Applicative", "GEOM", 1))

#Set up entries:
# set up entry GEOM_1 (Sommet_1) parameters

import smesh, SMESH, SALOMEDS
# Definition du maillage
smesh.SetCurrentStudy(theStudy)
import StdMeshers
Maillage_1 = smesh.Mesh(Anneau)
Esempio n. 26
0
def injectorFaceGroups (injGeom, aInjLens, aInjRads, aWallS ,aTol):
	#
	L1=     aInjLens[0]
	L2=     aInjLens[1]
	L3=     aInjLens[2]
	L4=     aInjLens[3]
	L5=     aInjLens[4]
	L6=     aInjLens[5]
	#
	R0=     aInjRads[0]
	R1=     aInjRads[1]
	R2=     aInjRads[2]
	R3=     aInjRads[3]
	R4=     aInjRads[4]
	#
	S =     aWallS
	#
	RMAX  = R0
	LSUMM = L1 + L2 + L3 + L4 + L5 + L6
	XMIN  = -L1 -L2
	XMAX  = LSUMM + XMIN
	HALFR2= R2*0.5
	#
	vertex1 = geompy.MakeVertex(0, 0, 0)
	vertex2 = geompy.MakeVertex(0, 0, 1)
	vector1 = geompy.MakeVector(vertex1, vertex2)
	#
	vertex3 = geompy.MakeVertex(1, 0, 0)
	vertex4 = geompy.MakeVertex(XMIN, 0, 0)
	Xvector = geompy.MakeVector(vertex1, vertex3)
	#
	symmWalls = faceSelect.SelectFacesWithNormalParallelToVec(injGeom, [vector1], aTol)
	#
	# now, remove all faces which are in small quadrangle 
	#
	selGroup0faces = []
	selGroup0faces = geompy.SubShapeAll(symmWalls, geompy.ShapeType["FACE"])
	nFaces = len(selGroup0faces)
	idsToRemove = []
	nToRemove=0
	for jFace in range(0,nFaces):
		jFaceCOM  = geompy.MakeCDG(selGroup0faces[jFace])
		COMCoords = geompy.PointCoordinates(jFaceCOM)
		jFaceID   = geompy.GetSubShapeID(injGeom, selGroup0faces[jFace])
		ZCoord = COMCoords[2]
		Cond   = (ZCoord >= aTol)
		if Cond:
			idsToRemove.append (jFaceID)
			nToRemove = nToRemove + 1
	print  "---"
	print nToRemove
	print  "---"
	#
	for jFace in range(0,nToRemove):
		geompy.RemoveObject(symmWalls, idsToRemove[jFace])
	#
	id_symmWalls = geompy.addToStudyInFather(injGeom,symmWalls,"symm-walls")
	#
	activeInlet    = faceSelect.SelectFacesWithCoordinateAndLessRadius(injGeom,XMIN,0,vertex4,R1, aTol)
	id_activeInlet = geompy.addToStudyInFather(injGeom,activeInlet,"active-inlet")
	#
	passiveInlet    = faceSelect.SelectFacesWithCoordinateAndGreaterRadius(injGeom,XMIN,0,vertex4,R1+S, aTol)
	id_passiveInlet = geompy.addToStudyInFather(injGeom,passiveInlet,"passive-inlet")
	
	Outlet = faceSelect.SelectFacesWithCOM_OnCoordinate(injGeom, XMAX, 0, aTol)
	id_Outlet = geompy.addToStudyInFather(injGeom,Outlet,"outlet")
	#
	faceGroups = [symmWalls, activeInlet, passiveInlet, Outlet]
	return faceGroups
Esempio n. 27
0
OX = geompy.MakeVectorDXDYDZ(1, 0, 0)
OY = geompy.MakeVectorDXDYDZ(0, 1, 0)
OZ = geompy.MakeVectorDXDYDZ(0, 0, 1)
Corps_principal = geompy.ImportSTEP("/home/bordreuil/Enseignement/elementsFiNimes/Examples/3D/G_RepMart/piedRepMart.stp")
[Esquisse_1] = geompy.SubShapes(Corps_principal, [56])
geomObj_1 = geompy.MakeMarker(0, 0, 0, 1, 0, 0, 0, 1, 0)
geomObj_2 = geompy.MakeMarker(0, 0, 0, 1, 0, 0, 0, 1, 0)
Corps_principal_1 = geompy.GetSubShape(Corps_principal, [261])
Esquisse_1 = geompy.MakeSketcherOnPlane("Sketcher:F -0.050000 0.000000:TT 0.050000 0.000000:TT 0.050000 -0.050000:TT -0.050000 -0.050000:WW", Corps_principal_1 )
Enl_vement_extrud__1 = geompy.MakeExtrudedCut(Corps_principal, Esquisse_1, 90, 0)
[Appui1] = geompy.SubShapes(Enl_vement_extrud__1, [278])
[Appui2] = geompy.SubShapes(Enl_vement_extrud__1, [309])
[Tige] = geompy.SubShapes(Enl_vement_extrud__1, [349])

geompy.addToStudy( O, 'O' )
geompy.addToStudy( OX, 'OX' )
geompy.addToStudy( OY, 'OY' )
geompy.addToStudy( OZ, 'OZ' )
geompy.addToStudy( Corps_principal, 'Corps principal' )
geompy.addToStudy( Esquisse_1, 'Esquisse_1' )
geompy.addToStudyInFather( Corps_principal, Corps_principal_1, 'Corps principal' )
geompy.addToStudy( Enl_vement_extrud__1, 'Enlèvement_extrudé_1' )
geompy.addToStudyInFather( Enl_vement_extrud__1, Appui1, 'Appui1' )
geompy.addToStudyInFather( Enl_vement_extrud__1, Appui2, 'Appui2' )
geompy.addToStudyInFather( Enl_vement_extrud__1, Tige, 'Tige' )



if salome.sg.hasDesktop():
  salome.sg.updateObjBrowser(1)
Esempio n. 28
0
geompy.addToStudy( globalsolid, 'globalsolid' )


#generation des groupes
groupe=[]
#EDGE
#Rien

#FACE
#infbase groupe de face qui represente le pied de la structure
grinfbase=geompy.CreateGroup(globalsolid,geompy.ShapeType["FACE"])
[geomObj_248] = geompy.SubShapeAll(infbase, geompy.ShapeType["FACE"])
geomObj_temp = geompy.GetSame(globalsolid, geomObj_248)
tempid=geompy.GetSubShapeID(globalsolid,geomObj_temp)
geompy.AddObject(grinfbase,tempid)
geompy.addToStudyInFather( globalsolid, grinfbase, "infbase" )
groupe.append(grinfbase)

#faces de contacte hautes
touttop = geompy.CreateGroup(globalsolid, geompy.ShapeType["FACE"])
for a in range(0,nsub+1):
  for b in range(0,nsub+1):
    grtop=geompy.CreateGroup(globalsolid,geompy.ShapeType["FACE"])
    [tempgeomObj] = geompy.SubShapeAll(facenodeup[a][b], geompy.ShapeType["FACE"])
    geomObj_temp = geompy.GetSame(globalsolid, tempgeomObj)
    geompy.UnionList(touttop,[geomObj_temp])
    
    geompy.UnionList(grtop,[geomObj_temp])
    #legerement plus long que la ligne au dessus
    #tempid=geompy.GetSubShapeID(globalsolid,geomObj_temp)
    #geompy.AddObject(grtop,tempid)
Esempio n. 29
0
def injectorEdgeGroups (aInjGeom, aInjLens, aInjRads, aWallS ,aTol):
	#
	L1=     aInjLens[0]
	L2=     aInjLens[1]
	L3=     aInjLens[2]
	L4=     aInjLens[3]
	L5=     aInjLens[4]
	L6=     aInjLens[5]
	#
	R0=     aInjRads[0]
	R1=     aInjRads[1]
	R2=     aInjRads[2]
	R3=     aInjRads[3]
	R4=     aInjRads[4]
	#
	S =     aWallS
	#
	RMAX  = R4
	LSUMM = L1 + L2 + L3 + L4 + L5 + L6
	X = [-(L1+L2), -L2, 0, L3, L3+L4, L3+L4+L5, L3+L4+L5+L6]
	Sqrt2By2 = math.sqrt(2.0)/2.0
	YL1 = R2 * Sqrt2By2 * 0.5
	ZL1 = R2 * Sqrt2By2 * 0.5
	YL2 = (R1+S) * Sqrt2By2
	ZL2 = (R1+S) * Sqrt2By2
	YL2b= (R1) * Sqrt2By2
	ZL2b= (R1) * Sqrt2By2
	YL3 = (R2+S) * Sqrt2By2
	ZL3 = (R2+S) * Sqrt2By2
	YL3b= (R2) * Sqrt2By2
	ZL3b= (R2) * Sqrt2By2
	#
	v0 = geompy.MakeVertex(X[0],  YL1, ZL1)
	v0a= geompy.MakeVertex(X[0],  YL2, ZL2)
	v0b= geompy.MakeVertex(X[0],  YL2b, ZL2b)
	v1 = geompy.MakeVertex(X[1],  YL1, ZL1)
	v1a= geompy.MakeVertex(X[1],  YL2, ZL2)
	v2 = geompy.MakeVertex(X[2],  YL1, ZL1)
	v2a= geompy.MakeVertex(X[2],  YL3, ZL3)
	v2b= geompy.MakeVertex(X[2],  YL3b, ZL3b)
	v3 = geompy.MakeVertex(X[3],  YL1, ZL1)
	v4 = geompy.MakeVertex(X[4],  YL1, ZL1)
	v5 = geompy.MakeVertex(X[5],  YL1, ZL1)
	v6 = geompy.MakeVertex(X[6],  YL1, ZL1)
	#
	Edge_L1 = edgeSelect.EdgeOnEnds (aInjGeom, v0, v1, aTol)
	Edge_L1a= edgeSelect.EdgeOnEnds (aInjGeom, v0a,v1a,aTol)
	Edge_L2a= edgeSelect.EdgeOnEnds (aInjGeom, v1a,v2a,aTol)
	Edge_L2 = edgeSelect.EdgeOnEnds (aInjGeom, v1, v2, aTol)
	Edge_L3 = edgeSelect.EdgeOnEnds (aInjGeom, v2, v3, aTol)
	Edge_L4 = edgeSelect.EdgeOnEnds (aInjGeom, v3, v4, aTol)
	Edge_L5 = edgeSelect.EdgeOnEnds (aInjGeom, v4, v5, aTol)
	Edge_L6 = edgeSelect.EdgeOnEnds (aInjGeom, v5, v6, aTol)
	#
	Edge_L1_Group = geompy.CreateGroup(aInjGeom, geompy.ShapeType["EDGE"])
	Edge_L1_ID    = geompy.GetSubShapeID(aInjGeom, Edge_L1)
	geompy.AddObject(Edge_L1_Group, Edge_L1_ID)
	geompy.addToStudyInFather(aInjGeom,Edge_L1_Group,"LE1")
	#
	Edge_L1a_Group = geompy.CreateGroup(aInjGeom, geompy.ShapeType["EDGE"])
	Edge_L1a_ID   = geompy.GetSubShapeID(aInjGeom, Edge_L1a)
	geompy.AddObject(Edge_L1a_Group, Edge_L1a_ID)
	geompy.addToStudyInFather(aInjGeom,Edge_L1a_Group,"LE1a")
	#
	Edge_L2_Group = geompy.CreateGroup(aInjGeom, geompy.ShapeType["EDGE"])
	Edge_L2_ID    = geompy.GetSubShapeID(aInjGeom, Edge_L2)
	geompy.AddObject(Edge_L2_Group, Edge_L2_ID)
	geompy.addToStudyInFather(aInjGeom,Edge_L2_Group,"LE2")
	#
	Edge_L2a_Group = geompy.CreateGroup(aInjGeom, geompy.ShapeType["EDGE"])
	Edge_L2a_ID   = geompy.GetSubShapeID(aInjGeom, Edge_L2a)
	geompy.AddObject(Edge_L2a_Group, Edge_L2a_ID)
	geompy.addToStudyInFather(aInjGeom,Edge_L2a_Group,"LE2a")
	#
	Edge_L3_Group = geompy.CreateGroup(aInjGeom, geompy.ShapeType["EDGE"])
	Edge_L3_ID    = geompy.GetSubShapeID(aInjGeom, Edge_L3)
	geompy.AddObject(Edge_L3_Group, Edge_L3_ID)
	geompy.addToStudyInFather(aInjGeom,Edge_L3_Group,"LE3")
	#
	Edge_L4_Group = geompy.CreateGroup(aInjGeom, geompy.ShapeType["EDGE"])
	Edge_L4_ID    = geompy.GetSubShapeID(aInjGeom, Edge_L4)
	geompy.AddObject(Edge_L4_Group, Edge_L4_ID)
	geompy.addToStudyInFather(aInjGeom,Edge_L4_Group,"LE4")
	#
	Edge_L5_Group = geompy.CreateGroup(aInjGeom, geompy.ShapeType["EDGE"])
	Edge_L5_ID    = geompy.GetSubShapeID(aInjGeom, Edge_L5)
	geompy.AddObject(Edge_L5_Group, Edge_L5_ID)
	geompy.addToStudyInFather(aInjGeom,Edge_L5_Group,"LE5")
	#
	Edge_L6_Group = geompy.CreateGroup(aInjGeom, geompy.ShapeType["EDGE"])
	Edge_L6_ID    = geompy.GetSubShapeID(aInjGeom, Edge_L6)
	geompy.AddObject(Edge_L6_Group, Edge_L6_ID)
	geompy.addToStudyInFather(aInjGeom,Edge_L6_Group,"LE6")
	#
	YL5 = R2 * 0.5
	ZL5 = 0.0
	YL6 = -R2 * 0.5
	ZL6 = 0.0
	YL7 = YL5 * Sqrt2By2
	ZL7 = YL7
	YL8 = YL6 * Sqrt2By2
	ZL8 = YL7
	#
	v7       = geompy.MakeVertex(X[0], YL5, ZL5)
	v8       = geompy.MakeVertex(X[0], YL7, ZL7)
	v9       = geompy.MakeVertex(X[0], YL6, ZL6)
	v10      = geompy.MakeVertex(X[0], YL8, ZL8)
	#
	Edge_A11 = edgeSelect.EdgeOnEnds (aInjGeom, v7, v8, aTol)
	Edge_A12 = edgeSelect.EdgeOnEnds (aInjGeom, v9, v10, aTol)
	Edge_A2  = edgeSelect.EdgeOnEnds (aInjGeom, v8, v10, aTol)
	#
	Edge_A1_Group = geompy.CreateGroup(aInjGeom, geompy.ShapeType["EDGE"])
	Edge_A11_ID    = geompy.GetSubShapeID(aInjGeom, Edge_A11)
	Edge_A12_ID    = geompy.GetSubShapeID(aInjGeom, Edge_A12)
	geompy.AddObject(Edge_A1_Group, Edge_A11_ID)
	geompy.AddObject(Edge_A1_Group, Edge_A12_ID)
	geompy.addToStudyInFather(aInjGeom,Edge_A1_Group,"AE1")
	#
	Edge_A2_Group = geompy.CreateGroup(aInjGeom, geompy.ShapeType["EDGE"])
	Edge_A2_ID    = geompy.GetSubShapeID(aInjGeom, Edge_A2)
	geompy.AddObject(Edge_A2_Group, Edge_A2_ID)
	geompy.addToStudyInFather(aInjGeom,Edge_A2_Group,"AE2")
	#
	Edge_R1 = edgeSelect.EdgeOnEnds (aInjGeom, v8, v0b, aTol)
	Edge_R2 = edgeSelect.EdgeOnEnds (aInjGeom, v2a,v2b,aTol)
	#
	Edge_R1_Group = geompy.CreateGroup(aInjGeom, geompy.ShapeType["EDGE"])
	Edge_R1_ID    = geompy.GetSubShapeID(aInjGeom, Edge_R1)
	geompy.AddObject(Edge_R1_Group, Edge_R1_ID)
	geompy.addToStudyInFather(aInjGeom,Edge_R1_Group,"RE1")
	#
	Edge_R2_Group = geompy.CreateGroup(aInjGeom, geompy.ShapeType["EDGE"])
	Edge_R2_ID    = geompy.GetSubShapeID(aInjGeom, Edge_R2)
	geompy.AddObject(Edge_R2_Group, Edge_R2_ID)
	geompy.addToStudyInFather(aInjGeom,Edge_R2_Group,"RE2")
	#	
	subMeshEdges  = [Edge_L1_Group, Edge_L1a_Group,
			 Edge_L2_Group, Edge_L2a_Group,
			 Edge_L3_Group, Edge_L4_Group,
			 Edge_L5_Group, Edge_L6_Group,
			 Edge_A1_Group, Edge_A2_Group,
			 Edge_R1_Group, Edge_R2_Group]
	return subMeshEdges