材料力学程序挠度计算程序说明VB编写.docx

上传人:b****6 文档编号:12543056 上传时间:2023-06-06 格式:DOCX 页数:34 大小:984.62KB
下载 相关 举报
材料力学程序挠度计算程序说明VB编写.docx_第1页
第1页 / 共34页
材料力学程序挠度计算程序说明VB编写.docx_第2页
第2页 / 共34页
材料力学程序挠度计算程序说明VB编写.docx_第3页
第3页 / 共34页
材料力学程序挠度计算程序说明VB编写.docx_第4页
第4页 / 共34页
材料力学程序挠度计算程序说明VB编写.docx_第5页
第5页 / 共34页
材料力学程序挠度计算程序说明VB编写.docx_第6页
第6页 / 共34页
材料力学程序挠度计算程序说明VB编写.docx_第7页
第7页 / 共34页
材料力学程序挠度计算程序说明VB编写.docx_第8页
第8页 / 共34页
材料力学程序挠度计算程序说明VB编写.docx_第9页
第9页 / 共34页
材料力学程序挠度计算程序说明VB编写.docx_第10页
第10页 / 共34页
材料力学程序挠度计算程序说明VB编写.docx_第11页
第11页 / 共34页
材料力学程序挠度计算程序说明VB编写.docx_第12页
第12页 / 共34页
材料力学程序挠度计算程序说明VB编写.docx_第13页
第13页 / 共34页
材料力学程序挠度计算程序说明VB编写.docx_第14页
第14页 / 共34页
材料力学程序挠度计算程序说明VB编写.docx_第15页
第15页 / 共34页
材料力学程序挠度计算程序说明VB编写.docx_第16页
第16页 / 共34页
材料力学程序挠度计算程序说明VB编写.docx_第17页
第17页 / 共34页
材料力学程序挠度计算程序说明VB编写.docx_第18页
第18页 / 共34页
材料力学程序挠度计算程序说明VB编写.docx_第19页
第19页 / 共34页
材料力学程序挠度计算程序说明VB编写.docx_第20页
第20页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

材料力学程序挠度计算程序说明VB编写.docx

《材料力学程序挠度计算程序说明VB编写.docx》由会员分享,可在线阅读,更多相关《材料力学程序挠度计算程序说明VB编写.docx(34页珍藏版)》请在冰点文库上搜索。

材料力学程序挠度计算程序说明VB编写.docx

材料力学程序挠度计算程序说明VB编写

该程序由两个窗体组成,即Form1和Command1。

其中,Form1为启动对象,其代码为OptionExplicit

PrivateSubForm_Click()

Form1.Hide

Command1.Show

EndSub

PrivateSubForm_Load()

Me.AutoRedraw=True

 

EndSub

PrivateSubForm_Paint()

Form_Resize

EndSub

PrivateSubForm_Resize()

Me.PaintPictureMe.Picture,0,0,Me.Width,Me.Height

EndSub

该代码主要实现了去边框和设置大小的作用,设置及启动后如图所示;

Command1为主程序,其代码为

PrivateSubCommand3_Click()

Dimx!

vm!

v!

g!

h!

u1!

u2!

u3!

u4!

u5!

Dimaa(100),bb(100),cc(100),dd(100),vv1(100),vv2(100)AsSingle

Diml,a,e,r,n,mAsSingle

IfCheck1=0Then

Picture1.Cls

EndIf

IfCheck2=0Then

Picture2.Cls

EndIf

Picture4.Cls

Picture3.Cls

l=Text1

a=Val(Combo1.Text)

e=Text3

r=Val(Combo2.Text)

n=Text5

m=Text7

n1=n2=n3=m1=m2=m3=x1=X2=x3=q1=q2=q3=0

If(l>0)And(a=1Ora=2Ora=3)And(e>0)And(r=1Orr=2Orr=3)Then

Picture2.Print"---------------------";vbLf;"长度=";l;"m";vbLf;"支撑类型=";a;vbLf;"截面类型=";r;vbLf;"弹模=";e;"N/m";vbLf;"集中力个数=";n;vbLf;"弯矩个数=";m;vbLf

Else:

Picture4.Print"输入错误!

";vbLf

GoToEnd1

EndIf

If(r=1)Then

r1=InputBox("请输入圆截面直径:

","半径输入")

Ifr1<=0Then

Picture4.Print"输入错误!

";vbLf

GoToEnd1

Else

Picture2.Print"R=";r1;"m";vbLf;

EndIf

I=3.14*r1*r1*r1*r1/64

W=3.14*r1*r1*r1/32

Picture3.Print"计算结果:

";vbLf;

Picture3.Print"梁的惯性矩Iz=";I;"(m*m*m*m)";vbLf;

Picture3.Print"梁的抗弯截面系数W=";W;"(m*m*m)";vbLf;

ElseIf(r=2)Then

r21=InputBox("请输入空心圆截面外径:

","半径输入")

r22=InputBox("请输入空心圆截面内径:

","半径输入")

Ifr21-r22>0Andr21>0Andr22>0Then

Picture2.Print"D=";r21;"m";vbLf;

Picture2.Print"d=";r22;"m";vbLf;

I=3.14*r21*r21*r21*r21*(1-r22*r22*r22*r22/r21/r21/r21/r21)/64

W=3.14*r21*r21*r21*(1-r22*r22*r22*r22/r21/r21/r21/r21)/32

Else

Picture4.Print"输入错误!

";vbLf

GoToEnd1

EndIf

Picture3.Print"计算结果:

";vbLf;

Picture3.Print"梁的惯性矩Iz=";I;"(m*m*m*m)";vbLf;

Picture3.Print"梁的抗弯截面系数W=";W;"(m*m*m)";vbLf;

ElseIf(r=3)Then

r31=InputBox("请输入矩形长b=:

","长度输入")

r32=InputBox("请输入矩形宽h=:

","长度输入")

Ifr31<=0Orr32<=0Then

Picture4.Print"输入错误!

";vbLf

GoToEnd1

Else

Picture2.Print"b=";r31;"m";vbLf;

Picture2.Print"h=";r32;"m";vbLf;

I=r31*r32*r32*r32/12

W=r31*r32*r32/6

EndIf

Picture3.Print"计算结果:

";vbLf;

Picture3.Print"梁的惯性矩Iz=";I;"(m*m*m*m)";vbLf;

Picture3.Print"梁的抗弯截面系数W=";W;"(m*m*m)";vbLf;

EndIf

Ifa=1Then

'载入

aa(0)=0

bb(0)=0

cc(0)=0

dd(0)=0

Forg=1TonStep1

aa(g)=InputBox("请输入第"&g&"个集中力大小:

","集中力输入")

bb(g)=InputBox("请输入第"&g&"个集中力距左端点位置:

","位置输入")

Ifbb(g)-l>0Orbb(g)<0Then

Picture4.Print"输入错误";vbLf

GoToEnd1

EndIf

Picture2.Print"F";g;"=";aa(g);"N";",";

Picture2.Print"X";g;"=";bb(g);"m";vbLf;

Next

Forh=1TomStep1

cc(h)=InputBox("请输入第"&h&"个弯矩大小:

","集中力输入")

dd(h)=InputBox("请输入第"&h&"个弯矩距左端点位置:

","位置输入")

Ifdd(g)-l>0Ordd(g)<0Then

Picture4.Print"输入错误";vbLf

GoToEnd1

EndIf

Picture2.Print"M";h;"=";cc(h);"N*m";","

Picture2.Print"Y";h;"=";dd(h);"m";vbLf;

Next

'载入结束

'计算vm

vm=0

Forx=0TolStep0.001

u3=0

u4=0

Forg=1TonStep1

Ifx-bb(g)<=0Then

u1=-aa(g)*x*x/6/e/I*(3*bb(g)-x)

Else:

u1=-aa(g)*bb(g)*bb(g)/6/e/I*(3*x-bb(g))

EndIf

u3=u3+u1

Next

Forh=1TomStep1

Ifx-dd(h)<=0Then

u2=-cc(h)*x*x/2/e/I

Else:

u2=-cc(h)*dd(h)/e/I*((x-dd(h))+dd(h)/2)

EndIf

u4=u4+u2

Next

u5=u3+u4

IfAbs(u5)-vm>0Then

vm=Abs(u5)

EndIf

Next

Picture3.Print"最大挠度Vm=";vm;"m";

'计算vm结束

'绘图

Ifvm<>0Then

Picture1.Scale(-0.1*l,-2*vm)-(1.1*l,2*vm)

Picture1.Line(0,0)-(l,0)

Picture1.Line(0,-0.5*vm)-(0,0.5*vm)

Forx=0TolStep0.001

u3=0

u4=0

Forg=1TonStep1

Ifx-bb(g)<=0Then

u1=-aa(g)*x*x/6/e/I*(3*bb(g)-x)

Else:

u1=-aa(g)*bb(g)*bb(g)/6/e/I*(3*x-bb(g))

EndIf

u3=u3+u1

Next

Forh=1TomStep1

Ifx-dd(h)<=0Then

u2=-cc(h)*x*x/2/e/I

Else:

u2=-cc(h)*dd(h)/e/I*((x-dd(h))+dd(h)/2)

EndIf

u4=u4+u2

Next

u5=u3+u4

Picture1.PSet(x,u5)

Next

Else

Picture1.Scale(-0.1*l,-2)-(1.1*l,2)

Picture1.Line(0,0)-(l,0)

Picture1.Line(0,-0.5)-(0,0.5)

EndIf

'绘图结束

'''''''''''''''''''''''''''''''''''''''

ElseIfa=2Then

'载入

aa(0)=0

bb(0)=0

cc(0)=0

dd(0)=0

Forg=1TonStep1

aa(g)=InputBox("请输入第"&g&"个集中力大小:

","集中力输入")

bb(g)=InputBox("请输入第"&g&"个集中力距右端点位置:

","位置输入")

Ifbb(g)-l>0Orbb(g)<0Then

Picture4.Print"输入错误";vbLf

GoToEnd1

EndIf

Picture2.Print"F";g;"=";aa(g);"N";",";

Picture2.Print"X";g;"=";bb(g);"m";vbLf;

Next

Forh=1TomStep1

cc(h)=InputBox("请输入第"&h&"个弯矩大小:

","集中力输入")

dd(h)=InputBox("请输入第"&h&"个弯矩距右端点位置:

","位置输入")

Ifdd(g)-l>0Ordd(g)<0Then

Picture4.Print"输入错误";vbLf

GoToEnd1

EndIf

Picture2.Print"M";h;"=";cc(h);"N*m";",";

Picture2.Print"Y";h;"=";dd(h);"m";vbLf;

Next

'载入结束

'计算vm

vm=0

Forx=0TolStep0.001

u3=0

u4=0

Forg=1TonStep1

Ifx<=bb(g)Then

u1=-aa(g)*x*x/6/e/I*(3*bb(g)-x)

Else:

u1=-aa(g)*bb(g)*bb(g)/6/e/I*(3*x-bb(g))

EndIf

u3=u3+u1

Next

Forh=1TomStep1

Ifx<=dd(h)Then

u2=-cc(h)*x*x/2/e/I

Else:

u2=-cc(h)*dd(h)/e/I*((x-dd(h))+dd(h)/2)

EndIf

u4=u4+u2

Next

u5=u3+u4

IfAbs(u5)>vmThen

vm=Abs(u5)

EndIf

Next

Picture3.Print"最大挠度Vm=";vm;"m";

'计算vm结束

'绘图

Ifvm<>0Then

Picture1.Scale(-0.1*l,-2*vm)-(1.1*l,2*vm)

Picture1.Line(0,0)-(l,0)

Picture1.Line(l,-0.5*vm)-(l,0.5*vm)

Forx=0TolStep0.001

u3=0

u4=0

Forg=1TonStep1

Ifx<=bb(g)Then

u1=-aa(g)*x*x/6/e/I*(3*bb(g)-x)

Else:

u1=-aa(g)*bb(g)*bb(g)/6/e/I*(3*x-bb(g))

EndIf

u3=u3+u1

Next

Forh=1TomStep1

Ifx<=dd(h)Then

u2=-cc(h)*x*x/2/e/I

Else:

u2=-cc(h)*dd(h)/e/I*((x-dd(h))+dd(h)/2)

EndIf

u4=u4+u2

Next

u5=u3+u4

Picture1.PSet(l-x,-u5)

Next

Else

Picture1.Scale(-0.1*l,-2)-(1.1*l,2)

Picture1.Line(0,0)-(l,0)

Picture1.Line(0,-0.5)-(0,0.5)

EndIf

'绘图结束

ElseIfa=3Then

'载入

aa(0)=0

bb(0)=0

cc(0)=0

dd(0)=0

Forg=1TonStep1

aa(g)=InputBox("请输入第"&g&"个集中力大小:

","集中力输入")

bb(g)=InputBox("请输入第"&g&"个集中力距左端点位置:

","位置输入")

Ifbb(g)-l>0Orbb(g)<0Then

Picture4.Print"输入错误";vbLf

GoToEnd1

EndIf

Picture2.Print"F";g;"=";aa(g);"N";",";

Picture2.Print"X";g;"=";bb(g);"m";vbLf;

Next

Forh=1TomStep1

cc(h)=InputBox("请输入第"&h&"个弯矩大小:

","集中力输入")

dd(h)=InputBox("请输入第"&h&"个弯矩距左端点位置:

","位置输入")

Ifdd(g)-l>0Ordd(g)<0Then

Picture4.Print"输入错误";vbLf

GoToEnd1

EndIf

Picture2.Print"M";h;"=";cc(h);"N*m";",";

Picture2.Print"Y";h;"=";dd(h);"m";vbLf;

Next

'载入结束

''''''''''''''''''''''''''''''''''''''''

'计算vm

vm=0

Forx=0TolStep0.001

u3=0

u4=0

Forg=1TonStep1

Ifx<=bb(g)Then

u1=-aa(g)*(l-bb(g))*x/6/e/I/l*(l*l-x*x-(l-bb(g))*(l-bb(g)))

Else:

u1=-aa(g)*(l-bb(g))/6/e/I/l*(l/(l-bb(g))*(x-bb(g))*(x-bb(g))*(x-bb(g))+(l*l-(l-bb(g))*(l-bb(g)))*x-x*x*x)

EndIf

u3=u3+u1

Next

Forh=1TomStep1

Ifx<=dd(h)Then

u2=cc(h)*x/6/e/I/l*(l*l-3*(l-dd(h))*(l-dd(h))-x*x)

Else:

u2=cc(h)/6/e/I/l*(-x*x*x+3*l*(x-dd(h))*(x-dd(h))+(l*l-3*(l-dd(h))*(l-dd(h)))*x)

EndIf

u4=u4+u2

Next

u5=u3+u4

IfAbs(u5)>vmThen

vm=Abs(u5)

EndIf

Next

Picture3.Print"最大挠度Vm=";vm;"m";

'计算vm结束

'绘图

Ifvm=0Or(n=0Andm=0)Then

Picture1.Scale(-0.1,-3)-(1.1,3)

Picture1.Line(0,0)-(1,0)

Picture1.Line(0,-0.3)-(0,0.3)

Picture1.Line(1,-0.3)-(1,0.3)

Else

Picture1.Scale(-0.1*l,-3*vm)-(1.1*l,3*vm)

Picture1.Line(0,0)-(l,0)

Picture1.Line(0,-0.1*vm)-(0,0.1*vm)

Picture1.Line(l,-0.1*vm)-(l,0.1*vm)

vm=0

Forx=0TolStep0.001

u3=0

u4=0

Forg=1TonStep1

Ifx<=bb(g)Then

u1=-aa(g)*(l-bb(g))*x/6/e/I/l*(l*l-x*x-(l-bb(g))*(l-bb(g)))

Else:

u1=-aa(g)*(l-bb(g))/6/e/I/l*(l/(l-bb(g))*(x-bb(g))*(x-bb(g))*(x-bb(g))+(l*l-(l-bb(g))*(l-bb(g)))*x-x*x*x)

EndIf

u3=u3+u1

Next

Forh=1TomStep1

Ifx<=dd(h)Then

u2=cc(h)*x/6/e/I/l*(l*l-3*(l-dd(h))*(l-dd(h))-x*x)

Else:

u2=cc(h)/6/e/I/l*(-x*x*x+3*l*(x-dd(h))*(x-dd(h))+(l*l-3*(l-dd(h))*(l-dd(h)))*x)

EndIf

u4=u4+u2

Next

u5=u3+u4

Picture1.PSet(x,u5)

Next

EndIf

'绘图结束

'''''''''''''''''''''''''''''''''''''''''''''

EndIf

End1:

EndSub

PrivateSubCommand4_Click()

Picture2.Cls

EndSub

PrivateSubCommand5_Click()

Picture3.Cls

EndSub

PrivateSubForm_Load()

Dimn1,x1,e,IAsSingle

Picture2.FontSize=12

Picture3.FontSize=10

Picture4.FontSize=12

Text6.FontSize=12

Text6.Text="☆支撑条件:

"&vbCrLf&"左固定端悬臂梁=1"&vbCrLf&"右固定端悬臂梁=2"&vbCrLf&"简支梁=3"&vbCrLf&"☆截面类型:

"&vbCrLf&"圆截面=1"&vbCrLf&"空心圆截面=2"&vbCrLf&"矩形截面=3"&vbCrLf&"☆1120910202,万星杰制作☆"

EndSub

运行如图所示:

在代码中,

l=Text1

a=Val(Combo1.Text)

r=Val(Combo2.Text)

e=Text3

n=Text5

m=Text7

分别对应程序中

代码段

If(l>0)And(a=1Ora=2Ora=3)And(e>0)And(r=1Orr=2Orr=3)Then

Picture2.Print"---------------------";vbLf;"长度=";l;"m";vbLf;"支撑类型=";a;vbLf;"截面类型=";r;vbLf;"弹模=";e;"N/m";vbLf;"集中力个数=";n;vbLf;"弯矩个数=";m;vbLf

Else:

Picture4.Print"

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2