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

📄 sdt03.cpp

📁 AutoCAD平台结构设计工具 按最新国家结构设计规范编写.
💻 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 + -