#Agujeros en ala inferior vOrigenL=Base.Vector(0,0,-cantoPerfil/2-espCubrejAlas) vDirXL=Base.Vector(1,0,0) vDirYL=Base.Vector(0,1,0) vDirZL=Base.Vector(0,0,1) listaCoordCentrosL=[] diametro=fiAgujAlas altura=espCubrejAlas+eAlaPerfil xLinic=-math.fsum(dXFilasTAla)/2 yLinic=-math.fsum(dYFilasTAla)/2 for i in range(0,nXFilasTAla): for j in range (0,nYFilasTAla): centro=[xLinic+math.fsum(dXFilasTAla[0:i]),yLinic+math.fsum(dYFilasTAla[0:j])] listaCoordCentrosL.append(centro) agujAlaInf=Geometria3D.conjCilindSCgen(vOrigenL,vDirXL,vDirYL,vDirZL,listaCoordCentrosL,diametro,altura) pieza=pieza.cut(agujAlaInf) #Agujeros en ala superior vOrigenL=Base.Vector(0,0,cantoPerfil/2+espCubrejAlas) vDirXL=Base.Vector(1,0,0) vDirYL=Base.Vector(0,1,0) vDirZL=Base.Vector(0,0,-1) listaCoordCentrosL=[] diametro=fiAgujAlas altura=espCubrejAlas+eAlaPerfil xLinic=-math.fsum(dXFilasTAla)/2 yLinic=-math.fsum(dYFilasTAla)/2 for i in range(0,nXFilasTAla): for j in range (0,nYFilasTAla): centro=[xLinic+math.fsum(dXFilasTAla[0:i]),yLinic+math.fsum(dYFilasTAla[0:j])]
pieza=pieza.fuse(sold) #Agujeros en placa base vOrigenL=Base.Vector(xminAg,yminAg,0) vDirXL=Base.Vector(1,0,0) vDirYL=Base.Vector(0,1,0) vDirZL=Base.Vector(0,0,1) listaCoordCentrosL=[] diametro=fiAguj altura=ePlaca xLinic=0 yLinic=0 for i in range(0,nXFilasAg): for j in range (0,nYFilasAg): centro=[xLinic+math.fsum(dXFilasAg[0:i]),yLinic+math.fsum(dYFilasAg[0:j])] listaCoordCentrosL.append(centro) aguj=Geometria3D.conjCilindSCgen(vOrigenL,vDirXL,vDirYL,vDirZL,listaCoordCentrosL,diametro,altura) pieza=pieza.cut(aguj) #****Representación en planos Pieza=FreeCAD.ActiveDocument.addObject("Part::Feature","Pieza") Pieza.Shape=pieza FreeCADGui.Selection.addSelection(Pieza) Geometria3D.vistasIsom(App,escala,Pieza) ocultas='s' Geometria3D.vistaPlanta(App,escala,Pieza,ocultas,'Sup') Geometria3D.vistaFront(App,escala,Pieza,ocultas,'Ant') Geometria3D.vistaLat(App,escala,Pieza,ocultas,'Izq')