LPilar=850 #longitud (dirección Z) del pilar LVAtado1=500 #longitud (dirección X) de la viga riostra a representar LVAtado2=600 #longitud (dirección X) de la viga riostra a representar #planos escala=1 #escala para generar planos #****Fin datos**** #Pilar ptoIni=Base.Vector(0,0,-LPilar) ptoFin=Base.Vector(0,0,LPilar) perfil=tipoPerfilPilar tamPerfil=idPerfilPilar incrIni=0 incrFin=0 giroSec=0 pilar=Metalicas.barra2Ptos(ptoIni,ptoFin,perfil,tamPerfil,incrIni,incrFin,giroSec) pieza=pilar #Viga de atado 1 vectorDir=Base.Vector(-1,0,0) hRig=cantoPerfilVAtado1-2*eRigAla espesorRig=eRigAlma hAcuerdRig=hAcuerdRAlma signoRigPosNeg='Pos' vat=Metalicas.VatSoldAlmPilarCart(vectorDir,anchoPerfilPilar,eAlmaPerfilPilar,holgAlaPilarVAtado1,LVAtado1,tipoPerfilVAtado1,idPerfilVAtado1,eAlmaPerfilVAtado1,solapeRigAlmaV,hRig,espesorRig,hAcuerdRig,signoRigPosNeg) pieza=pieza.fuse(vat) #Viga de atado 2 vectorDir=Base.Vector(0,1,0) vat=Metalicas.VatSoldAlaPilar(vectorDir,cantoPerfilPilar,LVAtado2,tipoPerfilVAtado2,idPerfilVAtado2) pieza=pieza.fuse(vat)
pilar = pilar.cut(placaCabPilar) # Part.show(pilar) # listaCoordAgujL=[[-distAgXPAB/2,-distAgYPAB/2],[distAgXPAB/2,-distAgYPAB/2],[distAgXPAB/2,distAgYPAB/2],[-distAgXPAB/2,distAgYPAB/2]] # placa=Metalicas.chapaAgSCgen(centroPlaca,vDirXL,vDirYL,vDirZL,listaCoordChapaL,listaCoordAgujL,dimZPAB,diamAgPAB) # Dibujo de la bayoneta ptoIni = Base.Vector(0, -distYejesBY / 2, dimZPilar) ptoFin = ptoIni.add(Base.Vector(0, 0, dimZBay)) perfil = tipoPerfilBY tamPerfil = idPerfilBY incrIni = 0 incrFin = 0 giroSec = 0 bayonet = Metalicas.barra2Ptos(ptoIni, ptoFin, perfil, tamPerfil, incrIni, incrFin, giroSec) ptoFinBY = ptoFin # Dibujo de la viga de cubierta ptoIni = ptoFinBY ptoFin = ptoIni.add(Base.Vector(0, distYejesBY / 2, distYejesBY / 2 * pteCub)) perfil = tipoPerfilVC tamPerfil = idPerfilVC incrIni = vueloCub incrFin = cantoVC giroSec = 0 vigaCub = Metalicas.barra2Ptos(ptoIni, ptoFin, perfil, tamPerfil, incrIni, incrFin, giroSec) ptoCumbera = ptoFin # Volumen auxiliar para recortar otros por la cara inferior de la viga de cubierta vOrigenL = ptoFinBY.add(Base.Vector(-5e3, 0, 0))
LMensula = 550 # longitud de la ménsula erigAlaMens = 19 # espesor de los rigidizadores a disponer en el pilar # en prolongación de las alas de la ménsula # ****Fin datos**** # Pilar ptoIni = Base.Vector(0, 0, -LPilar) ptoFin = Base.Vector(0, 0, LPilar) perfil = tipoPerfilPilar tamPerfil = idPerfilPilar incrIni = 0 incrFin = 0 giroSec = 0 pilar = Metalicas.barra2Ptos(ptoIni, ptoFin, perfil, tamPerfil, incrIni, incrFin, giroSec) pieza = pilar # Viga de atado ptoIni = Base.Vector(anchoPerfilPilar / 2.0 + holgAlaPilarVAtado, 0, 0) ptoFin = Base.Vector(LVAtado, 0, 0) perfil = tipoPerfilVAtado tamPerfil = idPerfilVAtado incrIni = 0 incrFin = 0 giroSec = 0 vatado = Metalicas.barra2Ptos(ptoIni, ptoFin, perfil, tamPerfil, incrIni, incrFin, giroSec) pieza = pieza.fuse(vatado) ptoIni = Geometria3D.simYZPto(ptoIni) ptoFin = Geometria3D.simYZPto(ptoFin) perfil = tipoPerfilVAtado
hipotCorteD=cantoPerfilArrD+2*holguraCart #hipotenusa del corte en el lado drcho. de la cartela zCorteD=hipotCorteD*math.sin(alfaDrad) #altura del corte en el lado drcho. de la cartela yCorteD=hipotCorteD*math.cos(alfaDrad) #base del corte en el lado drcho. de la cartela bCartI=(cantoPerfilViga/2+hCart-zCorteI/2)/pteArrI+yCorteI/2 bCartD=(cantoPerfilViga/2+hCart-zCorteD/2)/pteArrD+yCorteD/2 PtoCorteEjeI=Base.Vector(0,-(bCartI-yCorteI/2.0),-(cantoPerfilViga/2.0+hCart-zCorteI/2.0)) PtoCorteEjeD=Base.Vector(0,bCartD-yCorteD/2.0,-(cantoPerfilViga/2+hCart-zCorteD/2.0)) #Viga ptoIni=Base.Vector(0,-LViga,0) ptoFin=Base.Vector(0,LViga,0) perfil=tipoPerfilViga tamPerfil=idPerfilViga incrIni=0 incrFin=0 giroSec=0 viga=Metalicas.barra2Ptos(ptoIni,ptoFin,perfil,tamPerfil,incrIni,incrFin,giroSec) pieza=viga #Cartela vOrigenL=Base.Vector(-eCart/2.0,0,-cantoPerfilViga/2.0) vDirXL=Base.Vector(0,1,0) vDirYL=Base.Vector(0,0,-1) vDirZL=Base.Vector(1,0,0) listaCoordChapaL=[[-bCartI,0],[-bCartI,hCart-zCorteI],[-(bCartI-yCorteI),hCart],[bCartD-yCorteD,hCart],[bCartD,hCart-zCorteD],[bCartD,0]] listaCoordAgujL=[] espesorChapa=eCart diamAguj=0 cartela=Metalicas.chapaAgSCgen(vOrigenL,vDirXL,vDirYL,vDirZL,listaCoordChapaL,listaCoordAgujL,espesorChapa,diamAguj) pieza=pieza.fuse(cartela) #Arriostramiento izquierdo
LVRiost=500 #longitud (dirección X) de la viga riostra a representar #planos escala=1 #escala para generar planos #****Fin datos**** #Vigas pórtico ptoIni=Base.Vector(0,-LVPort,-LVPort*ptePort) ptoFin=Base.Vector(0,0,0) perfil=tipoPerfilVPort tamPerfil=idPerfilVPort incrIni=0 incrFin=LVPort giroSec=0 vport=Metalicas.barra2Ptos(ptoIni,ptoFin,perfil,tamPerfil,incrIni,incrFin,giroSec) aux=Part.makeBox(2*cantoPerfilVPort,2*cantoPerfilVPort,2*cantoPerfilVPort,Base.Vector(-cantoPerfilVPort,0,-cantoPerfilVPort)) pieza=vport.cut(aux) vport.rotate(Base.Vector(0,0,0),Base.Vector(0,0,1),180) aux.rotate(Base.Vector(0,0,0),Base.Vector(0,0,1),180) vport2=vport.cut(aux) pieza=pieza.fuse(vport2) #Viga riostra ptoIni=Base.Vector(eAlmaPerfilVPort/2,0,0) ptoFin=Base.Vector(LVRiost,0,0) perfil=tipoPerfilVRiost tamPerfil=idPerfilVRiost incrIni=0 incrFin=0 giroSec=0
LVprinc=1000 #longitud (dirección Y) de la viga principal a representar LVsec=500 #longitud (dirección X) de la viga principal a representar #planos escala=1 #escala para generar planos #****Fin datos**** #Viga principal ptoIni=Base.Vector(0,-LVprinc/2,0) ptoFin=Base.Vector(0,LVprinc/2,0) perfil=tipoPerfilVPrinc tamPerfil=idPerfilVPrinc incrIni=0 incrFin=0 giroSec=0 vprinc=Metalicas.barra2Ptos(ptoIni,ptoFin,perfil,tamPerfil,incrIni,incrFin,giroSec) pieza=vprinc #Viga secundaria ptoIni=Base.Vector(eAlmaPerfilVPrinc/2,0,0) ptoFin=Base.Vector(LVsec,0,0) perfil=tipoPerfilVSec tamPerfil=idPerfilVSec incrIni=0 incrFin=0 giroSec=0 vsec=Metalicas.barra2Ptos(ptoIni,ptoFin,perfil,tamPerfil,incrIni,incrFin,giroSec) pieza=pieza.fuse(vsec) #Casquillos de angular ptoIni=Base.Vector(eAlmaPerfilVPrinc/2+dcdgCasq,eAlmaPerfilVSec/2+dcdgCasq,-dimZCasq/2) ptoFin=Base.Vector(eAlmaPerfilVPrinc/2+dcdgCasq,eAlmaPerfilVSec/2+dcdgCasq,dimZCasq/2) perfil=tipoPerfilCasq