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

📄 xiechilun3.cpp

📁 基于UG平台
💻 CPP
字号:
// xiechilun3.cpp : implementation file
//

#include "stdafx.h"
#include "Code.h"
#include "xiechilun3.h"
#include "xiechilun2.h"
#include "atlconv.h" 
#include "math.h"


#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// xiechilun3 dialog


xiechilun3::xiechilun3(CWnd* pParent /*=NULL*/)
	: CDialog(xiechilun3::IDD, pParent)
{
	//{{AFX_DATA_INIT(xiechilun3)
	m_anquanxishu = 1.0;
	m_fenduyuanzhijing = 0.0;
	m_moshu = 0.0;
	m_quyuxishu = 0.0;
	m_zhuduanmianchonghe = 0.0;
	m_chuandizhuanju = 0.0;
	m_zhujiechupilaojixian = 0.0;
	m_zhuyinglixunhuan = 0.0;
	m_congyinglixunhuan = 0.0;
	m_zhushoumingxishu = 0.0;
	m_congshoumingxishu = 0.0;
	m_yuanzhousudu = 0.0;
	m_dongzaixishu = 0.0;
	m_bh = 0.0;
	m_zongxiangchonghe = 0.0;
	m_zaihefenbuxishu = 0.0;
	m_chixiangzaihefenbu = 0.0;
	m_shiyongxishu = 0.0;
	m_zhuansu = 0.0;
	m_chishu = 0;
	m_xiaocailiao = _T("");
	m_luoxuanjiao = 0.0;
	m_chuandongbi = 0.0;
	m_gonglu = 0.0;
	m_congduanmianchonghe = 0.0;
	m_dacailiao = _T("");
	m_congjiechupilaojixian = 0.0;
	//}}AFX_DATA_INIT
}


void xiechilun3::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(xiechilun3)
	DDX_Control(pDX, IDC_COMBO2, m_chikuanxishu);
	DDX_Control(pDX, IDC_COMBO1, m_zaihexishu);
	DDX_Text(pDX, IDC_EDIT4, m_anquanxishu);
	DDX_Text(pDX, IDC_EDIT5, m_fenduyuanzhijing);
	DDX_Text(pDX, IDC_EDIT6, m_moshu);
	DDX_Text(pDX, IDC_EDIT44, m_quyuxishu);
	DDX_Text(pDX, IDC_EDIT33, m_zhuduanmianchonghe);
	DDX_Text(pDX, IDC_EDIT8, m_chuandizhuanju);
	DDX_Text(pDX, IDC_EDIT9, m_zhujiechupilaojixian);
	DDX_Text(pDX, IDC_EDIT17, m_zhuyinglixunhuan);
	DDX_Text(pDX, IDC_EDIT18, m_congyinglixunhuan);
	DDX_Text(pDX, IDC_EDIT16, m_zhushoumingxishu);
	DDX_Text(pDX, IDC_EDIT19, m_congshoumingxishu);
	DDX_Text(pDX, IDC_EDIT20, m_yuanzhousudu);
	DDX_Text(pDX, IDC_EDIT21, m_dongzaixishu);
	DDX_Text(pDX, IDC_EDIT22, m_bh);
	DDX_Text(pDX, IDC_EDIT45, m_zongxiangchonghe);
	DDX_Text(pDX, IDC_EDIT23, m_zaihefenbuxishu);
	DDX_Text(pDX, IDC_EDIT46, m_chixiangzaihefenbu);
	DDX_Text(pDX, IDC_EDIT24, m_shiyongxishu);
	DDX_Text(pDX, IDC_EDIT1, m_zhuansu);
	DDX_Text(pDX, IDC_EDIT14, m_chishu);
	DDX_Text(pDX, IDC_EDIT15, m_xiaocailiao);
	DDX_Text(pDX, IDC_EDIT3, m_luoxuanjiao);
	DDX_Text(pDX, IDC_EDIT43, m_chuandongbi);
	DDX_Text(pDX, IDC_EDIT7, m_gonglu);
	DDX_Text(pDX, IDC_EDIT38, m_congduanmianchonghe);
	DDX_Text(pDX, IDC_EDIT2, m_dacailiao);
	DDX_Text(pDX, IDC_EDIT10, m_congjiechupilaojixian);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(xiechilun3, CDialog)
	//{{AFX_MSG_MAP(xiechilun3)
	ON_BN_CLICKED(IDC_BUTTON31, OnHelpBtn)
	ON_BN_CLICKED(IDC_BUTTON6, OnPreBtn)
	ON_BN_CLICKED(IDC_BUTTON27, Onquyuxishu)
	ON_BN_CLICKED(IDC_BUTTON11, Onzhuduanmianchonghe)
	ON_BN_CLICKED(IDC_BUTTON28, Oncongduanmianchonghe)
	ON_BN_CLICKED(IDC_BUTTON1, Onjisuanzhuanju)
	ON_BN_CLICKED(IDC_BUTTON2, Onzhujiechupilao)
	ON_BN_CLICKED(IDC_BUTTON3, Oncongjiechupilao)
	ON_BN_CLICKED(IDC_BUTTON4, Onzhuyinglixunhuan)
	ON_BN_CLICKED(IDC_BUTTON5, Oncongyinlixunhuan)
	ON_BN_CLICKED(IDC_BUTTON7, Onzhushoumingxishu)
	ON_BN_CLICKED(IDC_BUTTON13, Oncongyinglixunhuan)
	ON_BN_CLICKED(IDC_BUTTON14, Onyuanzhousudu)
	ON_BN_CLICKED(IDC_BUTTON15, Ondongzaixishu)
	ON_BN_CLICKED(IDC_BUTTON17, Onzaihexishu)
	ON_BN_CLICKED(IDC_BUTTON9, OnNextBtn)
	ON_BN_CLICKED(IDC_BUTTON16, Onjisuanbh)
	ON_BN_CLICKED(IDC_BUTTON10, OnCancel)
	ON_BN_CLICKED(IDC_BUTTON29, Onzongxiang)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// xiechilun3 message handlers

void xiechilun3::OnHelpBtn() 
{
	AfxMessageBox(_T("请与合肥数字化设计中心联系!"));	
	
}

void xiechilun3::OnPreBtn() 
{
	CDialog::OnCancel();
	m_preDlg->ShowWindow(SW_SHOW);	
	
}
void xiechilun3::Quit() 
{
	CDialog::OnOK();
	if (m_preDlg) m_preDlg->Quit();
}

void xiechilun3::OnCancel() 
{
	 if (m_preDlg) m_preDlg->Quit();			
	CDialog::OnCancel();
	
}


BOOL xiechilun3::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	UpdateData(true);
	m_preDlg->UpdateData(TRUE);
	m_zhuansu=m_preDlg->m_xiaochilunzhuansu;
    m_chishu=m_preDlg->m_xiaochilunchishu;
	m_xiaocailiao=m_preDlg->m_xcailiao;
	m_dacailiao=m_preDlg->m_dcailiao;
	m_luoxuanjiao=m_preDlg->m_chuxuanluoxuanjiao;
	m_chuandongbi=m_preDlg->m_chuandongbi;
    m_gonglu=m_preDlg->m_shurugonglu;
	m_zaihexishu.AddString(_T("1.2"));
    m_zaihexishu.AddString(_T("1.3"));
	m_zaihexishu.AddString(_T("1.4"));
	m_zaihexishu.AddString(_T("1.5"));
	m_zaihexishu.AddString(_T("1.6"));
	m_zaihexishu.AddString(_T("1.7"));
    m_zaihexishu.SetCurSel(0);
	CString ckx;
	  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 chikuanxishu"));
    	while(!m_ADORecordset.IsEof())
		{
			m_ADORecordset.GetFieldValue("xishu", ckx);
			m_chikuanxishu.AddString(ckx);
			m_ADORecordset.MoveNext();
		}
	  }
	  catch (_com_error e)
		{
		AfxMessageBox(CString(e.ErrorMessage()));
		}
	    m_ADORecordset.Close();
		m_chikuanxishu.SetCurSel(0);
	    UpdateData(false);	

	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void xiechilun3::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(10,10,(lRect.Width()-20),(lRect.Height()-20),&dcMem1,0,0,bm.bmWidth,bm.bmHeight,SRCCOPY);   //进行绘图!
}

void xiechilun3::Onquyuxishu() 
{
	
    UpdateData(true);   
    xianshiweitu("res\\29.bmp");  
	
}


void xiechilun3::Onzhuduanmianchonghe() 
{
	UpdateData(true);                      
   	xianshiweitu("res\\27.bmp");
	
}

void xiechilun3::Oncongduanmianchonghe() 
{
	UpdateData(true);
	xianshiweitu("res\\27.bmp");
	
}

void xiechilun3::Onjisuanzhuanju() 
{
    UpdateData(true);
	double shurugonglv,xzhuansu;
	m_preDlg->UpdateData(TRUE);
	xzhuansu=m_preDlg->m_xiaochilunzhuansu;
    shurugonglv=m_preDlg->m_shurugonglu;
	m_chuandizhuanju=95.5*pow(10,5)*shurugonglv/xzhuansu;
	UpdateData(false); 

	
}

void xiechilun3::Onzhujiechupilao() 
{
	
	UpdateData(true);
	CString xcailiao;
	m_preDlg->UpdateData(TRUE);
    xcailiao=m_preDlg->m_xcailiao;
	if(xcailiao=="灰铸铁")
	{
      xianshiweitu("res\\7.bmp"); 
	}
	 else if(xcailiao=="球墨铸铁")
	{
      xianshiweitu("res\\6.bmp");
	 }
	 else
	 {
       xianshiweitu("res\\9.bmp");
	 } 

	
}

void xiechilun3::Oncongjiechupilao() 
{
	UpdateData(true);
	CString dcailiao;
	m_preDlg->UpdateData(TRUE);
	dcailiao=m_preDlg->m_dcailiao;
	if(dcailiao=="灰铸铁")
	{
      xianshiweitu("res\\7.bmp"); 
	}
	 else if(dcailiao=="球墨铸铁")
	{
      xianshiweitu("res\\6.bmp");
	 }
	 else
	 {
       xianshiweitu("res\\9.bmp");
	 } 
	
}


void xiechilun3::Onzhuyinglixunhuan() 
{
	UpdateData(true);
	double xzhuansu,shouming;
	m_preDlg->UpdateData(TRUE);
	xzhuansu=m_preDlg->m_xiaochilunzhuansu;
	shouming=m_preDlg->m_gongzuoshouming;
	m_zhuyinglixunhuan=60*(xzhuansu)*shouming;
	UpdateData(false);
	
}

void xiechilun3::Oncongyinlixunhuan() 
{
	UpdateData(true);
	double xzhuansu,shouming,chishubi;
	m_preDlg->UpdateData(TRUE);
	xzhuansu=m_preDlg->m_xiaochilunzhuansu;
	shouming=m_preDlg->m_gongzuoshouming;
	chishubi=m_preDlg->m_chuandongbi;
   	m_congyinglixunhuan=60*(xzhuansu)*shouming/chishubi;  
	UpdateData(false);
	
}

void xiechilun3::Onzhushoumingxishu() 
{
	UpdateData(true);
    xianshiweitu("res\\15.bmp"); 
	
}

void xiechilun3::Oncongyinglixunhuan() 
{
	UpdateData(true);
	xianshiweitu("res\\15.bmp"); 
	
}

void xiechilun3::Onyuanzhousudu() 
{
	UpdateData(true);
    m_yuanzhousudu=(3.1415926*jisuanfenduyuan()*(m_zhuansu))/(60*1000);
    if(m_yuanzhousudu==0.0)
	{
      AfxMessageBox(_T("圆周速度为零,请检查齿轮的材料选择是否合适!"));	
	}
	else
	{
      UpdateData(false); 
	}	
	
}


double xiechilun3::jisuanfenduyuan()
{
    UpdateData(true);
	double shurugonglv,xzhuansu,xyingdu,dyingdu,shouming,chishubi,xchishu;
	CString xcailiao,dcailiao,jindu;
	m_preDlg->UpdateData(TRUE);
	xzhuansu=m_preDlg->m_xiaochilunzhuansu;
    shurugonglv=m_preDlg->m_shurugonglu;
    xcailiao=m_preDlg->m_xcailiao;
    dcailiao=m_preDlg->m_dcailiao;
	xyingdu=m_preDlg->m_xyingdu;
	dyingdu=m_preDlg->m_dyingdu;
	shouming=m_preDlg->m_gongzuoshouming;
	chishubi=m_preDlg->m_chuandongbi;
	xchishu=m_preDlg->m_xiaochilunchishu;
    m_preDlg->m_jindu.GetWindowText(jindu);
    CString cailiao,zaihexishu,ckx,zaihezhuangtai,zaihezhuangtai1,yuandongji;
	double tanxingzhi,xjichuxu,djichuxu,fenduyuan,zaihexishu1,anquan;
	double ckx1;
   	m_ADORecordset.Open(m_ADODatabase.GetActiveConnection(), _T("select * from tanxingyingxiangxishu"));
   	while(!m_ADORecordset.IsEof())
	{
			m_ADORecordset.GetFieldValue("chiluncailiao", cailiao);
	    	if(xcailiao==cailiao)
			{
              if(dcailiao=="灰铸铁")
			  {
                m_ADORecordset.GetFieldValue("huizhutie", tanxingzhi);
              }
			   else if(dcailiao=="球墨铸铁")
			  {
                m_ADORecordset.GetFieldValue("qiumozhutie", tanxingzhi);      
			  }
			   else if(dcailiao=="铸钢")
			  {
                m_ADORecordset.GetFieldValue("zhugang", tanxingzhi);              
			  }
			   else
			  {
                m_ADORecordset.GetFieldValue("duangang", tanxingzhi);              
			  }
			 }
			m_ADORecordset.MoveNext();
	}
	 m_ADORecordset.Close();
	 anquan=m_anquanxishu;
	 xjichuxu=(m_zhushoumingxishu*m_zhujiechupilaojixian)/anquan;
     djichuxu=(m_congshoumingxishu*m_congjiechupilaojixian)/anquan;  
	 m_chikuanxishu.GetWindowText(ckx);
	 ckx1=strtodouble(ckx);
	 m_zaihexishu.GetWindowText(zaihexishu);
	 zaihexishu1=strtodouble(zaihexishu);
     if(xjichuxu>djichuxu)
	 {
         fenduyuan=2.32*pow(((zaihexishu1*m_chuandizhuanju/ckx1)*((chishubi+1)/(chishubi))*pow((tanxingzhi)/djichuxu,2)),(0.33333333));
	 }
	 else
	 {
         fenduyuan=2.32*pow(((zaihexishu1*m_chuandizhuanju/ckx1)*((chishubi+1)/(chishubi))*pow((tanxingzhi)/xjichuxu,2)),(0.33333333));
	 }

	 return fenduyuan;
}

	double xiechilun3::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 xiechilun3::Ondongzaixishu() 
{
	UpdateData(true);
    xianshiweitu("res\\12.bmp"); 
	
}

void xiechilun3::Onzaihexishu() 
{
	UpdateData(true);
	CString ckx,zaihexishu,zaihezhuangtai,zaihezhuangtai1,yuandongji,jindu,jindu1;
	double ckx1,zaihexishu1,xchishu,Ka,Khb,zaihe,chuxuanluoxuanjiao,b;
    m_preDlg->UpdateData(TRUE);	
	m_chikuanxishu.GetWindowText(ckx);
	ckx1=strtodouble(ckx);
	m_zaihexishu.GetWindowText(zaihexishu);
	zaihexishu1=strtodouble(zaihexishu);
	xchishu=m_preDlg->m_xiaochilunchishu;
	chuxuanluoxuanjiao=m_preDlg->m_chuxuanluoxuanjiao;
	b=ckx1*jisuanfenduyuan();
 	m_ADORecordset.Open(m_ADODatabase.GetActiveConnection(), _T("select * from shiyongxishu"));
    	while( !m_ADORecordset.IsEof())
		{
			m_ADORecordset.GetFieldValue("zaihezhuangtai", zaihezhuangtai);
			m_preDlg->m_zaihezhuantai.GetWindowText(zaihezhuangtai1);
            if(zaihezhuangtai1==zaihezhuangtai)
			{
              m_preDlg->m_yuandongji.GetWindowText(yuandongji);
			  if(yuandongji==_T("电动机"))
			   m_ADORecordset.GetFieldValue("diandongji", Ka);
			  else if(yuandongji==_T("多缸柴油机"))
			   m_ADORecordset.GetFieldValue("duogang", Ka);
			  else
               m_ADORecordset.GetFieldValue("dangang", Ka);
			}
			m_ADORecordset.MoveNext();
		}
		m_ADORecordset.Close();
		m_shiyongxishu=Ka;

		m_preDlg->m_jindu.GetWindowText(jindu);
        if(jindu=="6")
		{
          Khb=1.11+0.18*(1+0.6*pow(ckx1,2))*pow(ckx1,2)+0.15*pow(10,(-3))*b;
		}
		else if(jindu=="7")
		{
          Khb=1.12+0.18*(1+0.6*pow(ckx1,2))*pow(ckx1,2)+0.23*pow(10,(-3))*b;
		}
		else
		{
          Khb=1.15+0.18*(1+0.6*pow(ckx1,2))*pow(ckx1,2)+0.31*pow(10,(-3))*b;
		}

	    zaihe=Ka*(m_dongzaixishu)*(1.2)*Khb;
        m_zaihefenbuxishu=zaihe;
		m_chixiangzaihefenbu=Khb;
       	UpdateData(false);
	 	UpdateData(true); 
	   	m_fenduyuanzhijing=jisuanfenduyuan()*pow((m_zaihefenbuxishu/zaihexishu1),(0.33333333));
		m_moshu=m_fenduyuanzhijing*cos(3.1415926*chuxuanluoxuanjiao/180)/(xchishu);
       	UpdateData(false); 	
	
}

void xiechilun3::OnNextBtn() 
{
	 this->ShowWindow(SW_HIDE);
	 m_nextDlg.m_preDlg = this;
     UpdateData(true); 	
	 m_nextDlg.DoModal(); 
	
}

void xiechilun3::Onjisuanbh() 
{
        UpdateData(true);
		 CString ckx;
    	 double xchishu,ckx1,b,h,chuxuanluoxuanjiao;
         m_preDlg->UpdateData(TRUE);
	     xchishu=m_preDlg->m_xiaochilunchishu;
		 chuxuanluoxuanjiao=m_preDlg->m_chuxuanluoxuanjiao;
         m_chikuanxishu.GetWindowText(ckx);
         ckx1=strtodouble(ckx);
	     b=ckx1*jisuanfenduyuan();
         h=2.25*cos(3.1415926*chuxuanluoxuanjiao/180)/(xchishu);
         m_bh=b/h;
	     UpdateData(false); 
	
}

void xiechilun3::Onzongxiang() 
{
	
	     UpdateData(true);
		 CString ckx;
    	 double xchishu,ckx1,chuxuanluoxuanjiao;
         m_preDlg->UpdateData(TRUE);
	     m_chikuanxishu.GetWindowText(ckx);
         ckx1=strtodouble(ckx);
         xchishu=m_preDlg->m_xiaochilunchishu;
	     chuxuanluoxuanjiao=m_preDlg->m_chuxuanluoxuanjiao;
		 m_zongxiangchonghe=0.318*ckx1*xchishu*tan(3.1415926*chuxuanluoxuanjiao/180);
	     UpdateData(false); 
}

⌨️ 快捷键说明

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