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)
Lpieza=500 #longitud de pilar a representar #planos escala=1 #escala para generar planos #****Fin datos**** #Perfil pilar ptoIni=Base.Vector(0,0,ePlaca) ptoFin=Base.Vector(0,0,ePlaca+Lpieza) perfil=tipoPerfil tamPerfil=idPerfil incrIni=0 incrFin=0 giroSec=0 pilar=Metalicas.barra2Ptos(ptoIni,ptoFin,perfil,tamPerfil,incrIni,incrFin,giroSec) pieza=pilar #Placa base vOrigenL=Base.Vector(xminPlaca,yminPlaca,0) vDirXL=Base.Vector(1,0,0) vDirYL=Base.Vector(0,1,0) vDirZL=Base.Vector(0,0,1) listaCoordL=[[0,0],[dimXPlaca,0],[dimXPlaca,dimYPlaca],[0,dimYPlaca]] altura=ePlaca placa=Geometria3D.prismaSCgen(vOrigenL,vDirXL,vDirYL,vDirZL,listaCoordL,altura) pieza=pieza.fuse(placa) #Soldaduras ##de alas pieza1=pieza
#general Lpieza=1000 #longitud (dirección Y) del conjunto a representar #planos escala=1 #escala para generar planos #****Fin datos**** #Perfiles ptoIni=Base.Vector(0,-Lpieza/2,0) ptoFin=Base.Vector(0,0,0) perfil=tipoPerfil tamPerfil=idPerfil incrIni=0 incrFin=-holguraJunta/2 giroSec=0 corr1=Metalicas.barra2Ptos(ptoIni,ptoFin,perfil,tamPerfil,incrIni,incrFin,giroSec) pieza=corr1 ptoIni=Base.Vector(0,0,0) ptoFin=Base.Vector(0,Lpieza/2,0) perfil=tipoPerfil tamPerfil=idPerfil incrIni=-holguraJunta/2 incrFin=0 giroSec=0 corr2=Metalicas.barra2Ptos(ptoIni,ptoFin,perfil,tamPerfil,incrIni,incrFin,giroSec) pieza=pieza.fuse(corr2) #Cubrejuntas ala superior vOrigenL=Base.Vector(0,0,cantoPerfil/2) vDirXL=Base.Vector(1,0,0) vDirYL=Base.Vector(0,1,0) vDirZL=Base.Vector(0,0,1)
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))
#general LPilar=1000 #longitud (dirección Z) del pilar LVAtado=750 #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 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
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
#general Lpilar=1500 #longitud de pilar a representar #planos escala=1 #escala para generar planos #****Fin datos**** #Perfil pilar ptoIni=Base.Vector(0,0,ePlaca) ptoFin=Base.Vector(0,0,ePlaca+Lpilar) perfil=tipoPerfil tamPerfil=idPerfil incrIni=0 incrFin=0 giroSec=0 pilar=Metalicas.barra2Ptos(ptoIni,ptoFin,perfil,tamPerfil,incrIni,incrFin,giroSec) pieza=pilar #Placa base vOrigenL=Base.Vector(xminPlaca,yminPlaca,0) vDirXL=Base.Vector(1,0,0) vDirYL=Base.Vector(0,1,0) vDirZL=Base.Vector(0,0,1) listaCoordL=[[0,0],[dimXPlaca,0],[dimXPlaca,dimYPlaca],[0,dimYPlaca]] altura=ePlaca placa=Geometria3D.prismaSCgen(vOrigenL,vDirXL,vDirYL,vDirZL,listaCoordL,altura) pieza=pieza.fuse(placa) #Agujeros en placa base vOrigenL=Base.Vector(xminAg,yminAg,0)
LMensula=550 #longitud de la ménsula erigAlaMens=25 #espesor de los rigidizadores a disponer en el pilar #en prolongación de las alas de la ménsula erigCierrMens=19 #espesor del rigidizador de cierre 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
LDiag=800 #longitud de la diagonal a representar #planos escala=1 #escala para generar planos #****Fin datos**** #Dibujo de la diagonal alfarad=math.radians(alfa) #ángulo alfa en radianes ptoIni=Base.Vector(espCartela+cdgDiag,-LDiag*math.sin(alfarad),-LDiag*math.cos(alfarad)) ptoFin=Base.Vector(espCartela+cdgDiag,0,0) perfil=tipoPerfilDiag tamPerfil=idPerfilDiag incrIni=0 incrFin=0 giroSec=90 diag=Metalicas.barra2Ptos(ptoIni,ptoFin,perfil,tamPerfil,incrIni,incrFin,giroSec) pieza=diag #Part.show(pieza) #Dibujo de la cartela P1=Base.Vector(0,YCartela,ZCartela) aux1=2.5*ladoDiag*math.cos(alfarad)-cdgDiag*math.sin(alfarad) aux2=1.75*ladoDiag*math.cos(alfarad)+(ladoDiag-cdgDiag)*math.sin(alfarad) if aux1 > aux2: Z1=aux1 else: Z1=aux2 aux3=ladoDiag-cdgDiag Y1=Z1*math.tan(alfarad)
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