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

📄 sdt04.cpp

📁 AotoCAD平台下的结构设计工具
💻 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 + -