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)
예제 #2
0
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
예제 #5
0
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