⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 道路中桩计算.frm

📁 采用VB编写
💻 FRM
📖 第 1 页 / 共 2 页
字号:
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 + -