📄 sdt14.cpp
字号:
// Sdt14.cpp : implementation file
//
// Sdt09 - 条形基础设计
//
// GB2002规范 AutoCAD版
#include "stdafx.h"
#include "Sdt.h"
#include "Sdt14.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
/////////////////////////////////////////////////////////////////////////////
// CSdt14 dialog
CSdt14::CSdt14(CWnd* pParent /*=NULL*/)
: CDialog(CSdt14::IDD, pParent)
{
//{{AFX_DATA_INIT(CSdt14)
m_as = 0.0;//mmxmm
m_bj = 0.0;//m
m_bw = 0.24;//m
m_d = 2.0;//m
m_f = 0.0;//kPa
m_fc = 9.60;//MPa
m_fy = 210.0;//MPa
m_hc = 3.0;//m
m_hj = 0.0;//m
m_m = 0.0;//kN-m
m_n = 3;
m_nl = 0.0;//kN
m_pj1 = _T("");
m_pj2 = _T("");
m_q = 6.0;//kN/m/m
m_qw = 5.24;//kN/m
m_s = 3.0;//m
m_ed = 1.1;
m_g0 = 18.0;
m_fk = 100.0;//KPa
m_jss14 = FALSE;
m_bh14 = _T("TJ-1");
m_gcm14 = _T("Zzz");
//}}AFX_DATA_INIT
}
void CSdt14::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CSdt14)
DDX_Text(pDX, IDC_EDITas, m_as);
DDX_Text(pDX, IDC_EDITbj, m_bj);
DDX_Text(pDX, IDC_EDITbw, m_bw);
DDX_Text(pDX, IDC_EDITd, m_d);
DDX_Text(pDX, IDC_EDITf, m_f);
DDX_Text(pDX, IDC_EDITfc, m_fc);
DDX_Text(pDX, IDC_EDITfy, m_fy);
DDX_Text(pDX, IDC_EDIThc, m_hc);
DDX_Text(pDX, IDC_EDIThj, m_hj);
DDX_Text(pDX, IDC_EDITm, m_m);
DDX_Text(pDX, IDC_EDITn, m_n);
DDX_Text(pDX, IDC_EDITnl, m_nl);
DDX_Text(pDX, IDC_EDITpj1, m_pj1);
DDX_Text(pDX, IDC_EDITpj2, m_pj2);
DDX_Text(pDX, IDC_EDITq, m_q);
DDX_Text(pDX, IDC_EDITqw, m_qw);
DDX_Text(pDX, IDC_EDITs, m_s);
DDX_Text(pDX, IDC_EDITed, m_ed);
DDX_Text(pDX, IDC_EDITg0, m_g0);
DDX_Text(pDX, IDC_EDITfk, m_fk);
DDX_Check(pDX, IDC_CHECKjss14, m_jss14);
DDX_Text(pDX, IDC_EDITbh14, m_bh14);
DDX_Text(pDX, IDC_EDITgcm14, m_gcm14);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CSdt14, CDialog)
//{{AFX_MSG_MAP(CSdt14)
ON_BN_CLICKED(IDC_BUTTONjsa, OnBUTTONjsa)
ON_BN_CLICKED(IDC_BUTTONjsf, OnBUTTONjsf)
ON_BN_CLICKED(IDC_BUTTONjsh, OnBUTTONjsh)
ON_BN_CLICKED(IDC_BUTTONjsm, OnBUTTONjsm)
ON_BN_CLICKED(IDC_BUTTONjsn, OnBUTTONjsn)
ON_BN_CLICKED(IDC_BTSdtHelp14, OnBTSdtHelp14)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CSdt14 message handlers
CString fmt;
//////
void CSdt14::OnBUTTONjsn()
{
UpdateData(TRUE);
m_nl =m_n*(m_hc*m_qw +m_q*m_s);
UpdateData(FALSE);
}
//////
void CSdt14::OnBUTTONjsf()
{
UpdateData(TRUE);
m_f =m_fk +m_ed*m_g0*(m_d-0.5);
UpdateData(FALSE);
}
//////
void CSdt14::OnBUTTONjsm()
{
UpdateData(TRUE);
m_bj =m_nl/(m_f-20*m_d);
m_bj+=0.050;
fmt.Format("%6.3f",m_bj);
m_bj =atof(fmt);
UpdateData(FALSE);
}
///////
void CSdt14::OnBUTTONjsh()
{
double qj,v,h0;
UpdateData(TRUE);
qj =m_nl/m_bj;
v =1.3*qj*(m_bj-m_bw)/2.0;
h0 =1e3*v/m_fc/70.0;
m_hj=(h0+40)/1000.0;
fmt.Format("%6.3f",m_hj);
m_hj =atof(fmt);
UpdateData(FALSE);
}
///////
void CSdt14::OnBUTTONjsa()
{
double qj,d150,d200;
UpdateData(TRUE);
qj =m_nl/m_bj;
m_m =1.3*qj*(m_bj-m_bw)*(m_bj-m_bw)/8.0;
m_as=1e6*m_m/m_fy/(1000*m_hj-40)/0.9;
fmt.Format("%8.2f",m_m);
m_m =atof(fmt);
fmt.Format("%7.0f",m_as);
m_as =atof(fmt);
d150 =sqrt(4*m_as*150/1000.0/Pi);
d200 =sqrt(4*m_as*200/1000.0/Pi);
m_pj1.Format("%5.1f@150",d150);
m_pj2.Format("%5.1f@200",d200);
if(m_jss14 == TRUE){
FILE *ou;
CString flname;
if(m_gcm14 =="") {AfxMessageBox("请输入工程名!"); return;}
flname=m_gcm14 + ".txt";
ou=fopen(flname,"a");
fprintf(ou,"\n\n\n");
fprintf(ou,"\n ***********************************************************************");
fprintf(ou,"\n *** 结 构 设 计 计 算 书 ***");
fprintf(ou,"\n *** ***");
fprintf(ou,"\n *** Sdt09 - 条形基础设计 ***");
fprintf(ou,"\n ************************************************* Zgs 2002 ******");
fprintf(ou,"\n\n 工程名称: %s 构件编号: %s",m_gcm14,m_bh14);
fprintf(ou,"\n\n 条基荷载 N =%8.3f (kN/m),",m_nl);
fprintf(ou,"\n 条基埋深 D =%6.3f (m), 条基上墙(或梁)宽度 Bw =%6.3f (m),",m_d,m_bw);
fprintf(ou,"\n 地基承载力特征值 Fak =%8.3f (kPa), 修正后地基承载力特征值 Fa =%8.3f (kPa),",
m_fk,m_f);
fprintf(ou,"\n 钢筋强度 Fy =%8.2f (MPa), 砼强度 Fc =%8.2f (MPa),",m_fy,m_fc);
fprintf(ou,"\n\n 条基宽度 B =%6.3f (m), 条基根部高度 H =%6.3f (m),",m_bj,m_hj);
fprintf(ou,"\n 条基承受的弯矩值 M = %8.3f (kN-m/m)",m_m);
fprintf(ou,"\n 钢筋面积 As =%8.3f (mmxmm/m), 配 %s 或%s",m_as,m_pj1,m_pj2);
fprintf(ou,"\n 工程实际配筋:");
fprintf(ou,"\n\n 简 图: \n\n\n\n\n");
time_t tad;
char *buf;
buf=(char*)calloc(80,sizeof(char));
if(buf==NULL) exit(-1);
tad=time(NULL);
strftime(buf,80,"%A %B %d,%Y",localtime(&tad));
fprintf(ou,"\n\n 设计人:");
fprintf(ou,"\n %s",buf);
fclose(ou);
}
UpdateData(FALSE);
}
void CSdt14::OnBTSdtHelp14()
{
ads_help("sdt2002.hlp","SDT09",0);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -