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

📄 rhcount.cpp

📁 一个有VC++开发的计算建筑工程行业软件 可以计算挖孔桩的方量,方格网的计算,支持保存和加载数据
💻 CPP
字号:
// RhCount.cpp : implementation file
//
#include "stdafx.h"
#include "RhCount.h"

#define PI 3.14159265794
#define GJ6_5    0.26
#define GJ8      0.395
#define GJ10     0.617
#define GJ12     0.888
#define GJ14     1.21
#define GJ16     1.58
#define GJ18     2.00
#define GJ20     2.47
#define GJ22     2.98
#define GJ25     3.85

/////////////////////////////////////////////////////////////////////////////
// CRhCount构造造函数1
CRhCount::CRhCount()
{   
   
}
DOUBLE 	CRhCount::sumgj6_5=0;      //给静态成员赋初值  
DOUBLE 	CRhCount::sumgj8=0;        
DOUBLE 	CRhCount::sumgj10=0;       
DOUBLE 	CRhCount::sumgji12=0;      
DOUBLE 	CRhCount::sumgj12=0;      
DOUBLE 	CRhCount::sumgj14=0;     
DOUBLE 	CRhCount::sumgj16=0;      
DOUBLE 	CRhCount::sumgj18=0;  
CRhCount::~CRhCount()
{
}
/////////////////////////////////////////////////////////////////////////////
//初始化或再设置类中参数值
void CRhCount::InitCS(CS InCS)
{
     rhcs=InCS;

}
//设置计算用的默认参数
CS CRhCount::SetDefaultCS()
{
	 rhcs.ykz1_lxk100=0.8695;  //ykz1-5螺旋箍@100每圈钢筋重量
	 rhcs.ykz1_lxk200=0.8722;  //ykz1-5螺旋箍@200每圈钢筋重量
	 rhcs.ykz1_gjwp=7.332;    //ykz1-5桩顶网片每个桩钢筋重量
	 rhcs.ykz1_gjhb=17.34;    //ykz1-5护壁每米钢筋重量
	 rhcs.ykz1_gjjjk=3.855;   //ykz1-5每个加劲箍钢筋重量
	 rhcs.ykz1_djm=8;     //ykz1-5每多少米计一次搭接
	 rhcs.ykz1_kdtv=0.00;    //ykz1-5每个桩扩大头增加方量
	 rhcs.ykz1_gdv=0.07;     //ykz1-5每个桩锅底增加方量

	 rhcs.ykz7_lxk100=1.106;  //ykz7螺旋箍@100每圈钢筋重量
	 rhcs.ykz7_lxk200=1.108;  //ykz7螺旋箍@200每圈钢筋重量
	 rhcs.ykz7_gjwp=11.76;    //ykz7桩顶网片每个桩钢筋重量
	 rhcs.ykz7_gjhb=19.33;    //ykz7护壁每米钢筋重量
	 rhcs.ykz7_gjjjk=6.219;   //ykz7每个加劲箍钢筋重量
	 rhcs.ykz7_djm=8;     //ykz7每多少米计一次搭接
	 rhcs.ykz7_kdtv=0.15;    //ykz7每个桩扩大头增加方量
	 rhcs.ykz7_gdv=0.19;     //ykz7每个桩锅底增加方量

	 rhcs.ykz10_lxk100=1.106;  //ykz10螺旋箍@100每圈钢筋重量
	 rhcs.ykz10_lxk200=1.108;  //ykz10螺旋箍@200每圈钢筋重量
	 rhcs.ykz10_gjwp=11.76;    //ykz10桩顶网片每个桩钢筋重量
	 rhcs.ykz10_gjhb=20.08;    //ykz10护壁每米钢筋重量
	 rhcs.ykz10_gjjjk=6.219;   //ykz10每个加劲箍钢筋重量
	 rhcs.ykz10_djm=8;     //ykz10每多少米计一次搭接
	 rhcs.ykz10_kdtv=0.15;    //ykz10每个桩扩大头增加方量
	 rhcs.ykz10_gdv=0.199;     //ykz10每个桩锅底增加方量

	 rhcs.ykz11_lxk100=1.264;  //ykz11螺旋箍@100每圈钢筋重量
	 rhcs.ykz11_lxk200=1.266;  //ykz11螺旋箍@200每圈钢筋重量
	 rhcs.ykz11_gjwp=13.37;    //ykz11桩顶网片每个桩钢筋重量
	 rhcs.ykz11_gjhb=21.91;    //ykz11护壁每米钢筋重量
	 rhcs.ykz11_gjjjk=6.945;   //ykz11每个加劲箍钢筋重量
	 rhcs.ykz11_djm=8;     //ykz11每多少米计一次搭接
	 rhcs.ykz11_kdtv=0.166;    //ykz11每个桩扩大头增加方量
	 rhcs.ykz11_gdv=0.231;     //ykz11每个桩锅底增加方量
	 return rhcs;
}

//初始化计算类中的原始数据
void CRhCount::InitData(GCDATA InData)
{
   rhgcdata=InData;
}

//清除总计数据归0
void CRhCount::ClearSum()
{
	sumgj6_5=0;        
    sumgj8=0;        
 	sumgj10=0;       
 	sumgji12=0;      
 	sumgj12=0;      
 	sumgj14=0;     
 	sumgj16=0;      
 	sumgj18=0;  
}
//根据桩代号得到相对应整数索引值 
INT CRhCount::GetIndex()
{
//	if(rhgcdata.strzdh==NULL)
 //       return 0;
	if(rhgcdata.strzdh=="YKZ_1")  return 1;
	else if(rhgcdata.strzdh=="YKZ_2")  return 2;
	else if(rhgcdata.strzdh=="YKZ_3")  return 3;
	else if(rhgcdata.strzdh=="YKZ_4")  return 4;
	else if(rhgcdata.strzdh=="YKZ_5")  return 5;
	else if(rhgcdata.strzdh=="YKZ_7")  return 7;
	else if(rhgcdata.strzdh=="YKZ_10")  return 10;
	else if(rhgcdata.strzdh=="YKZ_11")  return 11;
    else 
	{
		AfxMessageBox("你的当前桩代号不是YKZ_1-5、YKZ_7、YKZ_10、YKZ_11中的一个,不能计算.");
		return 0;
	}
}
//计算方量 d为孔径,h为高度,ID为桩代号索引
DOUBLE CRhCount::GetVValue(DOUBLE d,DOUBLE h,INT ID)  //得到土石方量
{
	DOUBLE V=0;
	if(ID>=1 && ID<=5)
	{
		V=PI*(d/2)*(d/2)*h;
	}
   else if(ID==7)
   {
		V=PI*(d/2)*(d/2)*h+0.235*d*h;
   }
   else if(ID==10)
   {
		V=PI*(d/2)*(d/2)*h+0.3*d*h;
   }
   else if(ID==11)
   {
	   V=PI*(d/2)*(d/2)*h+0.5*d*h;
   }
   else
	   AfxMessageBox("你的当前桩代号不是YKZ_1-5、YKZ_7、YKZ_10、YKZ_11中的一个,不能计算.");
   return V;
}

//得到当前条的数据计算结果
COUNTDATA CRhCount::GetItemCountResualt()
{  
	int ID=GetIndex();
	if(ID!=0) 
	switch(ID)
	{
		
	case 1:
		rhcountdata.sumzhb=GetZHbValue(0.24,rhgcdata.zhb,ID);
		rhcountdata.sumthb=GetTHbValue(rhgcdata.thb,ID);
        rhcountdata.sumtV=GetVValue(0.80,rhgcdata.th,ID)+ rhcountdata.sumzhb+rhcountdata.sumthb;
        rhcountdata.sumssV=GetVValue(0.8,rhgcdata.ssh,ID);
        rhcountdata.sumzstV=GetZsTValue(rhgcdata.ztop-rhgcdata.zbuttom,rhgcdata.thb,ID);
		rhcountdata.sumgjweight=GetGjWeightValue(rhgcdata.ztop-rhgcdata.zbuttom,rhgcdata.thb,ID);
		rhcountdata.sumpsV=GetVValue(0.8,rhgcdata.psh,ID)+rhcs.ykz1_gdv;
       	break;
	case 2:
        rhcountdata.sumzhb=GetZHbValue(0.24,rhgcdata.zhb,ID);
		rhcountdata.sumthb=GetTHbValue(rhgcdata.thb,ID);
        rhcountdata.sumtV=GetVValue(0.80,rhgcdata.th,ID)+ rhcountdata.sumzhb+rhcountdata.sumthb;
        rhcountdata.sumssV=GetVValue(0.8,rhgcdata.ssh,ID);
        rhcountdata.sumzstV=GetZsTValue(rhgcdata.ztop-rhgcdata.zbuttom,rhgcdata.thb,ID)+0.06;
		rhcountdata.sumgjweight=GetGjWeightValue(rhgcdata.ztop-rhgcdata.zbuttom,rhgcdata.thb,ID);
		rhcountdata.sumpsV=GetVValue(0.8,rhgcdata.psh,ID)+rhcs.ykz1_gdv+rhcs.ykz1_kdtv+0.06;
       	break;
	case 3:
        rhcountdata.sumzhb=GetZHbValue(0.24,rhgcdata.zhb,ID);
		rhcountdata.sumthb=GetTHbValue(rhgcdata.thb,ID);
        rhcountdata.sumtV=GetVValue(0.80,rhgcdata.th,ID)+ rhcountdata.sumzhb+rhcountdata.sumthb;
        rhcountdata.sumssV=GetVValue(0.8,rhgcdata.ssh,ID);
        rhcountdata.sumzstV=GetZsTValue(rhgcdata.ztop-rhgcdata.zbuttom,rhgcdata.thb,ID)+0.081;
		rhcountdata.sumgjweight=GetGjWeightValue(rhgcdata.ztop-rhgcdata.zbuttom,rhgcdata.thb,ID);
		rhcountdata.sumpsV=GetVValue(0.8,rhgcdata.psh,ID)+rhcs.ykz1_gdv+rhcs.ykz1_kdtv+0.081;
       	break;
	case 4:
        rhcountdata.sumzhb=GetZHbValue(0.24,rhgcdata.zhb,ID);
		rhcountdata.sumthb=GetTHbValue(rhgcdata.thb,ID);
        rhcountdata.sumtV=GetVValue(0.80,rhgcdata.th,ID)+ rhcountdata.sumzhb+rhcountdata.sumthb;
        rhcountdata.sumssV=GetVValue(0.8,rhgcdata.ssh,ID);
        rhcountdata.sumzstV=GetZsTValue(rhgcdata.ztop-rhgcdata.zbuttom,rhgcdata.thb,ID)+0.107;
		rhcountdata.sumgjweight=GetGjWeightValue(rhgcdata.ztop-rhgcdata.zbuttom,rhgcdata.thb,ID);
		rhcountdata.sumpsV=GetVValue(0.8,rhgcdata.psh,ID)+rhcs.ykz1_gdv+rhcs.ykz1_kdtv+0.107;
       	break;
	case 5:
        rhcountdata.sumzhb=GetZHbValue(0.24,rhgcdata.zhb,ID);
		rhcountdata.sumthb=GetTHbValue(rhgcdata.thb,ID);
        rhcountdata.sumtV=GetVValue(0.80,rhgcdata.th,ID)+ rhcountdata.sumzhb+rhcountdata.sumthb;
        rhcountdata.sumssV=GetVValue(0.8,rhgcdata.ssh,ID);
        rhcountdata.sumzstV=GetZsTValue(rhgcdata.ztop-rhgcdata.zbuttom,rhgcdata.thb,ID)+0.135;
		rhcountdata.sumgjweight=GetGjWeightValue(rhgcdata.ztop-rhgcdata.zbuttom,rhgcdata.thb,ID);
		rhcountdata.sumpsV=GetVValue(0.8,rhgcdata.psh,ID)+rhcs.ykz1_gdv+rhcs.ykz1_kdtv+0.135;
       	break;

	case 7:
		rhcountdata.sumzhb=GetZHbValue(0.240,rhgcdata.zhb,ID);
		rhcountdata.sumthb=GetTHbValue(rhgcdata.thb,ID);
        rhcountdata.sumtV=GetVValue(0.80,rhgcdata.th,ID)+ rhcountdata.sumzhb+rhcountdata.sumthb;
        rhcountdata.sumssV=GetVValue(0.8,rhgcdata.ssh,ID);
        rhcountdata.sumzstV=GetZsTValue(rhgcdata.ztop-rhgcdata.zbuttom,rhgcdata.zhb+rhgcdata.thb,ID);
		rhcountdata.sumgjweight=GetGjWeightValue(rhgcdata.ztop-rhgcdata.zbuttom,rhgcdata.zhb+rhgcdata.thb,ID);
        rhcountdata.sumpsV=GetVValue(0.8,rhgcdata.psh,ID)+rhcs.ykz7_gdv+rhcs.ykz7_kdtv;
		break;

	case 10:
		rhcountdata.sumzhb=GetZHbValue(0.240,rhgcdata.zhb,ID);
		rhcountdata.sumthb=GetTHbValue(rhgcdata.thb,ID);
        rhcountdata.sumtV=GetVValue(0.80,rhgcdata.th,ID)+ rhcountdata.sumzhb+rhcountdata.sumthb;
        rhcountdata.sumssV=GetVValue(0.8,rhgcdata.ssh,ID);
        rhcountdata.sumzstV=GetZsTValue(rhgcdata.ztop-rhgcdata.zbuttom,rhgcdata.zhb+rhgcdata.thb,ID);
		rhcountdata.sumgjweight=GetGjWeightValue(rhgcdata.ztop-rhgcdata.zbuttom,rhgcdata.zhb+rhgcdata.thb,ID);
        rhcountdata.sumpsV=GetVValue(0.8,rhgcdata.psh,ID)+rhcs.ykz10_gdv+rhcs.ykz10_kdtv;
		break;

	case 11:
		rhcountdata.sumzhb=GetZHbValue(0.240,rhgcdata.zhb,ID);
		rhcountdata.sumthb=GetTHbValue(rhgcdata.thb,ID);
        rhcountdata.sumtV=GetVValue(0.80,rhgcdata.th,ID)+ rhcountdata.sumzhb+rhcountdata.sumthb;
        rhcountdata.sumssV=GetVValue(0.8,rhgcdata.ssh,ID);
        rhcountdata.sumzstV=GetZsTValue(rhgcdata.ztop-rhgcdata.zbuttom,rhgcdata.zhb+rhgcdata.thb,ID);
		rhcountdata.sumgjweight=GetGjWeightValue(rhgcdata.ztop-rhgcdata.zbuttom,rhgcdata.zhb+rhgcdata.thb,ID);
        rhcountdata.sumpsV=GetVValue(0.8,rhgcdata.psh,ID)+rhcs.ykz11_gdv+rhcs.ykz11_kdtv;
		break;
	default:

		break;

	}//end switch
	



  return rhcountdata;
}
//
DOUBLE CRhCount::GetZHbValue(DOUBLE b,DOUBLE h,INT ID)        //得到砖护壁方量 
{
	DOUBLE ZHbValue=0;
    if(ID>=1 && ID<=5)
		ZHbValue=(0.8+b)*PI*b*h;
	else if(ID==7)
		ZHbValue=(0.8+b)*PI*b*h+0.235*2*b*h;
	else if(ID==10)
		ZHbValue=(0.8+b)*PI*b*h+0.3*2*b*h;
	else if(ID==11)
		ZHbValue=(0.8+b)*PI*b*h+0.5*2*b*h;
	else
		AfxMessageBox("你的前桩代号不是YKZ_1-5、YKZ_7、YKZ_10、YKZ_11中的一个,不能计算.");
	return ZHbValue;
}
DOUBLE CRhCount::GetTHbValue(DOUBLE h,INT ID)                 //得到砼护壁方量             
{
	DOUBLE THbValue=0;
    if(ID>=1 && ID<=5)
		THbValue=(0.8+0.15)*PI*0.15*h;
	else if(ID==7)
		THbValue=(0.8+0.15)*PI*0.15*h+0.235*2*0.15*h;
	else if(ID==10)
		THbValue=(0.8+0.15)*PI*0.15*h+0.3*2*0.15*h;
	else if(ID==11)
		THbValue=(0.8+0.15)*PI*0.15*h+0.5*2*0.15*h;
	else
		AfxMessageBox("你的前桩代号不是YKZ_1-5、YKZ_7、YKZ_10、YKZ_11中的一个,不能计算.");
	return THbValue;
}
DOUBLE CRhCount::GetZsTValue(DOUBLE h,DOUBLE hbh,INT ID)      //得到桩身砼方量
{
	DOUBLE ZsTValue=0;
    if(ID==1)
        ZsTValue=PI*0.4*0.4*h+0.1335*hbh+rhcs.ykz1_gdv;
    else if(ID>=2 && ID<=5)
		ZsTValue=PI*0.4*0.4*h+0.1335*hbh+rhcs.ykz1_gdv+rhcs.ykz1_kdtv;
	else if(ID==7)
		ZsTValue=PI*0.4*0.4*h+0.8*0.235+0.144*hbh+rhcs.ykz7_gdv+rhcs.ykz7_kdtv;
	else if(ID==10)
		ZsTValue=PI*0.4*0.4*h+0.8*0.3+0.1635*hbh+rhcs.ykz10_gdv+rhcs.ykz10_kdtv;
    else if(ID==11)
		ZsTValue=PI*0.4*0.4*h+0.8*0.5+0.1835*hbh+rhcs.ykz11_gdv+rhcs.ykz11_kdtv;
    else 
		AfxMessageBox("444你的前桩代号不是YKZ_1-5、YKZ_7、YKZ_10、YKZ_11中的一个,不能计算.");
	return ZsTValue;
}
DOUBLE CRhCount::GetGjWeightValue(DOUBLE h,DOUBLE hbh,INT ID) //得到钢筋重量 
{
	 DOUBLE  GjZj=0;   //主筋
	 DOUBLE  GjKj=0;   //箍筋
	 DOUBLE  GjWp=0;   //网片筋
	 DOUBLE  GjJjk=0;   //加劲箍
	 INT     Jjkn=2;    //加劲箍数量
	 DOUBLE  GjHb=0;    //护壁钢筋

     DOUBLE GjSumWeight=0;   //钢筋总重量
     if(ID>=1 && ID<=5)
	 {
		 GjZj=(h-0.08)*14*GJ14;
		 GjZj=GjZj+INT((rhgcdata.ztop-rhgcdata.zbuttom)/rhcs.ykz1_djm)*14*42*0.014*1.21;   //加上8米一搭接
         sumgj14=sumgj14+GjZj;
		 if(h>2)
		 {
			 GjKj=21.5*rhcs.ykz1_lxk100+(INT((h-2)/0.2)+0.5)*rhcs.ykz1_lxk200;
             GjKj=GjKj+INT((GjKj/0.395)/8)*0.44*0.395;    //加上8米一搭接
			 sumgj8=sumgj8+GjKj;
		 }
		 else 
		 {
			 GjKj=((INT(h/0.1))+1.5)*rhcs.ykz1_lxk100;
             GjKj=GjKj+INT((GjKj/0.395)/8)*0.44*0.395;
			 sumgj8=sumgj8+GjKj;
		 }

		 GjWp=rhcs.ykz1_gjwp;
         sumgj12=sumgj12+GjWp;

		 if(h<4 && h>3)  Jjkn=3;
		 else if(h<=3)   Jjkn=2;
		 else if(h>=4)   Jjkn=INT(h/2)+1;
         else            Jjkn=2;
         GjJjk=Jjkn*rhcs.ykz1_gjjjk;
		 sumgj14=sumgj14+GjJjk;
		 
     	 GjHb=hbh*rhcs.ykz1_gjhb; 
         sumgj8=sumgj8+GjHb;

	 } //end if(ID>=1 && ID<=5)
	else if(ID==7)
		 {
			 GjZj=(h-0.08)*14*GJ16;
			 GjZj=GjZj+INT((rhgcdata.ztop-rhgcdata.zbuttom)/rhcs.ykz7_djm)*14*42*0.016*1.58;   //加上8米一搭接
			 sumgj16=sumgj16+GjZj;

			 if(h>2)
			 {
				 GjKj=21.5*rhcs.ykz7_lxk100+(INT((h-2)/0.2)+0.5)*rhcs.ykz7_lxk200;
				  GjKj=GjKj+INT((GjKj/0.395)/8)*0.44*0.395;    //加上8米一搭接
				  sumgj8=sumgj8+GjKj;
			 }
			 else 
			 { 
				 GjKj=((INT(h/0.1))+1.5)*rhcs.ykz7_lxk100;
				 GjKj=GjKj+INT((GjKj/0.395)/8)*0.44*0.395;    //加上8米一搭接
				  sumgj8=sumgj8+GjKj;
			 }

			 GjWp=rhcs.ykz7_gjwp;
			 sumgj12=sumgj12+GjWp;

			 if(h<4 && h>3)  Jjkn=3;
			 else if(h<=3)   Jjkn=2;
			 else if(h>=4)   Jjkn=INT(h/2)+1;
			 else            Jjkn=2;
			 GjJjk=Jjkn*rhcs.ykz7_gjjjk;
			 sumgj14=sumgj14+GjJjk; 

     		 GjHb=hbh*rhcs.ykz7_gjhb;
			 sumgj8=sumgj8+GjKj;

		 } //end if(ID==7)

     else if(ID==10)
	 {
		 GjZj=(h-0.08)*16*GJ16;
		 GjZj=GjZj+INT((rhgcdata.ztop-rhgcdata.zbuttom)/rhcs.ykz10_djm)*16*42*0.016*1.58;   //加上8米一搭接
		 sumgj16=sumgj16+GjZj;

		 if(h>2)
		 {
			 GjKj=21.5*rhcs.ykz10_lxk100+(INT((h-2)/0.2)+0.5)*rhcs.ykz10_lxk200;
              GjKj=GjKj+INT((GjKj/0.395)/8)*0.44*0.395;    //加上8米一搭接
			  sumgj8=sumgj8+GjKj;
		 }
		 else 
		 { 
			 GjKj=((INT(h/0.1))+1.5)*rhcs.ykz10_lxk100;
             GjKj=GjKj+INT((GjKj/0.395)/8)*0.44*0.395;    //加上8米一搭接
			  sumgj8=sumgj8+GjKj;
		 }

		 GjWp=rhcs.ykz10_gjwp;
		 sumgj12=sumgj12+GjWp;

		 if(h<4 && h>3)  Jjkn=3;
		 else if(h<=3)   Jjkn=2;
		 else if(h>=4)   Jjkn=INT(h/2)+1;
         else            Jjkn=2;
         GjJjk=Jjkn*rhcs.ykz10_gjjjk;
		 sumgj14=sumgj14+GjJjk; 

     	 GjHb=hbh*rhcs.ykz10_gjhb;
		 sumgj8=sumgj8+GjKj;

	 } //end if(ID==10)

     else if(ID==11)
	 {
		GjZj=(h-0.08)*18*GJ16;
		 GjZj=GjZj+INT((rhgcdata.ztop-rhgcdata.zbuttom)/rhcs.ykz11_djm)*18*42*0.016*1.58;   //加上8米一搭接
		 sumgj16=sumgj16+GjZj;

		 if(h>2)
		 {
			 GjKj=21.5*rhcs.ykz11_lxk100+(INT((h-2)/0.2)+0.5)*rhcs.ykz11_lxk200;
             GjKj=GjKj+INT((GjKj/0.395)/8)*0.44*0.395;    //加上8米一搭接
			 sumgj8=sumgj8+GjKj;
		 }
		 else 
		 {
			 GjKj=((INT(h/0.1))+1.5)*rhcs.ykz11_lxk100;
             GjKj=GjKj+INT((GjKj/0.395)/8)*0.44*0.395;    //加上8米一搭接
			 sumgj8=sumgj8+GjKj;
		 }
		 GjWp=rhcs.ykz11_gjwp;
		 sumgj12=sumgj12+GjWp;

		 if(h<4 && h>3)  Jjkn=3;
		 else if(h<=3)   Jjkn=2;
		 else if(h>=4)   Jjkn=INT(h/2)+1;
         else            Jjkn=2;
         GjJjk=Jjkn*rhcs.ykz11_gjjjk;
		 sumgj14=sumgj14+GjJjk; 

     	 GjHb=hbh*rhcs.ykz11_gjhb; 
		 sumgj8=sumgj8+GjKj;
	 } //end if(ID==11)
     
	 GjSumWeight=GjZj+GjKj+GjWp+GjJjk+GjHb;
	 return GjSumWeight;
}

⌨️ 快捷键说明

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