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

📄 sdt15.cpp

📁 AotoCAD平台下的结构设计工具
💻 CPP
字号:
// Sdt15.cpp : implementation file
//
// Sdt10 - 独立基础设计
// 
// GB2002规范 AutoCAD版

#include "stdafx.h"
#include "Sdt.h"
#include "Sdt15.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
/////////////////////////////////////////////////////////////////////////////
// CSdt15 dialog


CSdt15::CSdt15(CWnd* pParent /*=NULL*/)
	: CDialog(CSdt15::IDD, pParent)
{
	//{{AFX_DATA_INIT(CSdt15)
	m_as = 0.0;
	m_bc = 0.40;
	m_bj = 0.0;
	m_d = 2.0;
	m_ed = 1.1;
	m_f = 0.0;
	m_fk = 100.0;
	m_fy = 210.0;
	m_g0 = 18.0;
	m_hj = 0.0;
	m_m = 0.0;
	m_n = 3;
	m_nl = 0.0;
	m_pj1 = _T("");
	m_pj2 = _T("");
	m_q = 14.0;
	m_sx = 4.2;
	m_sy = 5.1;
	m_ft = 1.27;
	m_jss15 = FALSE;
	m_bh15 = _T("DJ-1");
	m_gcm15 = _T("Zzz");
	//}}AFX_DATA_INIT
}


void CSdt15::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CSdt15)
	DDX_Text(pDX, IDC_EDITas, m_as);
	DDX_Text(pDX, IDC_EDITbc, m_bc);
	DDX_Text(pDX, IDC_EDITbj, m_bj);
	DDX_Text(pDX, IDC_EDITd, m_d);
	DDX_Text(pDX, IDC_EDITed, m_ed);
	DDX_Text(pDX, IDC_EDITf, m_f);
	DDX_Text(pDX, IDC_EDITfk, m_fk);
	DDX_Text(pDX, IDC_EDITfy, m_fy);
	DDX_Text(pDX, IDC_EDITg0, m_g0);
	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_EDITsx, m_sx);
	DDX_Text(pDX, IDC_EDITsy, m_sy);
	DDX_Text(pDX, IDC_EDITft, m_ft);
	DDX_Check(pDX, IDC_CHECKjss15, m_jss15);
	DDX_Text(pDX, IDC_EDITbh15, m_bh15);
	DDX_Text(pDX, IDC_EDITgcm15, m_gcm15);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CSdt15, CDialog)
	//{{AFX_MSG_MAP(CSdt15)
	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_BTSdtHelp15, OnBTSdtHelp15)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSdt15 message handlers

CString fmtb;

void CSdt15::OnBUTTONjsn() 
{
	UpdateData(TRUE);
	m_nl =m_n*m_sx*m_sy*m_q;//kN
	UpdateData(FALSE);	
}

void CSdt15::OnBUTTONjsf() 
{
	UpdateData(TRUE);
	m_f =m_fk +m_ed*m_g0*(m_d-0.5);//kPa
	UpdateData(FALSE);	
}

void CSdt15::OnBUTTONjsm() 
{
	UpdateData(TRUE);

	m_bj =sqrt( m_nl/(m_f-20*m_d) );//m
	m_bj+=0.050;
	fmtb.Format("%6.3f",m_bj);
	m_bj =atof(fmtb);
	UpdateData(FALSE);
}

void CSdt15::OnBUTTONjsh() 
{
	double qj,c,h0;
	UpdateData(TRUE);

	qj =m_nl/m_bj/m_bj;
	c =(m_bj+m_bc)*(m_bj-m_bc)/(1.0+0.6*1e3*m_ft/qj);
	h0 =(sqrt(m_bc*m_bc+c) -m_bc)/2.0;//m

	m_hj=h0+0.04;//m
	fmtb.Format("%6.3f",m_hj);
	m_hj =atof(fmtb);
		
	UpdateData(FALSE);	
}

void CSdt15::OnBUTTONjsa() 
{	
	double qj,d150,d200;
	UpdateData(TRUE);
	
	qj =m_nl/m_bj/m_bj;
	m_m =1.3*qj*(m_bj-m_bc)*(m_bj-m_bc)*(2*m_bj+m_bc)/24.0;//kN-m
	m_as=1e6*m_m/m_fy/(m_hj*1e3-40)/0.9/m_bj;//mmxmm/m

	fmtb.Format("%8.2f",m_m);
	m_m =atof(fmtb);
	fmtb.Format("%7.0f",m_as);
	m_as =atof(fmtb);
	
	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_jss15 == TRUE){ 

	FILE *ou; 	
	CString flname;

	if(m_gcm15 =="") {AfxMessageBox("请输入工程名!"); return;}

	flname=m_gcm15 + ".txt";
	ou=fopen(flname,"a");

	fprintf(ou,"\n\n\n");
	
	fprintf(ou,"\n   ***********************************************************************");
	fprintf(ou,"\n   ***                       结 构 设 计 计 算 书                      ***");
	fprintf(ou,"\n   ***                                                                 ***");
	fprintf(ou,"\n   ***                       Sdt10 -  独立基础设计                     ***");
	fprintf(ou,"\n   *************************************************    Zgs 2002    ******");

	fprintf(ou,"\n\n   工程名称: %s   构件编号: %s",m_gcm15,m_bh15);
	
	fprintf(ou,"\n\n   柱基荷载 N =%8.3f (kN/m),",m_nl);
	fprintf(ou,"\n   基础埋深 D =%6.3f (m),  方柱宽度 Bc =%6.3f (m),",m_d,m_bc);
	fprintf(ou,"\n   地基承载力特征值 Fak =%8.3f (kPa), 修正后地基承载力特征值 Fa =%8.3f (kPa),",
						m_fk,m_f);
	fprintf(ou,"\n   钢筋强度 Fy =%8.2f (MPa),  砼抗拉强度 Ft =%8.2f (MPa),",m_fy,m_ft);

	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);
	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 CSdt15::OnBTSdtHelp15() 
{
	ads_help("sdt2002.hlp","SDT10",0);	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -