วันอังคารที่ 29 กรกฎาคม พ.ศ. 2551

รหัสโปรแกรม สำหรับสร้าง แกน x ที่สอง

รหัสคำสั่ง การเขียนจำนวนเส้นของเหล็กเสริม
ต้องการสร้าง แกน x ที่สอง
เลยใช้คำสั่ง VBA ควบคุมคำนวณ
แต่ยังมี Bug ตอนเรียกครั้งแรกบ้าง ยังหาสาเหตุไม่ได้
แก้ที่ปลายเหตุไปก่อน


Sub DrawSteelRuler()
Origin = 20
Space1 = 20

Call DrawNumSteelRuler(15, Origin, 2) '''' ทดระยะเยื้องครั้งแรก จาก Bug
Call DrawNumSteelRuler(20, Origin + Space1)
Call DrawNumSteelRuler(25, Origin + 2 * Space1)

End Sub


Private Sub DrawNumSteelRuler(dia, Offset, Optional x_OffSet = 0)

ActiveChart.PlotArea.Select
Len1 = Selection.InsideWidth

Max_Axis = ActiveChart.Axes(xlCategory).MaximumScale
Min_Axis = ActiveChart.Axes(xlCategory).MinimumScale
Scale_Len = Max_Axis - Min_Axis
myScale = Len1 / Scale_Len

x_org = Selection.InsideLeft
y_org = Selection.Top + Selection.Height


'''' ทดระยะเยื้องเมื่อเรียกครั้งแรก จาก Bug แต่เรียกครี้งที่สองจะไม่มีปัญหา
If Not IsMissing(x_OffSet) Then x_org = x_org - x_OffSet

x1 = x_org

x2 = x1 + Len1
y1 = y_org + Offset
y2 = y1
ActiveChart.Shapes.AddLine(x1, y1, x2, y2).Select '' Draw Axis

'' dia = 12
area1 = Application.Pi() * (dia / 20) ^ 2
num = Int(Max_Axis / area1)
y1 = y1 - 2
y2 = y1 + 4
For i = 0 To num
x1 = x_org + i * area1 * myScale

x2 = x1
ActiveChart.Shapes.AddLine(x1, y1, x2, y2).Select '' Draw Mark
Debug.Print x1

Next

End Sub



วันพฤหัสบดีที่ 27 มีนาคม พ.ศ. 2551

เว็บไซต์ที่มีรหัสโปรแกรมคอนกรีตเสริมเหล็ก

เป็น Source Code ภาษา GW-BASIC เก่าหน่อย
แต่เอาไว้ดูเป็นตัวอย่างแล้วกัน

THE PERSONAL PAGE OF RAUL CANLE

วันศุกร์ที่ 22 กุมภาพันธ์ พ.ศ. 2551

ฟังค์ชันคำนวณหาเหล็กเสริม

ฟังค์ชันคำนวณหาเหล็กเสริม ในพื้น


Function getAreaSpacing(dia, spacing)
As1 = Application.Pi() * (dia / 20) ^ 2
Num = 100 / spacing
getAreaSpacing = Num * As1
End Function

วันเสาร์ที่ 16 กุมภาพันธ์ พ.ศ. 2551

ฟังค์ััชัน Beta1 สำหรับคอนกรีตเสริมเหล็ก วิธีกำลัง

ไว้ใช้ใน Excel เวลาคำนวณออกแบบคานคอนกรีตเสริมเหล็ก โดยวิธีกำลัง


Function Beta1(fcu)
If fcu <= 280 Then
Value = 0.85
ElseIf fcu >= 560 Then
Value = 0.65
Else
Value = 0.85 - (fcu - 280) / 70 * 0.05
End If
Beta1 = Value
End Function