📄 sdt04.cpp
字号:
// sdt04.cpp : implementation file
//
// Sdt08 - 复合地基计算
//
// GB2002规范 AutoCAD版
#include "stdafx.h"
#include "Sdt.h"
#include "sdt04.h"
#include "adslib.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
#define Pi 3.1415926
/////////////////////////////////////////////////////////////////////////////
// Csdt04 dialog
Csdt04::Csdt04(CWnd* pParent /*=NULL*/)
: CDialog(Csdt04::IDD, pParent)
{
//{{AFX_DATA_INIT(Csdt04)
m_fsk = 80.0f;
m_fspk = 0.0f;
m_l = 0.0f;
m_l1 = 2.0f;
m_l10 = 0.0f;
m_l2 = 3.0f;
m_l3 = 5.0f;
m_l4 = 0.0f;
m_l5 = 0.0f;
m_l6 = 0.0f;
m_l7 = 0.0f;
m_l8 = 0.0f;
m_l9 = 0.0f;
m_d = 400.0f;
m_m = 0.0f;
m_qp = 300.0f;
m_qs1 = 30.0f;
m_qs10 = 0.0f;
m_qs2 = 35.0f;
m_qs3 = 40.0f;
m_qs4 = 0.0f;
m_qs5 = 0.0f;
m_qs6 = 0.0f;
m_qs7 = 0.0f;
m_qs8 = 0.0f;
m_qs9 = 0.0f;
m_r28 = 0.0f;
m_rk = 0.0f;
m_s = 1.20f;
m_jss = FALSE;
m_gcm = _T("Zzz");
m_beta = 0.75;
m_gama = 1.75;
m_n = 3;
//}}AFX_DATA_INIT
}
void Csdt04::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(Csdt04)
DDX_Control(pDX, IDC_RADIO5, m_ra);
DDX_Text(pDX, IDC_EDITfsk, m_fsk);
DDX_Text(pDX, IDC_EDITfspk, m_fspk);
DDX_Text(pDX, IDC_EDITl, m_l);
DDX_Text(pDX, IDC_EDITl1, m_l1);
DDX_Text(pDX, IDC_EDITl10, m_l10);
DDX_Text(pDX, IDC_EDITl2, m_l2);
DDX_Text(pDX, IDC_EDITl3, m_l3);
DDX_Text(pDX, IDC_EDITl4, m_l4);
DDX_Text(pDX, IDC_EDITl5, m_l5);
DDX_Text(pDX, IDC_EDITl6, m_l6);
DDX_Text(pDX, IDC_EDITl7, m_l7);
DDX_Text(pDX, IDC_EDITl8, m_l8);
DDX_Text(pDX, IDC_EDITl9, m_l9);
DDX_Text(pDX, IDC_EDITd, m_d);
DDX_Text(pDX, IDC_EDITm, m_m);
DDX_Text(pDX, IDC_EDITqp, m_qp);
DDX_Text(pDX, IDC_EDITqs1, m_qs1);
DDX_Text(pDX, IDC_EDITqs10, m_qs10);
DDX_Text(pDX, IDC_EDITqs2, m_qs2);
DDX_Text(pDX, IDC_EDITqs3, m_qs3);
DDX_Text(pDX, IDC_EDITqs4, m_qs4);
DDX_Text(pDX, IDC_EDITqs5, m_qs5);
DDX_Text(pDX, IDC_EDITqs6, m_qs6);
DDX_Text(pDX, IDC_EDITqs7, m_qs7);
DDX_Text(pDX, IDC_EDITqs8, m_qs8);
DDX_Text(pDX, IDC_EDITqs9, m_qs9);
DDX_Text(pDX, IDC_EDITr28, m_r28);
DDX_Text(pDX, IDC_EDITrk, m_rk);
DDX_Text(pDX, IDC_EDITs, m_s);
DDX_Check(pDX, IDC_CHECKjss04, m_jss);
DDX_Text(pDX, IDC_EDITgcm04, m_gcm);
DDX_Text(pDX, IDC_EDITbeta, m_beta);
DDX_Text(pDX, IDC_EDITgama, m_gama);
DDX_Text(pDX, IDC_EDITn, m_n);
DDV_MinMaxInt(pDX, m_n, 1, 10);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(Csdt04, CDialog)
//{{AFX_MSG_MAP(Csdt04)
ON_BN_CLICKED(IDC_BUTTONjs, OnBUTTONjs)
ON_BN_CLICKED(IDC_BTSdtHelp4, OnBTSdtHelp4)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// Csdt04 message handlers
BOOL Csdt04::OnInitDialog()
{
CDialog::OnInitDialog();
CheckRadioButton(IDC_RADIO5,IDC_RADIO6,IDC_RADIO6);
return TRUE;
}
void Csdt04::OnBUTTONjs()
{
int k,iRadio;
float d,de,up,ap,sql;
static float ll[11],qs[11];
CString msg,f4;
UpdateData(TRUE);
iRadio=GetCheckedRadioButton(IDC_RADIO5,IDC_RADIO6);
if(iRadio==IDC_RADIO5) {de=1.05*m_s; msg="本工程采用梅花形布桩";}
if(iRadio==IDC_RADIO6) {de=1.13*m_s; msg="本工程采用正方形布桩";}
k=m_n;
d=m_d/1000.0;
up=Pi*d;
ap=Pi*d*d/4;
sql=0.0;
ll[1]=m_l1; ll[2]=m_l2; ll[3]=m_l3; ll[4]=m_l4; ll[5]=m_l5;
ll[6]=m_l6; ll[7]=m_l7; ll[8]=m_l8; ll[9]=m_l9; ll[10]=m_l10;
qs[1]=m_qs1; qs[2]=m_qs2; qs[3]=m_qs3; qs[4]=m_qs4; qs[5]=m_qs5;
qs[6]=m_qs6; qs[7]=m_qs7; qs[8]=m_qs8; qs[9]=m_qs9; qs[10]=m_qs10;
m_l=0.0;
for(int i=1;i<=k;i++) {
m_l+=ll[i];
sql+=ll[i]*qs[i];
}
m_rk=(up*sql+m_qp*ap)/m_gama; //kN
f4.Format("%8.3f",m_rk);
m_rk=atof(f4);
m_m=d*d/de/de;
f4.Format("%6.3f",m_m);
m_m=atof(f4);
m_fspk=m_m*m_rk/ap+m_beta*(1.0-m_m)*m_fsk; //kPa
f4.Format("%8.3f",m_fspk);
m_fspk=atof(f4);
m_r28=3*(m_fspk-m_beta*(1.0-m_m)*m_fsk)/m_m/1000.0; //Mpa
f4.Format("%8.3f",m_r28);
m_r28=atof(f4);
UpdateData(FALSE);
if(m_jss == TRUE){
FILE *ou;
CString flname;
if(m_gcm =="") {AfxMessageBox("请输入工程名!"); return;}
flname=m_gcm + ".txt";
ou=fopen(flname,"a");
fprintf(ou,"\n\n\n");
fprintf(ou,"\n ***********************************************************************");
fprintf(ou,"\n *** 结 构 设 计 计 算 书 ***");
fprintf(ou,"\n *** ***");
fprintf(ou,"\n *** ***");
fprintf(ou,"\n *** Sdt08 - 复合地基计算 ***");
fprintf(ou,"\n ************************************************ Zgs 2002 ******");
fprintf(ou,"\n\n 工程名称: %s",m_gcm);
fprintf(ou,"\n\n1. 已知数据\n");
fprintf(ou,"\n %s, 桩径 D=%6.0f(mm),桩距 S=%6.2f(m)",msg,m_d,m_s);
fprintf(ou,"\n 桩间土承载力标准值 Fs,k=%6.2f(kPa), 桩端土承载力标准值 Qp=%6.2f(kPa)",
m_fsk,m_qp);
fprintf(ou,"\n 桩间土承载力折减系数 β=%6.3f, 分项系数γsp=%6.3f",m_beta,m_gama);
fprintf(ou,"\n\n 场地土构成如下:");
for(int i=1;i<=k;i++)
fprintf(ou,"\n 第(%2d)层 厚度: %7.3f(m), 摩阻力: %7.3f(kPa)",i,ll[i],qs[i]);
fprintf(ou,"\n\n2. 计算结果\n");
fprintf(ou,"\n 桩周长 Up=%8.3f(m), 桩截面积 Ap=%8.3f(mxm)",up,ap);
fprintf(ou,"\n 桩总长度 L=%8.3f(m), 置换率 m=%6.3f",m_l,m_m);
fprintf(ou,"\n 单桩承载力标准值 Rk=%8.3f(kN), 桩身强度 R28=%8.3f(MPa)",m_rk,m_r28);
fprintf(ou,"\n 复合地基承载力标准值 Fsp,k=%8.3f(kPa)",m_fspk);
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);
}
}
void Csdt04::OnBTSdtHelp4()
{
ads_help("sdt2002.hlp","SDT08",0);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -