📄 rhcount.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 + -