查看: 5301|回复: 3
收起左侧

[软件相关] 剖面模数计算两种方法

[复制链接]
发表于 2010-5-13 10:39 | 显示全部楼层 |阅读模式 来自: 中国湖北宜昌
剖面模数计算两种方法比较



剖面模数和惯性矩在船体结构、强度设计中经常会碰到,平时我们一般都采取手工计算,过程非常繁琐、单调,又容量出错。现在许多人都已经用计算机编程计算,速度快,又准确,本文介绍剖面模数和惯性矩编程计算两种方法,供大家选择使用。
1.用Micr0softExcel(电子表格)编程计算
1.1说明:用此方法计算,方便易学,即使没有学过计算机语言的人也能自编,自用。无须专业人员帮助,而且编程速度很快。
1.2编程及使用举例
打开Micr0softExcel设定b1、b2、b3、h1、h2、h3属性为输入项,b1:“型材面板宽度(cm)”、h1:“型材面板厚度(cm)”、b2:“型材腹板高度(cm)”、h2:“型材腹板厚度(cm)”、b3:“型材带板宽度(cm)”、h3:“型材带板厚度(cm)”、可再按下述步骤操作:
A1项设定为:b1*h1
A2项设定为:b2*h2
A3项设定为:b3*h3
A4项设定为:A1+A2+A3
S1=A1*((h1+h3)/2+b2)
I1=A1*((h1+h3)/2+b2)^2+(1/12)*b1*(h1)^3
S2=A2*(b2+h3)/2
I2=A2*((b2+h3)/2)^2+(1/12)*h2*(b2)^3
I3=(1/12)*b3*(h3)^3
S4=S1+S2
H=S4/A4
I=I1+I2+I3-h^2*A4
W=I/((h1+h3)/2+b2-h)

I为惯性矩,W为剖面模数。下次计算时,只用在界面更换b1、b1、b1、b3、h1、h2、h3值可得新的I和w。
2.用VB编程
2.1说明:用VB编写过程较复杂,要有VB基础,优点是编程后使用时界面较直观,容易使用.
2.2编程使用举例:
2.2.1创建新窗体
首先启动VB6.0,新建一个工程,系统会自动打开一个新窗体。在窗体中增加如下控件:8个标签控件、8个文本框控件、1个框架控件、3个命令按钮控件。然后将窗体的Caption属性改为“剖面模数计算器”:8个标签的Caption属性分别为“型材面板宽度(cm)”、“型材面板厚度(cm)”、“型材腹板宽度(cm)”、“型材腹板厚度(cm)”、“型材带板宽度(cm)”、“型材带板厚度(cm)”、“惯性矩(cm4)”、“剖面模数(cm3)”;框架控件的Caption属性改为“结果”;3个命令按钮的Caption属性改为“开始计算”、“清除”、“退出”;8个文本框的text属性改为空;其它的属性均取默认值。
2.2.2程序编制
打开代码窗口,添加如下代码:
private Sub Commandl_Click( )
for x=o To 5
If Textl(X).Text=””Then
MsgBox(”输入内容有误,请重新检查”),,”注意”
Go TO 10
End If
Next x
Dim A1、h1、b1、A2、h2、b2、A3、h3、b3、h
b1=Val(Textl(o).Text)
h1=Val(Textl(1).Text)
b2=Val(Textl(2).Text)
h2=Val(Textl(3).Text)
b3=Val(Textl(4).Text)
h3=Val(Textl(5).Text)
A1=Int(b1*h1*100+0.5)/100
A2=Int(b2*h2*100+0.5)/100
A3=Int(b3*h3*100+0.5)/100
h=(A1*(b2+h1/2+h3/2)+A2*(b2/2+h3/2))/(A1+A2+A3)
h=Int(h*100+0.5)/100
i=A1*((h1+h3)/2+b2)^2+(1/12)*b1*(h1)^3+A2*((b2+h3)/2)^2
+(1/12)*h2*(b2)^3+(1/12)*b3*(h3)^3-(A1+A2+A3)*h^2
W=i/((h1+h3)/2+h2-h)
i=Int(I*100+1.5)/100
W=Int(w*100+0.5)/100
Text2.Enadled=True
Text2.Text=Str(i)
Text2.Enabled=False
Text3.Enabled=Teue
Text3.Text=Str(w)
Text3.Enabled=False
10
End Sub
Private Sub Command2-Click( )
Text2.Enabled=True
Text2.Enabled=True
Text3.Enabled=True
Text2.True=””
Text3.True=””
Text2.Enabled=False
Text3.Enabled=False
End Sud
Private Sub Command3-Click( )
Unload Me
End Sub
Private Sub mnuxpForm-Load( )
Text2.Enabled=False
Text3.Enabled=False
End Sub
Private Sub Textl-KeyPress(Index As Integer,KeyAscii As Integer)’KeyAscii32以下是一此控制键,防止输入非数字
If KeyAscii>=33 Then
If KeyAscii<=vbKey9 And KeyAscii>-vbKey0 Then
Else
’把KeyAscii设为0就取消输入
KeyAscii=0
MsgBox”不可输入非数字“,,”注意!”
EndIf
EndIf
EndSub
回复

使用道具 举报

龙船学院
发表于 2010-5-15 08:01 | 显示全部楼层 来自: 中国广东广州
支持,谢谢,学习了
回复 支持 反对

使用道具 举报

发表于 2011-8-20 15:11 | 显示全部楼层 来自: 中国江苏南通
厉害啊
回复 支持 反对

使用道具 举报

发表于 2011-8-21 10:09 | 显示全部楼层 来自: 中国广东广州
这个不是可以用小软件计算吗
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|标签|免责声明|龙船社区

GMT+8, 2024-12-13 23:02

Powered by Imarine

Copyright © 2006, 龙船社区

快速回复 返回顶部 返回列表