《浅基础工程及程序设计》丁继辉程序代码 第二章.docx
- 文档编号:6935107
- 上传时间:2023-01-12
- 格式:DOCX
- 页数:13
- 大小:18.38KB
《浅基础工程及程序设计》丁继辉程序代码 第二章.docx
《《浅基础工程及程序设计》丁继辉程序代码 第二章.docx》由会员分享,可在线阅读,更多相关《《浅基础工程及程序设计》丁继辉程序代码 第二章.docx(13页珍藏版)》请在冰豆网上搜索。
《浅基础工程及程序设计》丁继辉程序代码第二章
2.8源程序代码
本章扩展基础结构设计计算工程主要包括3个窗体,2个模块。
主界面及两个模块的程序代码与第一章基本一致,这里主要给出墙下条形基础配筋及柱下独立基础配筋计算的主要程序代码。
2.8.1墙下条形基础配筋计算源程序代码
DimBwide'基础宽度
DimFload'荷载N(kN/m)
DimMshot'短边方向弯矩值
DimFcYshj'混凝土轴心抗压强度设计值
DimFkTshj'混凝抗拉强度设计值
DimFkyGshj'钢筋抗拉强度设计值
DimQiangHou'墙厚度
DimHbaohc'混凝土保护层厚度(m)
DimDgangjin'钢筋直径(mm)
PrivateSubTianJiaPeij()'将文本框的输入参数赋于变量
Bwide=Val(Text(0).Text)'基础宽度
Fload=Val(Text
(1).Text)'荷载N(kN/m)
Mshot=Val(Text
(2).Text)'短边方向弯矩值
FcYshj=Val(Text(3).Text)'混凝土轴心抗压强度设计值
FkTshj=Val(Text(4).Text)'混凝抗拉强度设计值
FkyGshj=Val(Text(5).Text)'钢筋抗拉强度设计值
QiangHou=Val(Text(6).Text)'墙厚度
Hbaohc=Val(Text(7).Text)'混凝土保护层厚度(m)
Dgangjin=Val(Text(8).Text)'钢筋直径(mm)
EndSub
PrivateSubCmdClear_Click()
List1.Clear
EndSub
PrivateSubCommand1_Click()
Me.Hide
EndSub
PrivateSubCommand2_Click()
CallTianJiaPeij
H0xiao=Val(Text4.Text)
Hjichu=Val(Text5.Text)
List1.AddItem("考虑基础构造要求后实际基础高度h(m)"&"h="&Format(Hjichu,"0.00"))
List1.AddItem("考虑基础构造要求后实际基础有效高度h0(m)"&"h0="&Format(H0xiao,"0.00"))
'条形基础底面的地基净反力计算
Pjmax=Fload/Bwide+6*Mshot/Bwide^2
Pjmin=Fload/Bwide-6*Mshot/Bwide^2
'截面1至基础边缘距离
b1=(Bwide-QiangHou)/2
'截面的剪力设计值
IfBwide=0Then
V1=b1/Bwide*Fload
Else
V1=b1/(2*Bwide)*((2*Bwide-b1)*Pjmax+b1*Pjmin)
EndIf
'基础底板的配筋
'基础验算截面的弯矩设计值(mm^2)
M1shj=V1*b1/2
List1.AddItem("悬臂根部的最大弯矩M(kN·m)"&"M="&Format(M1shj,"0.00"))
'每米墙长的受力钢筋截面面积:
Asi=M1shj/(0.9*FkyGshj*H0xiao)*10^6
List1.AddItem("每米墙长的受力钢筋截面面积mm^2"&"As="&Format(Asi,"0.00"))
'受力钢筋根数
Ngangjin=Int(Asi/(3.14*(Dgangjin/2)^2))+1
List1.AddItem("每米墙长的受力钢筋数"&"N="&Format(Ngangjin,"0.00"))
'实际受力钢筋面积
Asishiji=3.14*(Dgangjin/2)^2*Ngangjin
List1.AddItem("实际受力钢筋截面面积mm^2"&"As="&Format(Asishiji,"0.00"))
'受力钢筋间距
GJjianju=(Bwide-2*Hbaohc)*1000/Ngangjin-Dgangjin
List1.AddItem("实际受力钢筋间距"&"GJjianu="&Format(GJjianju,"0.00"))
ExitSub
CUOWUCHULI:
MsgBox"数据输入有误,不能得出结果",vbExclamation
EndSub
PrivateSubCommand4_Click()
CallTianJiaPeij
'条形基础底面的地基净反力计算
Pjmax=Fload/Bwide+6*Mshot/Bwide^2
Pjmin=Fload/Bwide-6*Mshot/Bwide^2
List1.AddItem("条形基础底面地基净反力最大值Pjmax(kPa)"&"Pjmax="&Format(Pjmax,"0.00"))
List1.AddItem("条形基础底面地基净反力最小值Pjmin(kPa)"&"Pjmin="&Format(Pjmin,"0.00"))
'截面1至基础边缘距离
b1=(Bwide-QiangHou)/2
List1.AddItem("截面1至基础边缘距离b1(m)"&"b1="&Format(b1,"0.00"))
'截面的剪力设计值
IfBwide=0Then
V1=b1/Bwide*Fload
Else
V1=b1/(2*Bwide)*((2*Bwide-b1)*Pjmax+b1*Pjmin)
EndIf
List1.AddItem("截面Ⅰ处的剪力值V1(kN/m)"&"V1="&Format(V1,"0.00"))
'计算基础有效高度h0由混凝土抗剪切条件确定
H0xiao=V1/(0.07*FcYshj)
List1.AddItem("由混凝土抗剪切条件计算基础有效高度h0(m)"&"h0="&Format(H0xiao,"0.00"))
Text4.Text=Format(H0xiao,"0.00")
'计算基础高度
Hjichu=H0xiao+Hbaohc
Text5.Text=Format(Hjichu,"0.00")
List1.AddItem("计算高度h(m)"&"h="&Format(Hjichu,"0.00"))
MsgBox"根据构造要求确定基础尺寸。
边缘高度大大于等于200mm!
",vbQuestion
EndSub
PrivateSubForm_QueryUnload(CancelAsInteger,UnloadModeAsInteger)
Me.Hide'在一般的情况下,关闭窗体并没有真正的关闭
'只是将窗体隐藏起来,因为窗体上的数据还需要用
'只有当在代码中关闭窗体时,才会真正的关闭一个窗体
IfNotUnloadMode=vbFormOwnerAndNotUnloadMode=vbFormCodeThen
Cancel=True
Else
Cancel=False
EndIf
EndSub
2.8.2柱下独立基础配筋计算源程序代码
DimFload,Bwide,Llong,Mshot,Mlong
DimBczhu,Lczhu,H0xiao,FcYshj,FkTshj,FkyGshjL,DgangjinL
DimFkyGshjB,DgangjinB,BeiA1,BeiT,BeiH1,BeiH2,BhcH,Pjmax,Pjmin
DimBt,Bb,Bm,Fl,Fqiangdu,M11,M22,NgangjinL,NgangjinB
DimAs11,As22,JichuH0,AsShejiL,AsShejiB
DimBbian1,Abian1,H0bian1,Bbian2,Abian2,H0bian2
DimBbian3,Abian3,H0bian3,M11Bian1,M22Bian1
DimM11Bian2,M22Bian2,M11Bian3,M22Bian3,FqiangduBian3
DimFlBian1,FlBian2,FlBian3,FqiangduBian1,FqiangduBian2
PrivateSubCommand1_Click()
Me.Hide
EndSub
PrivateSubTianJiaBianL()'将文本框的输入参数赋于变量
Bwide=Val(Text(0).Text)'荷载N(kN/m)
Llong=Val(Text
(1).Text)'基础宽度
Fload=Val(Text
(2).Text)'基础长度
Mshot=Val(Text(3).Text)'短边方向弯矩值
Mlong=Val(Text(4).Text)'长边方向弯矩值
Bczhu=Val(Text(5).Text)'柱截面短边长度
Lczhu=Val(Text(6).Text)'柱截面长边长度
H0xiao=Val(Text(7).Text)'冲切破坏锥体的有效高度(m)
FcYshj=Val(Text(8).Text)'混凝土轴心抗压强度设计值
FkTshj=Val(Text(9).Text)'混凝抗拉强度设计值
FkyGshjL=Val(Text(10).Text)'钢筋抗拉强度设计值
DgangjinL=Val(Text(11).Text)'长边L方向受力钢筋直径(mm)
FkyGshjB=Val(Text(12).Text)'短边B方向钢筋抗拉强度设计值fy(kPa)
DgangjinB=Val(Text(13).Text)'短边B方向受力钢筋直径(mm)
IfOption5.Value=TrueOrOption5.Value=TrueThen
BeiA1=Val(Text4.Text)'杯底厚度a1(mm)
BeiT=Val(Text5.Text)'杯底厚度t(mm)
BeiH1=Val(Text7.Text)'按构造确定杯口基础尺寸h1(mm)
BeiH2=Val(Text8.Text)'按构造确定杯口基础尺寸h2(mm)
EndIf
IfOption7.Value=TrueThen'一阶
Bbian1=Val(Text9.Text)
Abian1=Val(Text10.Text)
H0bian1=Val(Text11.Text)
EndIf
IfOption8.Value=TrueThen'二阶
Bbian1=Val(Text9.Text)
Abian1=Val(Text10.Text)
H0bian1=Val(Text11.Text)
Bbian2=Val(Text12.Text)
Abian2=Val(Text13.Text)
H0bian2=Val(Text14.Text)
EndIf
IfOption9.Value=TrueThen'三阶
Bbian1=Val(Text9.Text)
Abian1=Val(Text10.Text)
H0bian1=Val(Text11.Text)
Bbian2=Val(Text12.Text)
Abian2=Val(Text13.Text)
H0bian2=Val(Text14.Text)
Bbian3=Val(Text15.Text)
Abian3=Val(Text16.Text)
H0bian3=Val(Text17.Text)
EndIf
EndSub
PrivateSubCommand2_Click()
CallTianJiaBianL
'1.基础高度及变阶处高度的确定
IfOption4.Value=TrueOrOption5.Value=TrueThen
BhcH=50/1000
JichuH0=BeiH1/1000+BeiA1/1000+BhcH
List1.AddItem("基础高度H0(m)"&"H0="&Format(JichuH0,"0.00"))
List1.AddItem("杯底厚度t(mm)"&"t="&Format(BeiT,"0.00"))
EndIf
'基底净反力计算
CallPnmaxnmin(Fload,Llong,Bwide,Pjmax,Pjmin,Mshot,Mlong)
List1.AddItem("基底净反力最大值Pjmax(kPa)"&"Pjmax="&Format(Pjmax,"0.00"))
List1.AddItem("基底净反力最小值Pjmin(kPa)"&"Pjmin="&Format(Pjmin,"0.00"))
'
(1)柱与基础交接处的冲切强度验算
'Bt'冲切破坏锥体斜截面的上边长(m)
'Bm'冲切破坏锥体斜截面的下边长(m)
Bt=Bczhu
Bb=Bczhu+2#*H0xiao
Bm=(Bt+Bb)/2
IfBwide Fl=Pjmax*(Llong/2-Lczhu/2-H0xiao)*Bwide Else Fl=Pjmax*((Llong/2-Lczhu/2-H0xiao)*Bwide-(Bwide/2-Bczhu/2-H0xiao)^2) EndIf List1.AddItem("柱与基础交接处的冲切力(kN)"&"Fl="&Format(Fl,"0.00")) Fqiangdu=0.6*FkTshj*Bm*H0xiao List1.AddItem("柱与基础交接处的抗冲切力(kN)"&"Fqiangdu="&Format(Fqiangdu,"0.00")) IfFl List1.AddItem("满足要求") Else MsgBox"重新调整h0后,再进行验算",vbExclamation ExitSub EndIf ' (2)变阶Ⅰ-Ⅰ (1)处的冲切验算 IfOption7.Value=TrueOrOption8.Value=TrueOrOption9.Value=TrueThen Bt=Bbian1 Bb=Bt+2#*H0bian1 Bm=(Bt+Bb)/2 IfBwide FlBian1=Pjmax*(Llong/2-Abian1/2-H0bian1)*Bwide Else FlBian1=Pjmax*((Llong/2-Abian1/2-H0bian1)*-(Bwide/2-Bbian1/2-H0bian1)^2) EndIf List1.AddItem("变阶Ⅰ-Ⅰ (1)处的冲切力(kN)"&"Fl="&Format(FlBian1,"0.00")) FqiangduBian1=0.6*FkTshj*Bm*H0bian1 List1.AddItem("变阶Ⅰ-Ⅰ (1)处的抗冲切力(kN)"&"Fqiangdubian1="&Format(FqiangduBian1,"0.00")) IfFlBian1 List1.AddItem("满足要求") Else MsgBox"重新调整H0bian1后,再进行验算",vbExclamation ExitSub EndIf EndIf '(3)变阶Ⅰ-Ⅰ (2)处的冲切验算 IfOption8.Value=TrueOrOption9.Value=TrueThen Bt=Bbian2 Bb=Bt+2#*H0bian2 Bm=(Bt+Bb)/2 IfBwide FlBian2=Pjmax*(Llong/2-Abian2/2-H0bian2)*Bwide Else FlBian2=Pjmax*((Llong/2-Abian2/2-H0bian2)*-(Bwide/2-Bbian2/2-H0bian2)^2) EndIf List1.AddItem("变阶Ⅰ-Ⅰ (2)处的冲切力(kN)"&"Flbian2="&Format(FlBian2,"0.00")) FqiangduBian2=0.6*FkTshj*Bm*H0bian2 List1.AddItem("变阶Ⅰ-Ⅰ (2)处的抗冲切力(kN)"&"Fqiangdubian2="&Format(FqiangduBian2,"0.00")) IfFlBian2 List1.AddItem("满足要求") Else MsgBox"重新调整H0bian3后,再进行验算",vbExclamation ExitSub EndIf EndIf '(4)变阶Ⅰ-Ⅰ(3)处的冲切验算 IfOption9.Value=TrueThen Bt=Bbian3 Bb=Bt+2#*H0bian3 Bm=(Bt+Bb)/2 IfBwide FlBian3=Pjmax*(Llong/2-Abian3/2-H0bian3)*Bwide Else FlBian3=Pjmax*((Llong/2-Abian3/2-H0bian3)*-(Bwide/2-Bbian3/2-H0bian2)^3) EndIf List1.AddItem("变阶Ⅰ-Ⅰ(3)处的冲切力(kN)"&"Flbian3="&Format(FlBian3,"0.00")) FqiangduBian3=0.6*FkTshj*Bm*H0bian3 List1.AddItem("变阶Ⅰ-Ⅰ(3)处的抗冲切力(kN)"&"Fqiangdubian3="&Format(FqiangduBian3,"0.00")) IfFlBian3 List1.AddItem("满足要求") Else MsgBox"重新调整H0bian3后,再进行验算",vbExclamation ExitSub EndIf EndIf '2底板弯矩及配筋计算 '柱边 '长边L方向 Pj1=Pjmin+(Pjmax-Pjmin)*(Llong-((Llong-Lczhu)/2#))/Llong M11=1/12*((Llong-Lczhu)/2)^2*(2*Bwide+Bczhu)*(Pjmax+Pj1) List1.AddItem("长边L向柱与基础交接处的基底净压力(kPa)"&"Pj1="&Format(Pj1,"0.00")) List1.AddItem("长边L向柱与基础交接处的基底弯矩(kN.m)"&"M11="&Format(M11,"0.00")) '变阶处Ⅰ-Ⅰ (1) IfOption7.Value=TrueOrOption8.Value=TrueOrOption9.Value=TrueThen Pj1bian1=Pjmin+(Pjmax-Pjmin)*(Llong-((Llong-Abian1)/2#))/Llong M11Bian1=1/12*((Llong-Abian1)/2)^2*(2*Bwide+Bbian1)*(Pjmax+Pj1bian1) List1.AddItem("长边L向变阶Ⅰ-Ⅰ (1)处的基底净压力(kPa)"&"Pj1bian1="&Format(Pj1bian1,"0.00")) List1.AddItem("长边L向变阶Ⅰ-Ⅰ (1)处的基底弯矩(kN.m)"&"M11bian1="&Format(M11Bian1,"0.00")) EndIf '变阶处Ⅰ-Ⅰ (2) IfOption8.Value=TrueOrOption9.Value=TrueThen Pj1bian2=Pjmin+(Pjmax-Pjmin)*(Llong-((Llong-Abian2)/2#))/Llong M11Bian2=1/12*((Llong-Abian2)/2)^2*(2*Bwide+Bbian2)*(Pjmax+Pj1bian2) List1.AddItem("长边L向变阶Ⅰ-Ⅰ (2)处的基底净压力(kPa)"&"Pj1bian2="&Format(Pj1bian2,"0.00")) List1.AddItem("长边L向变阶Ⅰ-Ⅰ (2)处的基底弯矩(kN.m)"&"M11bian2="&Format(M11Bian2,"0.00")) EndIf '变阶处Ⅰ-Ⅰ(3) IfOption9.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 浅基础工程及程序设计 浅基础工程及程序设计丁继辉程序代码 第二章 基础 工程 程序设计 丁继辉 程序代码 第二