📄 sdt12.cpp
字号:
// Sdt12.cpp : implementation file
//
// Sdt04 - 梁受扭计算
//
// GB2002规范 AutoCAD版
#include "stdafx.h"
#include "Sdt.h"
#include "Sdt12.h"
#include "math.h"
#include "adslib.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
#define Pi 3.1415926
/////////////////////////////////////////////////////////////////////////////
// CSdt12 dialog
CSdt12::CSdt12(CWnd* pParent /*=NULL*/)
: CDialog(CSdt12::IDD, pParent)
{
//{{AFX_DATA_INIT(CSdt12)
m_at = 0.0;
m_dd = 0.0;
m_dj = 45.0;
m_dn = 2;
m_gd = 8;
m_gj1 = _T("");
m_gj2 = _T("");
m_gn = 0.0;
m_gz = 2;
m_pd = 100.0;
m_pg = 100.0;
m_t = 20.0;
//}}AFX_DATA_INIT
}
void CSdt12::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CSdt12)
DDX_Control(pDX, IDC_RADIO13, m_rat);
DDX_Control(pDX, IDC_COMBOh, m_th);
DDX_Control(pDX, IDC_COMBOc, m_tc);
DDX_Control(pDX, IDC_COMBOb, m_tb);
DDX_Text(pDX, IDC_EDITat, m_at);
DDX_Text(pDX, IDC_EDITdd, m_dd);
DDX_Text(pDX, IDC_EDITdj, m_dj);
DDX_Text(pDX, IDC_EDITdn, m_dn);
DDV_MinMaxInt(pDX, m_dn, 1, 8);
DDX_Text(pDX, IDC_EDITgd, m_gd);
DDV_MinMaxInt(pDX, m_gd, 6, 14);
DDX_Text(pDX, IDC_EDITgj1, m_gj1);
DDX_Text(pDX, IDC_EDITgj2, m_gj2);
DDX_Text(pDX, IDC_EDITgn, m_gn);
DDX_Text(pDX, IDC_EDITgz, m_gz);
DDV_MinMaxInt(pDX, m_gz, 2, 6);
DDX_Text(pDX, IDC_EDITpd, m_pd);
DDX_Text(pDX, IDC_EDITpg, m_pg);
DDX_Text(pDX, IDC_EDITt, m_t);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CSdt12, CDialog)
//{{AFX_MSG_MAP(CSdt12)
ON_BN_CLICKED(IDC_BUTTONjsdj, OnBUTTONjsdj)
ON_BN_CLICKED(IDC_BUTTONjsgj, OnBUTTONjsgj)
ON_BN_CLICKED(IDC_BUTTONjst, OnBUTTONjst)
ON_BN_CLICKED(IDC_BTSdtHelp12, OnBTSdtHelp12)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CSdt12 message handlers
CString Bt[]={ "200","250","300","350","400" };//5
CString Ht[]={ "250","300","350","400","450","500","550",
"600","650","700","800","900","1000" };//13
CString Ct[]={ "20","25","30","35","40","45","50"};//7
CString f12;
BOOL CSdt12::OnInitDialog()
{
CDialog::OnInitDialog();
CheckRadioButton(IDC_RADIO13,IDC_RADIO14,IDC_RADIO13);
for(int i=0;i<5;i++)
m_tb.AddString(Bt[i]);
m_tb.SetCurSel(1);
for(i=0;i<13;i++)
m_th.AddString(Ht[i]);
m_th.SetCurSel(5);
for(i=0;i<5;i++)
m_tc.AddString(Ct[i]);
m_tc.SetCurSel(0);
return TRUE;
}
void CSdt12::OnBUTTONjst()
{
int iRadio;
CString val,cval;
double b,h,ft,t;
double acor,ucor,wt,av,at,d100,d150;
UpdateData(TRUE);
m_tb.GetLBText(m_tb.GetCurSel(),val);
b=atof(val);
m_th.GetLBText(m_th.GetCurSel(),val);
h=atof(val);
m_tc.GetLBText(m_tc.GetCurSel(),cval);
if( !strcmp(cval,"20") ) ft=1.10; //C20
if( !strcmp(cval,"25") ) ft=1.27; //C25
if( !strcmp(cval,"30") ) ft=1.43; //C30
if( !strcmp(cval,"35") ) ft=1.57; //C35
if( !strcmp(cval,"40") ) ft=1.71; //C40
if( !strcmp(cval,"45") ) ft=1.80; //C45
if( !strcmp(cval,"50") ) ft=1.89; //C50
iRadio=GetCheckedRadioButton(IDC_RADIO13,IDC_RADIO14);
if(iRadio==IDC_RADIO13) { t=1.3*m_t; }
if(iRadio==IDC_RADIO14) { t=m_t; }
t*=1e6;
acor =(b-50)*(h-50);
ucor =2*(b+h)-200;
wt =b*b*(3*h-b)/6.0;
av =(t-0.35*ft*wt)/acor/276.0;
at =0.840*av*ucor;
d100 =sqrt(400*av/Pi);
d150 =sqrt(600*av/Pi);
val.Format("%7.1f",at);
m_at = atof(val);
m_gj1.Format("%4.1f@100",d100);
m_gj2.Format("%4.1f@150",d150);
UpdateData(FALSE);
}
void CSdt12::OnBUTTONjsgj()
{
int iRadio;
double pg;
UpdateData(TRUE);
iRadio=GetCheckedRadioButton(IDC_RADIO13,IDC_RADIO14);
if(iRadio==IDC_RADIO13) { pg=1.25*m_pg; }
if(iRadio==IDC_RADIO14) { pg=m_pg; }
m_gn = 4e3*pg/(m_gz*Pi*m_gd*m_gd*210.0);
f12.Format("%6.2f",m_gn);
m_gn =atof(f12);
UpdateData(FALSE);
}
void CSdt12::OnBUTTONjsdj()
{
int iRadio;
double pd;
UpdateData(TRUE);
iRadio=GetCheckedRadioButton(IDC_RADIO13,IDC_RADIO14);
if(iRadio==IDC_RADIO13) { pd=1.25*m_pd; }
if(iRadio==IDC_RADIO14) { pd=m_pd; }
m_dd = 5e3*pd/(m_dn*Pi*sin(Pi*m_dj/180.0)*310.0);
m_dd = sqrt(m_dd);
f12.Format("%6.2f",m_dd);
m_dd =atof(f12);
UpdateData(FALSE);
}
void CSdt12::OnBTSdtHelp12()
{
ads_help("sdt2002.hlp","SDT04",0);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -