📄 xiechilun4.cpp
字号:
// xiechilun4.cpp : implementation file
//
#include "stdafx.h"
#include "Code.h"
#include "xiechilun4.h"
#include "atlconv.h"
#include <math.h>
#include "xiechilun3.h"
#include "main.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// xiechilun4 dialog
xiechilun4::xiechilun4(CWnd* pParent /*=NULL*/)
: CDialog(xiechilun4::IDD, pParent)
{
//{{AFX_DATA_INIT(xiechilun4)
m_anquanxishu = 1.0;
m_bianweixishu = 0.0;
m_shuchumoshu = 0.0;
m_chixiangzaihefenbuxishu = 0.0;
m_congdangliangchishu = 0.0;
m_xchixingxishu = 0.0;
m_dchixingxishu = 0.0;
m_xyinglijiaozheng = 0.0;
m_dyinglijiaozheng = 0.0;
m_xwanqujixian = 0.0;
m_dwanqujixian = 0.0;
m_xshoumingxishu = 0.0;
m_dshoumingxishu = 0.0;
m_luoxuanjiaoxishu = 0.0;
m_fenduyuan = 0.0;
m_chikuan = 0.0;
m_xiuzhengluoxuanjiao = 0.0;
m_jiankuan = 0.0;
m_gugao = 0.0;
m_chishu = 0.0;
m_chigenyuanzhijing = 0.0;
m_chigengao = 0.0;
m_chidingyuanzhijing = 0.0;
m_dingxi = 0.0;
m_quanchigao = 0.0;
m_chiju = 0.0;
m_gongzuogaodu = 0.0;
m_chidinggao = 0.0;
m_faxiangyalijiao = 20.0;
m_yuanzhengzhongxinju = 0.0;
m_chizhouzhijing = 0.0;
m_fenduzhijing1 = 0.0;
m_dachikuan = 0.0;
m_TCXT = FALSE;
m_zhudangliangchishu = 0.0;
//}}AFX_DATA_INIT
}
void xiechilun4::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(xiechilun4)
DDX_Control(pDX, IDC_COMBO5, m_biaozhunmoshu);
DDX_Text(pDX, IDC_EDIT1, m_anquanxishu);
DDX_Text(pDX, IDC_EDIT11, m_bianweixishu);
DDX_Text(pDX, IDC_EDIT2, m_shuchumoshu);
DDX_Text(pDX, IDC_EDIT26, m_chixiangzaihefenbuxishu);
DDX_Text(pDX, IDC_EDIT48, m_congdangliangchishu);
DDX_Text(pDX, IDC_EDIT27, m_xchixingxishu);
DDX_Text(pDX, IDC_EDIT28, m_dchixingxishu);
DDX_Text(pDX, IDC_EDIT29, m_xyinglijiaozheng);
DDX_Text(pDX, IDC_EDIT30, m_dyinglijiaozheng);
DDX_Text(pDX, IDC_EDIT3, m_xwanqujixian);
DDX_Text(pDX, IDC_EDIT14, m_dwanqujixian);
DDX_Text(pDX, IDC_EDIT15, m_xshoumingxishu);
DDX_Text(pDX, IDC_EDIT25, m_dshoumingxishu);
DDX_Text(pDX, IDC_EDIT49, m_luoxuanjiaoxishu);
DDX_Text(pDX, IDC_EDIT31, m_fenduyuan);
DDX_Text(pDX, IDC_EDIT32, m_chikuan);
DDX_Text(pDX, IDC_EDIT33, m_xiuzhengluoxuanjiao);
DDX_Text(pDX, IDC_EDIT34, m_jiankuan);
DDX_Text(pDX, IDC_EDIT35, m_gugao);
DDX_Text(pDX, IDC_EDIT36, m_chishu);
DDX_Text(pDX, IDC_EDIT37, m_chigenyuanzhijing);
DDX_Text(pDX, IDC_EDIT50, m_chigengao);
DDX_Text(pDX, IDC_EDIT38, m_chidingyuanzhijing);
DDX_Text(pDX, IDC_EDIT39, m_dingxi);
DDX_Text(pDX, IDC_EDIT40, m_quanchigao);
DDX_Text(pDX, IDC_EDIT41, m_chiju);
DDX_Text(pDX, IDC_EDIT42, m_gongzuogaodu);
DDX_Text(pDX, IDC_EDIT43, m_chidinggao);
DDX_Text(pDX, IDC_EDIT52, m_faxiangyalijiao);
DDX_Text(pDX, IDC_EDIT51, m_yuanzhengzhongxinju);
DDX_Text(pDX, IDC_EDIT53, m_chizhouzhijing);
DDX_Text(pDX, IDC_EDIT54, m_fenduzhijing1);
DDX_Text(pDX, IDC_EDIT55, m_dachikuan);
DDX_Check(pDX, IDC_CHECK1, m_TCXT);
DDX_Text(pDX, IDC_EDIT47, m_zhudangliangchishu);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(xiechilun4, CDialog)
//{{AFX_MSG_MAP(xiechilun4)
ON_BN_CLICKED(IDC_BUTTON5, Onchixiangzaihefenbu)
ON_BN_CLICKED(IDC_BUTTON21, OnHelpBtn)
ON_BN_CLICKED(IDC_BUTTON20, OnPreBtn)
ON_BN_CLICKED(IDC_BUTTON6, Onzhuchixingxishu)
ON_BN_CLICKED(IDC_BUTTON7, Oncongchixingxishu)
ON_BN_CLICKED(IDC_BUTTON18, Onzhuyinglijiaozheng)
ON_BN_CLICKED(IDC_BUTTON19, Oncongyinglijiaozheng)
ON_BN_CLICKED(IDC_BUTTON1, Onzhuwanqupilaojixian)
ON_BN_CLICKED(IDC_BUTTON2, Oncongwuqupilao)
ON_BN_CLICKED(IDC_BUTTON3, Onzhuwauqushouming)
ON_BN_CLICKED(IDC_BUTTON4, Oncongwauqushouming)
ON_BN_CLICKED(IDC_BUTTON32, Onzhudangliang)
ON_BN_CLICKED(IDC_BUTTON33, Oncongdangliangchishu)
ON_BN_CLICKED(IDC_BUTTON24, Onjisuan)
ON_BN_CLICKED(IDC_BUTTON34, Onluoxuanjiaoyingxiangxishu)
ON_BN_CLICKED(IDC_BUTTON25, Onyansuan)
ON_BN_CLICKED(IDC_RADIO1, Onhuizhizhudonglun)
ON_BN_CLICKED(IDC_BUTTON23, OnCancel)
ON_BN_CLICKED(IDC_BUTTON22, Onhuitu)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// xiechilun4 message handlers
BOOL xiechilun4::OnInitDialog()
{
CDialog::OnInitDialog();
CString moshu;
try{
m_ADODatabase.SetConnectionString(_T("Provider=SQLOLEDB.1;Password=00;User ID=david;Initial Catalog=chuandong;Data Source=acer"));
m_ADODatabase.Open();
BOOL b = m_ADODatabase.IsOpen();
m_ADORecordset.Open(m_ADODatabase.GetActiveConnection(), _T("select * from moshubiao"));
while(!m_ADORecordset.IsEof())
{
m_ADORecordset.GetFieldValue("moshu", moshu);
m_biaozhunmoshu.AddString(moshu);
m_ADORecordset.MoveNext();
}
}
catch (_com_error e)
{
AfxMessageBox(CString(e.ErrorMessage()));
}
m_ADORecordset.Close();
m_biaozhunmoshu.SetCurSel(0);
UpdateData(false);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void xiechilun4::Onchixiangzaihefenbu()
{
UpdateData(true);
xianshiweitu("res\\14.bmp");
}
void xiechilun4::OnHelpBtn()
{
AfxMessageBox(_T("请与合肥数字化设计中心联系!"));
}
void xiechilun4::OnCancel()
{
if (m_preDlg) m_preDlg->Quit();
CDialog::OnCancel();
}
void xiechilun4::OnPreBtn()
{
CDialog::OnCancel();
m_preDlg->ShowWindow(SW_SHOW);
}
void xiechilun4::Quit()
{
CDialog::OnOK();
if (m_preDlg) m_preDlg->Quit();
}
void xiechilun4::xianshiweitu(CString pp)
{
CString m_sBitmap;
CBitmap m_bmpBitmap;
m_sBitmap=pp;
UpdateData(FALSE);
HBITMAP hBitmap=(HBITMAP)::LoadImage(AfxGetInstanceHandle(),m_sBitmap,IMAGE_BITMAP,0,0,LR_LOADFROMFILE|LR_CREATEDIBSECTION);
if(hBitmap)
{
if (m_bmpBitmap.DeleteObject())
m_bmpBitmap.Detach();
m_bmpBitmap.Attach(hBitmap);
}
BITMAP bm;
m_bmpBitmap.GetBitmap(&bm);
CDC *dc,dcMem1;
dc = GetDlgItem(IDC_BMP)->GetDC();
dcMem1.CreateCompatibleDC(dc);
CBitmap* pOldBitmap=(CBitmap*)dcMem1.SelectObject(m_bmpBitmap);
CRect lRect;
GetDlgItem(IDC_BMP)->GetClientRect(lRect);
dc->StretchBlt(5,5,(lRect.Width()-10),(lRect.Height()-10),&dcMem1,0,0,bm.bmWidth,bm.bmHeight,SRCCOPY); //进行绘图!
}
void xiechilun4::Onzhuchixingxishu()
{
UpdateData(true);
xianshiweitu("res\\21.bmp");
}
void xiechilun4::Oncongchixingxishu()
{
UpdateData(true);
xianshiweitu("res\\21.bmp");
}
void xiechilun4::Onzhuyinglijiaozheng()
{
UpdateData(true);
xianshiweitu("res\\21.bmp");
}
void xiechilun4::Oncongyinglijiaozheng()
{
UpdateData(true);
xianshiweitu("res\\21.bmp");
}
void xiechilun4::Onzhuwanqupilaojixian()
{
UpdateData(true);
CString xcailiao;
m_preDlg->UpdateData(TRUE);
xcailiao=m_preDlg->m_xiaocailiao;
if(xcailiao=="灰铸铁")
{
xianshiweitu("res\\1.bmp");
}
else if(xcailiao=="球墨铸铁")
{
xianshiweitu("res\\1.bmp");
}
else
{
xianshiweitu("res\\3.bmp");
}
}
void xiechilun4::Oncongwuqupilao()
{
UpdateData(true);
CString dcailiao;
m_preDlg->UpdateData(TRUE);
dcailiao=m_preDlg->m_dacailiao;
if(dcailiao=="灰铸铁")
{
xianshiweitu("res\\1.bmp");
}
else if(dcailiao=="球墨铸铁")
{
xianshiweitu("res\\1.bmp");
}
else
{
xianshiweitu("res\\3.bmp");
}
}
void xiechilun4::Onzhuwauqushouming()
{
UpdateData(true);
xianshiweitu("res\\13.bmp");
}
void xiechilun4::Oncongwauqushouming()
{
UpdateData(true);
xianshiweitu("res\\13.bmp");
}
void xiechilun4::Onluoxuanjiaoyingxiangxishu()
{
UpdateData(true);
xianshiweitu("res\\28.bmp");
}
void xiechilun4::Onzhudangliang()
{
UpdateData(true);
int chishu;
double luoxuanjiao;
m_preDlg->UpdateData(TRUE);
chishu=m_preDlg->m_chishu;
luoxuanjiao=m_preDlg->m_luoxuanjiao;
m_zhudangliangchishu=chishu/pow(cos((luoxuanjiao*3.1415926)/180),3);
UpdateData(false);
}
void xiechilun4::Oncongdangliangchishu()
{
UpdateData(true);
int chishu,dachishu;
double luoxuanjiao,chuandongbi;
m_preDlg->UpdateData(TRUE);
chishu=m_preDlg->m_chishu;
chuandongbi=m_preDlg->m_chuandongbi;
dachishu=int(chishu*chuandongbi)+1;
luoxuanjiao=m_preDlg->m_luoxuanjiao;
m_congdangliangchishu=dachishu/pow(cos((luoxuanjiao*3.1415926)/180),3);
UpdateData(false);
}
void xiechilun4::Onjisuan()
{
UpdateData(true);
CString chikuan;
double dongzai,shiyong,chikuan1,zhuanju,zhuduanmian,congduanmian,duanmianchonghe,luoxuanjiao;
int chishu;
m_preDlg->UpdateData(TRUE);
luoxuanjiao=m_preDlg->m_luoxuanjiao;
dongzai=m_preDlg->m_dongzaixishu;
shiyong=m_preDlg->m_shiyongxishu;
chishu=m_preDlg->m_chishu;
m_preDlg->m_chikuanxishu.GetWindowText(chikuan);
chikuan1=strtodouble(chikuan);
zhuanju=m_preDlg->m_chuandizhuanju;
zhuduanmian=m_preDlg->m_zhuduanmianchonghe;
congduanmian=m_preDlg->m_congduanmianchonghe;
duanmianchonghe=zhuduanmian+congduanmian;
double Qf1,Qf2,K,H1,H2,m;
Qf1=(m_xshoumingxishu*m_xwanqujixian)/m_anquanxishu;
Qf2=(m_dshoumingxishu*m_dwanqujixian)/m_anquanxishu;
K=shiyong*dongzai*1.4*m_chixiangzaihefenbuxishu;
H1=(m_xchixingxishu*m_xyinglijiaozheng)/Qf1;
H2=(m_dchixingxishu*m_dyinglijiaozheng)/Qf2;
if(H1<H2)
m=pow((2*K*zhuanju*m_luoxuanjiaoxishu*pow(cos((luoxuanjiao*3.1415926)/180),2)/(chikuan1*pow(chishu,2)*duanmianchonghe)*H2),(0.333333333));
else
m=pow((2*K*zhuanju*m_luoxuanjiaoxishu*pow(cos((luoxuanjiao*3.1415926)/180),2)/(chikuan1*pow(chishu,2)*duanmianchonghe)*H1),(0.333333333));
m_shuchumoshu=m;
UpdateData(false);
}
double xiechilun4::strtodouble(CString pp1)
{
double xpp;
char *pszTemp=pp1.GetBuffer(0);
int nLength = strlen(pszTemp);
char *xp = new char[nLength + 1];
strcpy(xp, pszTemp);
xp[nLength] = '\0';
xpp=atof(xp);
return xpp;
}
void xiechilun4::Onyansuan()
{
j=1;
UpdateData(true);
double zhuanju,Ft,t,shiyong;
m_preDlg->UpdateData(TRUE);
zhuanju=m_preDlg->m_chuandizhuanju;
Ft=2*zhuanju/m_fenduzhijing1;
shiyong=m_preDlg->m_shiyongxishu;
t=shiyong*Ft/m_dachikuan;
if(t<100)
{
AfxMessageBox(_T("验算合格!"));
}
else
AfxMessageBox(_T("验算不合格,请重新进行校核!"));
}
void xiechilun4::Onhuizhizhudonglun()
{
UpdateData(true);
CString mushu,chikuan;
double mushu1,fenduyuan,chikuan1,getAx,getAx1,Ckeyw,Ckeyt1,Djs,gonglu,zhuansu,luoxuanjiao,chilunkuandu,ck,Z2,chuandongbi;
m_biaozhunmoshu.GetWindowText(mushu);
mushu1=strtodouble(mushu);
m_preDlg->UpdateData(TRUE);
m_preDlg->m_chikuanxishu.GetWindowText(chikuan);
chikuan1=strtodouble(chikuan);
fenduyuan=m_preDlg->m_fenduyuanzhijing;
chuandongbi=m_preDlg->m_chuandongbi;
gonglu=m_preDlg->m_gonglu;
zhuansu=m_preDlg->m_zhuansu;
luoxuanjiao=m_preDlg->m_luoxuanjiao;
m_chishu=int((fenduyuan/mushu1)*cos(luoxuanjiao*3.1415926/180));
Z2=int(int((fenduyuan/mushu1)*cos(luoxuanjiao*3.1415926/180))*chuandongbi);
UpdateData(false);
m_fenduyuan=(mushu1*m_chishu)/cos(luoxuanjiao*3.1415926/180);
m_fenduzhijing1=(mushu1*m_chishu)/cos(luoxuanjiao*3.1415926/180);
ck=chikuan1*(mushu1*m_chishu)/cos(luoxuanjiao*3.1415926/180);
m_ADORecordset.Open(m_ADODatabase.GetActiveConnection(), _T("select * from chikuan"));
while(!m_ADORecordset.IsEof())
{
m_ADORecordset.GetFieldValue("chikuan", chilunkuandu);
if(chilunkuandu >= ck)
{
m_chikuan=chilunkuandu;
m_dachikuan=chilunkuandu;
break;
}
m_ADORecordset.MoveNext();
}
m_ADORecordset.Close();
m_chidinggao=mushu1; //计算齿顶高的。
m_gongzuogaodu=2*mushu1;
m_chidingyuanzhijing=(mushu1*m_chishu)/cos(luoxuanjiao*3.1415926/180)+2*mushu1;
m_dingxi=0.25*mushu1;
m_quanchigao=2.25*mushu1;
m_chigengao=1.25*mushu1;
m_chiju=3.1415926*mushu1;
m_chigenyuanzhijing=(mushu1*m_chishu)/cos(luoxuanjiao*3.1415926/180)-2.5*mushu1;
Djs=125*pow((gonglu/zhuansu),0.3333333333333);
m_chizhouzhijing=Djs;
this->m_ADORecordset.Open(this->m_ADODatabase.GetActiveConnection(), _T("select * from pingjianchicunbiao"));
while(!this->m_ADORecordset.IsEof())
{
this->m_ADORecordset.GetFieldValue("zhouzhijing", getAx);
getAx1=getAx*1000;
if(getAx1 >= Djs)
{
this->m_ADORecordset.GetFieldValue("jiankuan", Ckeyw);
this->m_ADORecordset.GetFieldValue("gugao", Ckeyt1);
break;
}
this->m_ADORecordset.MoveNext();
}
m_jiankuan=Ckeyw;
m_gugao=Ckeyt1;
m_yuanzhengzhongxinju=int((m_chishu+Z2)*mushu1/(2*cos(luoxuanjiao*3.1415926/180)));
UpdateData(false);
UpdateData(true);
m_xiuzhengluoxuanjiao=(acos((m_chishu+Z2)*mushu1/(2*m_yuanzhengzhongxinju)))*180/3.1415926;
UpdateData(false);
}
void xiechilun4::Onhuitu()
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -