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

📄 xiechilun4.cpp

📁 基于UG平台
💻 CPP
📖 第 1 页 / 共 2 页
字号:
// 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 + -