📄 道路中桩计算.frm
字号:
VERSION 5.00
Object = "{5E9E78A0-531B-11CF-91F6-C2863C385E30}#1.0#0"; "MSFLXGRD.OCX"
Begin VB.Form frmMain
Caption = "道路中桩计算"
ClientHeight = 4305
ClientLeft = 60
ClientTop = 450
ClientWidth = 5400
LinkTopic = "Form1"
Moveable = 0 'False
ScaleHeight = 4305
ScaleWidth = 5400
StartUpPosition = 3 '窗口缺省
Begin VB.Frame Frame3
Caption = "道路中桩"
Height = 2775
Left = 120
TabIndex = 14
Top = 1440
Width = 5175
Begin MSFlexGridLib.MSFlexGrid MSFlexGrid1
Height = 2415
Left = 120
TabIndex = 15
Top = 240
Width = 4935
_ExtentX = 8705
_ExtentY = 4260
_Version = 393216
End
End
Begin VB.CommandButton cmdExit
Caption = "退出"
Height = 495
Left = 3960
TabIndex = 13
Top = 840
Width = 1335
End
Begin VB.CommandButton cmdCalc
Caption = "计算"
Height = 495
Left = 3960
TabIndex = 12
Top = 120
Width = 1335
End
Begin VB.Frame Frame2
Caption = "缓和曲线起算数据"
Enabled = 0 'False
Height = 900
Left = 2160
TabIndex = 8
Top = 480
Width = 1695
Begin VB.TextBox txtV
Enabled = 0 'False
Height = 270
Left = 240
TabIndex = 10
Text = "120"
Top = 530
Width = 855
End
Begin VB.Label Label5
AutoSize = -1 'True
Caption = "km/h"
Enabled = 0 'False
Height = 180
Left = 1200
TabIndex = 11
Top = 570
Width = 360
End
Begin VB.Label Label4
AutoSize = -1 'True
Caption = "设计车行速度"
Enabled = 0 'False
Height = 180
Left = 120
TabIndex = 9
Top = 300
Width = 1080
End
End
Begin VB.CheckBox Check1
Caption = "带缓和曲线"
Height = 255
Left = 2280
TabIndex = 7
Top = 120
Width = 1215
End
Begin VB.Frame Frame1
Caption = "圆曲线起算数据"
Height = 1260
Left = 120
TabIndex = 0
Top = 120
Width = 1935
Begin VB.TextBox txtJD
Height = 270
Left = 840
TabIndex = 6
Text = "k3+182.76"
Top = 900
Width = 975
End
Begin VB.TextBox txtR
Height = 270
Left = 480
TabIndex = 4
Text = "1200"
Top = 600
Width = 1335
End
Begin VB.TextBox txtA
Height = 270
Left = 480
TabIndex = 2
Text = "25.48"
Top = 315
Width = 1335
End
Begin VB.Label Label3
AutoSize = -1 'True
Caption = "交点里程"
Height = 180
Left = 120
TabIndex = 5
Top = 945
Width = 720
End
Begin VB.Label Label2
AutoSize = -1 'True
Caption = "半径"
Height = 180
Left = 120
TabIndex = 3
Top = 645
Width = 360
End
Begin VB.Label Label1
AutoSize = -1 'True
Caption = "转角"
Height = 180
Left = 120
TabIndex = 1
Top = 360
Width = 360
End
End
End
Attribute VB_Name = "frmMain"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Const PI = 3.1415926535893
Dim xZY#(), yZY#(), fZY#(), lZY#(), xYZ#(), yYZ#(), fYZ#(), lYZ#(), iZY%, iYZ% '定义直圆段和圆直段的桩号数组及其大小
Dim xZH#(), yZH#(), fZH#(), lZH#(), xHY#(), yHY#(), fHY#(), lHY#(), iZH%, iHY% '直缓段数组及其大小
Dim xYH#(), yYH#(), fYH#(), lYH#(), xHZ#(), yHZ#(), fHZ#(), lHZ#(), iYH%, iHZ% '直缓段数组及其大小
Private Sub Check1_Click()
If Check1.Value = 1 Then
Frame2.Enabled = True
Label4.Enabled = True
Label5.Enabled = True
txtV.Enabled = True
ElseIf Check1.Value = 0 Then
Frame2.Enabled = False
Label4.Enabled = False
Label5.Enabled = False
txtV.Enabled = False
End If
End Sub
Private Sub cmdCalc_Click()
Dim dblA#, dblR#, dblJD#, s As String
Dim dblT#, dblL#, dblE#, dblD#
Dim dblZY#, dblQZ#, dblYZ#
Dim i%, fab#
'缓和曲线变量
Dim ls#, V#, bet0#, p#, q#
Dim Th#, Lh#, Ly#, Eh#, Dh#
Dim dblZH#, dblHY#, dblYH#, dblHZ#
dblA = DoToHu(Val(txtA.Text))
dblR = Val(txtR.Text)
dblJD = ZToS(txtJD.Text)
If Check1.Value = 0 Then '无缓和曲线
'圆曲线测设元素的计算
dblT = dblR * Tan(dblA / 2)
dblL = dblR * dblA
dblE = dblR * (1 / Cos(dblA) - 1)
dblD = 2 * dblT - dblL
'主点里程计算
dblZY = dblJD - dblT
dblYZ = dblZY + dblL
dblQZ = dblYZ - dblL / 2
If Abs(dblJD - (dblQZ + dblD / 2)) > 0.000001 Then MsgBox "主点里程检核不合格!"
'详细测设
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -