📄 sdt03.cpp
字号:
// sdt03.cpp : implementation file
//
// Sdt07 - 基础荷载计算
//
// GB2002规范 AutoCAD版
#include "stdafx.h"
#include "Sdt.h"
#include "sdt03.h"
#include "adslib.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
#define Pi 3.1415926
/////////////////////////////////////////////////////////////////////////////
// Csdt03 dialog
Csdt03::Csdt03(CWnd* pParent /*=NULL*/)
: CDialog(Csdt03::IDD, pParent)
{
//{{AFX_DATA_INIT(Csdt03)
m_b = 10.0f;
m_bt = 1.2f;
m_d = 0.0f;
m_f = 0.0f;
m_h = 18.0f;
m_h0 = 2.2f;
m_h1 = 0.90f;
m_h2 = 0.40f;
m_l = 45.0f;
m_lt = 1.0f;
m_n = 6;
m_qj = 0.0f;
m_hd = 0.0f;
m_jss = FALSE;
m_gcm = _T("Zzz");
m_qs = 0.0f;
//}}AFX_DATA_INIT
}
void Csdt03::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(Csdt03)
DDX_Control(pDX, IDC_RADIO1, m_Ra);
DDX_Text(pDX, IDC_EDITb, m_b);
DDX_Text(pDX, IDC_EDITbt, m_bt);
DDX_Text(pDX, IDC_EDITd, m_d);
DDX_Text(pDX, IDC_EDITf, m_f);
DDX_Text(pDX, IDC_EDITh, m_h);
DDX_Text(pDX, IDC_EDITh0, m_h0);
DDX_Text(pDX, IDC_EDITh1, m_h1);
DDX_Text(pDX, IDC_EDITh2, m_h2);
DDX_Text(pDX, IDC_EDITl, m_l);
DDX_Text(pDX, IDC_EDITlt, m_lt);
DDX_Text(pDX, IDC_EDITn, m_n);
DDV_MinMaxInt(pDX, m_n, 1, 30);
DDX_Text(pDX, IDC_EDITqj, m_qj);
DDX_Text(pDX, IDC_EDIThd, m_hd);
DDX_Check(pDX, IDC_CHECKjss03, m_jss);
DDX_Text(pDX, IDC_EDITgcm03, m_gcm);
DDX_Text(pDX, IDC_EDITqs, m_qs);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(Csdt03, CDialog)
//{{AFX_MSG_MAP(Csdt03)
ON_BN_CLICKED(IDC_BUTTONjs, OnBUTTONjs)
ON_BN_CLICKED(IDC_BTSdtHelp3, OnBTSdtHelp3)
ON_BN_CLICKED(IDC_BUTTONjsdk, OnBUTTONjsdk)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// Csdt03 message handlers
BOOL Csdt03::OnInitDialog()
{
CDialog::OnInitDialog();
CheckRadioButton(IDC_RADIO1,IDC_RADIO4,IDC_RADIO1);
return TRUE;
}
CString flname3;
void Csdt03::OnBUTTONjs()
{
int iRadio;
float qi,q0,qs,ajz,ajc,at;
CString msg;
UpdateData(TRUE);
iRadio=GetCheckedRadioButton(IDC_RADIO1,IDC_RADIO4);
if(iRadio==IDC_RADIO1) {qi=15.5; msg="本工程为砌体结构";}
if(iRadio==IDC_RADIO2) {qi=14; msg="本工程为框架结构";}
if(iRadio==IDC_RADIO3) {qi=15; msg="本工程为框架-剪力墙结构";}
if(iRadio==IDC_RADIO4) {qi=16; msg="本工程为剪力墙结结构";}
q0=18.0;
qs=m_n*qi+q0;
m_d=m_h0+m_h2-m_h1;
ajz=m_l*m_b;
ajc=(m_l+2*m_lt)*(m_b+2*m_bt);
at=ajc-ajz;
m_qs=qs;
m_qj=(ajz*qs+at*18*(m_h0-m_h1))/ajc;
m_f=m_qj+20*m_h2;
m_hd=(m_h+m_h1)/m_d;
UpdateData(FALSE);
if(m_jss == TRUE){
FILE *ou;
if(m_gcm =="") {AfxMessageBox("请输入工程名!"); return;}
flname3=m_gcm + ".txt";
ou=fopen(flname3,"a");
fprintf(ou,"\n\n\n");
fprintf(ou,"\n***********************************************************************");
fprintf(ou,"\n*** 结 构 设 计 计 算 书 ***");
fprintf(ou,"\n*** ***");
fprintf(ou,"\n*** ***");
fprintf(ou,"\n*** Sdt07 - 基础荷载计算 ***");
fprintf(ou,"\n************************************************ Zgs 2006 ******");
fprintf(ou,"\n\n 工程名称: %s",m_gcm);
fprintf(ou,"\n\n1. 已知数据\n");
fprintf(ou,"\n %s, 上部 n=%3d层,总高度 H=%6.2f(m)",msg,m_n,m_h);
fprintf(ou,"\n 地下室高度 H0=%6.2f(m), 室内外高差 H1=%6.2f(m), 基础高度 H2=%6.2f(m)",
m_h0,m_h1,m_h2);
fprintf(ou,"\n 建筑物长 L=%6.2f(m), 基础挑出宽度 Lt=%6.2f(m)",m_l,m_lt);
fprintf(ou,"\n 建筑物宽 B=%6.2f(m), 基础挑出宽度 Bt=%6.2f(m)",m_b,m_bt);
fprintf(ou,"\n\n2. 计算结果\n");
fprintf(ou,"\n 建筑物总荷载 Qs=%7.3f(kN/m/m), 基底建筑面积 Ajz=%7.3f(mxm)",qs,ajz);
fprintf(ou,"\n 基础面积 Ajc=%7.3f(mxm), 基础挑出部分面积 At=%7.3f(mxm)",ajc,at);
fprintf(ou,"\n 基础埋深 D=%8.3f(m), 基础埋深与建筑总高度之比为: 1/%5.1f",m_d,m_hd);
fprintf(ou,"\n 基底净反力 Qj=%8.3f(m), 需要的地基承载力 F=%8.3f(kPa)",m_qj,m_f);
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 Csdt03::OnBTSdtHelp3()
{
acedHelp("SdtR2x.hlp","SDT07",0);
}
void Csdt03::OnBUTTONjsdk()
{
// TODO: Add your control notification handler code here
acedCommand(RTSTR,"NOTEPAD",RTSTR,flname3,RTNONE);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -