亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mastercontroldlg.cpp

?? Source code for cnc controlling three dimentioal machine
?? CPP
?? 第 1 頁 / 共 5 頁
字號:
    m_YLocVar = YCurrent; 
    m_ZLocVar = ZCurrent; 
	UpdateData(false);
}

void CMasterControlDlg::OnHomey() 
{
	if( ! Enable )
   {
	   MessageBox( " --- Emergency Stop ---- " );
	   return;
   }
	GoToPos( XCurrent, 0 , ZCurrent );
    m_XLocVar = XCurrent; 
    m_YLocVar = YCurrent; 
    m_ZLocVar = ZCurrent; 
	UpdateData(false);
	
}

void CMasterControlDlg::OnHomez() 
{
	if( ! Enable )
   {
	   MessageBox( " --- Emergency Stop ---- " );
	   return;
   }
	GoToPos( XCurrent, YCurrent, 0 );
    m_XLocVar = XCurrent; 
    m_YLocVar = YCurrent; 
    m_ZLocVar = ZCurrent; 
	UpdateData(false);
	
}

void CMasterControlDlg::OnSethome() 
{
	m_XLocVar = XCurrent = 0; 
    m_YLocVar = YCurrent = 0; 
    m_ZLocVar = ZCurrent = 0; 
	XDigPos =0; YDigPos = 0; ZDigPos = 0;
	m_LEDXHome.Depress(TRUE);
	m_LEDYHome.Depress(TRUE);
	m_LEDZHome.Depress(TRUE);
	UpdateData(false);
}

BOOL CMasterControlDlg::Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext) 
{
	// TODO: Add your specialized code here and/or call the base class
	
	return CDialog::Create(IDD, pParentWnd);
}

int CMasterControlDlg::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{
	 
	
if (CDialog::OnCreate(lpCreateStruct) == -1)
      return -1;
   
  
	
	return 0;
}

void CMasterControlDlg::OnDeltaposCurspin(NMHDR* pNMHDR, LRESULT* pResult) 
{
	NM_UPDOWN* pNMUpDown = (NM_UPDOWN*)pNMHDR;
	// TODO: Add your control notification handler code here
	
	*pResult = 0;
}

void CMasterControlDlg::OnDispoff() 
{
    DispOn = false;
	m_DispOnLed.Depress( false );
	m_DispOffLed.Depress( true );

}

void CMasterControlDlg::OnDispon() 
{
	DispOn = true;
	m_DispOnLed.Depress( true );
	m_DispOffLed.Depress( false );

	
}


void CMasterControlDlg::DoRun() 		  // gets called from OnIdle();
{
	Line data;
	if( !RUN ) return;
	KillTimer(1);
	 
	while ( curline < lastline )
	{
	 
		data = DecodeLine( curline );
		if (data.xloc < 9999) m_XLocVar = data.xloc;
		   else m_XLocVar = XCurrent;
        if( data.yloc < 9999) m_YLocVar = data.yloc;
		   else m_YLocVar = YCurrent;
        if( data.zloc < 9999) m_ZLocVar = data.zloc;
		   else m_ZLocVar = ZCurrent;
        if( data.ival < 9999) m_ILocVar = data.ival;
		   else m_ILocVar = XCurrent;
        if( data.jval < 9999) m_JLocVar = data.jval;
		   else m_JLocVar = YCurrent;
        if( data.kval < 9999) m_KLocVar = data.kval;
		   else m_KLocVar = ZCurrent;
        if( data.gmode < 9999 ) GMode = data.gmode;


		if( data.tool != 9999 && !Simulate ) 
		{
			if( ToolChange )
			{
			  GoToPos( XCurrent, YCurrent, ToolChangeZ );
			  GoToPos( ToolChangeX , ToolChangeY, ToolChangeZ);
			}
			AfxMessageBox( "Tool Change" , MB_OK , 0 );	
			if( ToolChange )
			{
			GoToPos( XCurrent, YCurrent, ToolChangeZ );
			GoToPos( XCurrent, YCurrent, ZCurrent );
			}

		}
		//if(  data.rval < 9999)
		//{
		//	AfxMessageBox( "R Data found. Aborting..." );
		//	RUN = FALSE;
		//	return;
		//}
  if( GMode == 4) Sleep( 250 );
   else
  if( GMode == 3 && Axis == 1) G03();                      // circular CCW
   else
  if( GMode == 2 && Axis == 1) G02();                      // circular CW
   else
  if( GMode == 3 && Axis == 2) G032();                      // circular CCW
   else
  if( GMode == 2 && Axis == 2) G022();  
   else
  if( GMode == 3 && Axis == 3) G033();                      // circular CCW
   else
  if( GMode == 2 && Axis == 3) G023();  
   else
	  GoToPos( m_XLocVar, m_YLocVar, m_ZLocVar);     // Linear
        curline++;
	 	if( curline >= lastline ) break;
		if( !vector[curline] ) break;  
		if( !Enable ) break;
	
	}
  m_CurLineInt = curline;
  if( !Simulate && Simulated) 
  {  int left = (int) (TimeCalc - TimeEstimate);
     int a = (int) (left / 3600);
     int b = (int) (left-(a*3600)) / 60;
     int c = (int) left - (a*3600) - (b*60); 
     m_TimeLeft.Format( "%u:%u:%u" , a, b, c);
  }
  UpdateData(FALSE);
  UpdateWindow();
  //if( rightnow - started  >  3962 ) curline++;							   // protection line
  if( !Simulate) SetTimer(1, StopDelay ,NULL); else SetTimer( 1,1,NULL );
  if( Simulate && curline >= lastline ) EndSimulate();
  if( curline >= lastline) 
  { 
	  m_Running.Depress( false); 
	  RUN = FALSE; 
	  RouterOff(); 
	  Axis = 1;
	  GMode = 0;
	  if( Automatic ) Emergency();
	  AfxMessageBox( "Program Complete" );
  }	
}


void CMasterControlDlg::OnTimer(UINT nIDEvent) 
{
	if( nIDEvent == 2 )
	{
		if( EStopFlash ) EStopFlash = false; else EStopFlash = true;
		if( EStopFlash ) m_LEDEmerg.Depress(false);
		else m_LEDEmerg.Depress(true);
		CDialog::OnTimer(nIDEvent);
	}

    DoRun();
	CDialog::OnTimer(nIDEvent);
}

void CMasterControlDlg::OnRun() 
{
	if( ! Enable )
   {
	   MessageBox( " --- Emergency Stop ---- " );
	   return;
   }
  if( !FileLoaded ) return;
  TimeEstimate = 0;
  m_Running.Depress( true );
  SetTimer( 1, 250, NULL );
  RUN = true;
}

void CMasterControlDlg::OnPause() 
{
  m_Running.Depress( false );
  RUN = false;
  KillTimer( 1 );

  //terp.SetInterp( 0, 100,50,0 ); // set pos 1 to 0,0,0
  //terp.SetInterp( 1, 0,0,10 );
  //terp.SetInterp( 2, -100,50,20 );
  //float t =.5;
  //terp.DoInterp( t );

	
}

void CMasterControlDlg::DrawTo()
{
  static int  x = 0, y=0;

  if( !FileLoaded ) return;

  if( x == (int) XCurrent &&  y == (int) YCurrent ) return;

  CDC *dc = m_Display.GetDC();

  dc->MoveTo( x , 179 - y );

  int nx = (int) ( XCurrent * bitmapX );
  int ny = (int) ( YCurrent * bitmapY );
  int nz;
  if (ZCurrent < 0) nz = (int) ( ZCurrent * bitmapZ );
  else 
	  nz = 255;
  if( nz < 0) nz = -nz;
  if( nz > 100) nz = 255;
  nz = 128-nz;
  
  CPen BlackPen( PS_SOLID, 0, RGB( nz, nz, nz ));
  CPen RedPen( PS_SOLID, 0, RGB( 128-nz, 0,0));

  CPen *oldPen;
	  
  if( Simulate ) oldPen = dc->SelectObject(&BlackPen);
	  else
		         oldPen = dc->SelectObject(&RedPen);

  if( nx > 179) nx = 179;
  if( ny > 179) ny = 179;
  if( nx < 0 ) nx = 0;
  if( ny < 0 ) ny = 0;
  x = nx; y = ny;
  dc->LineTo( nx, 179 - ny );
   
   
  dc->SelectObject( oldPen );
  m_Display.ReleaseDC( dc );
  //dc->DeleteDC();


}

void CMasterControlDlg::OnSimulate() 
{
  if( !FileLoaded ) return;
  Simulate = true;
  curline = 0;
  TimeEstimate = 0;
  RUN = true;
  SetTimer( 1,1,NULL );
  
}

void CMasterControlDlg::EndSimulate()
{
 Simulate = false;
 Simulated = true;
 RUN = false;
 KillTimer(1);
  TimeCalc = TimeEstimate;
  int a = (int) TimeCalc / 3600;
  int b = (int) (TimeCalc - (a*3600) ) / 60;
  int c = (int) TimeCalc - (a*3600) - (b*60); 
  m_Estimate.Format( "%d:%d:%d" , a, b, c);
  UpdateData( false );			 // set the estimed time here with TimeEstimate
  curline = 0;
   
  TimeEstimate = 0;
  	m_XLocVar = XCurrent = 0; 
    m_YLocVar = YCurrent = 0; 
    m_ZLocVar = ZCurrent = 0; 
	XDigPos =0; YDigPos = 0; ZDigPos = 0;
	m_LEDXHome.Depress(TRUE);
	m_LEDYHome.Depress(TRUE);
	m_LEDZHome.Depress(TRUE);
	UpdateData(false);
    m_LEDRoute.Depress(false);
	 
	Spindle = false;
    
}

void CMasterControlDlg::OnReset() 
{

 m_CurLineInt = 0;
 curline = 0;
 UpdateData( false );	
	
}

double CMasterControlDlg::GetTime()
{

	LARGE_INTEGER  now;

    double seconds = 0;
	QueryPerformanceCounter( &now );
	
	__int64 temp = now.QuadPart;
    seconds = ((double)temp) / frequency.QuadPart;

  	return seconds;

}

double CMasterControlDlg::CalcLatency()
{
	double start = GetTime();
	XPulse = true; YPulse = true; ZPulse = true;
	DoPulse();
	double now = GetTime();
	return now - start;

}

 

void CMasterControlDlg::G02()
{

   double AngStart,AngFinish,AngIterate,XIterate,YIterate,ZIterate;
   double XOffset,YOffset,ZOffset,Radius,TotalAngle,DeltaAngle;
   
   XOffset = XCurrent - m_ILocVar;        // find start Angle
   YOffset = YCurrent - m_JLocVar;
   ZOffset = ZCurrent - m_ZLocVar;

   Radius = sqrt( pow(XOffset,2) + pow(YOffset,2) );
    
   AngStart = atan2( XOffset , YOffset ); // this should work for all quadrants;

   XOffset = m_XLocVar - m_ILocVar;       // and end angle;
   YOffset = m_YLocVar - m_JLocVar;
   ZOffset = m_ZLocVar - ZCurrent;

   AngFinish = atan2( XOffset, YOffset );

   if( AngFinish >= AngStart ) AngFinish -= 6.2831852;   // two times PI
        
   if( Radius == 0 ) return;          // we now have a 3d Radius value 
   TotalAngle = AngStart - AngFinish;
   if( TotalAngle < 0) TotalAngle += 6.2831852;
   if( TotalAngle == 0) TotalAngle = 6.2831852;

   DeltaAngle = TotalAngle / ((6.2831852 * Radius * ( TotalAngle / 6.2831852)) / MaxRes);
   ZIterate = ZOffset / ( TotalAngle / DeltaAngle );   
        // angle step for max resolution detremined from circumferance / Maximun resolution.
   AngIterate = AngStart; XIterate = XCurrent; YIterate = YCurrent;
   double ZHold = 0;
   double ZHolder = ZCurrent;
   while( AngIterate > ( AngFinish - DeltaAngle))
   {
	   YIterate = (Radius * cos( AngIterate)) + m_JLocVar; // new x
	   XIterate = (Radius * sin( AngIterate)) + m_ILocVar; // new Y
	   double dist = XIterate - XCurrent;
	   double dist1 = YIterate - YCurrent;
	   if( dist < 0) dist = -dist;
	   if( dist1 < 0) dist1 = -dist1;
	   ZHold += ZIterate;
	   if( dist >= MaxRes || dist1 >= MaxRes)
              GoToPos( XIterate, YIterate, ZHolder + ZHold);           // go there
	   AngIterate -= DeltaAngle;                         // next angle
   }
   GoToPos( m_XLocVar, m_YLocVar, m_ZLocVar );

}
 


void CMasterControlDlg::G03()
{

double AngStart,AngFinish,AngIterate,XIterate,YIterate,ZIterate;
double XOffset,YOffset,ZOffset,Radius,TotalAngle,DeltaAngle;

    
   
   XOffset = XCurrent - m_ILocVar;        // find start Angle
   YOffset = YCurrent - m_JLocVar;
   ZOffset = ZCurrent - m_ZLocVar;

   Radius = sqrt( pow(XOffset,2) + pow(YOffset,2) );
    
   AngStart = atan2( XOffset , YOffset ); // this should work for all quadrants;

   XOffset = m_XLocVar - m_ILocVar;       // and end angle;
   YOffset = m_YLocVar - m_JLocVar;
   ZOffset = m_ZLocVar - ZCurrent;

   AngFinish = atan2( XOffset, YOffset );

   if( AngFinish <= AngStart ) AngFinish += 6.2831852;   // two times PI
        
   if( Radius == 0 ) return;          // we now have a 3d Radius value 
   TotalAngle = AngStart - AngFinish;
   if( TotalAngle < 0) TotalAngle += 6.2831852;
   if( TotalAngle == 0) TotalAngle = 6.2831852;

   DeltaAngle = TotalAngle / ((6.2831852 * Radius * ( TotalAngle / 6.2831852)) / MaxRes);
   ZIterate = ZOffset / ( TotalAngle / DeltaAngle );   
        // angle step for max resolution detremined from circumferance / Maximun resolution.
   AngIterate = AngStart; XIterate = XCurrent; YIterate = YCurrent;
   double ZHold = 0;
   double ZHolder = ZCurrent;
   while( AngIterate < ( AngFinish - DeltaAngle))
   {
	   YIterate = (Radius * cos( AngIterate)) + m_JLocVar; // new x
	   XIterate = (Radius * sin( AngIterate)) + m_ILocVar; // new Y
	   double dist = XIterate - XCurrent;
	   double dist1 = YIterate - YCurrent;
	   if( dist < 0) dist = -dist;
	   if( dist1 < 0) dist1 = -dist1;
	   ZHold += ZIterate;
	   if( dist >= MaxRes || dist1 >= MaxRes)
              GoToPos( XIterate, YIterate, ZHolder + ZHold);           // go there
	   AngIterate += DeltaAngle;                         // next angle
   }
   GoToPos( m_XLocVar, m_YLocVar, m_ZLocVar );
}

void CMasterControlDlg::G032()
{
	double AngStart,AngFinish,AngIterate,XIterate,YIterate,ZIterate;
   double XOffset,YOffset,ZOffset,Radius,TotalAngle,DeltaAngle;
   
   XOffset = XCurrent - m_X

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本大胆欧美人术艺术动态| 亚洲大片精品永久免费| 午夜精品福利在线| 色噜噜狠狠成人网p站| 日韩视频一区在线观看| 亚洲国产aⅴ天堂久久| 国产91精品精华液一区二区三区| 久久综合一区二区| 韩国三级在线一区| xnxx国产精品| 国产一区欧美一区| 久久色在线视频| 国产成人在线视频网站| 精品国产乱码久久久久久老虎 | 日韩欧美国产系列| 免费在线看成人av| 精品精品欲导航| 精品在线播放免费| 国产丝袜美腿一区二区三区| 国产一区二区成人久久免费影院| 久久久久国产免费免费| 成人av第一页| 一区二区三区欧美久久| 欧美理论电影在线| 国产一区 二区 三区一级| 中文字幕国产精品一区二区| 不卡的av在线| 亚洲综合久久久| 91精品国产欧美一区二区成人| 欧美aaaaa成人免费观看视频| 精品国产免费一区二区三区四区 | 盗摄精品av一区二区三区| 久久久久久久网| 94色蜜桃网一区二区三区| 亚洲第一久久影院| 久久网站最新地址| av成人免费在线| 三级影片在线观看欧美日韩一区二区| 日韩三级电影网址| 成人视屏免费看| 午夜在线成人av| 国产网站一区二区三区| 在线影视一区二区三区| 久久精品国产精品青草| 国产日韩欧美一区二区三区乱码| 97久久久精品综合88久久| 日韩国产成人精品| 国产精品青草久久| 91精品国产免费| 成人h精品动漫一区二区三区| 亚洲视频免费看| 日韩欧美另类在线| 91高清视频免费看| 日本亚洲一区二区| 国产精品电影一区二区| 日韩精品中文字幕一区二区三区| 一本色道久久综合精品竹菊| 国产一区二三区| 久久99精品久久只有精品| 天堂影院一区二区| 国产精品一区在线| 美腿丝袜在线亚洲一区| 天天av天天翘天天综合网色鬼国产| ...xxx性欧美| 国产精品嫩草影院com| 国产亚洲污的网站| 久久久久亚洲蜜桃| 久久久久久免费毛片精品| 日韩精品一区在线观看| 91精品久久久久久久91蜜桃| 欧美日韩精品一二三区| 欧美丝袜丝nylons| 欧美日韩在线播| 欧美日韩一区二区三区高清| 欧美日韩中文精品| 欧美日韩国产在线观看| 欧美三级电影在线观看| 欧美日韩国产天堂| 911精品国产一区二区在线| 在线播放中文一区| 日韩亚洲欧美一区| 精品久久久三级丝袜| 精品国产亚洲在线| 久久午夜羞羞影院免费观看| 国产欧美日韩一区二区三区在线观看| 国产午夜亚洲精品羞羞网站| 久久精品亚洲麻豆av一区二区| 国产丝袜欧美中文另类| 国产精品美女视频| 亚洲伦理在线免费看| 亚洲五码中文字幕| 日韩电影免费一区| 激情综合网激情| 成人黄色小视频| 色噜噜夜夜夜综合网| 欧美猛男超大videosgay| 日韩欧美亚洲一区二区| 久久久久久久久久久99999| 国产精品二区一区二区aⅴ污介绍| 亚洲视频在线观看三级| 亚洲高清中文字幕| 精品亚洲成a人| 成人激情免费网站| 欧美做爰猛烈大尺度电影无法无天| 欧美日韩美少妇| 2023国产精华国产精品| 国产精品久久毛片a| 亚洲第一二三四区| 国产精品99精品久久免费| 91麻豆精东视频| 日韩亚洲电影在线| 亚洲欧洲日韩一区二区三区| 五月婷婷激情综合网| 国产在线观看一区二区| 在线中文字幕一区二区| 久久久久久99久久久精品网站| 亚洲女人的天堂| 韩国精品久久久| 欧美亚州韩日在线看免费版国语版| 日韩欧美成人激情| 亚洲九九爱视频| 极品尤物av久久免费看| 欧美亚洲动漫精品| 欧美a级理论片| 精品影视av免费| 亚洲自拍偷拍综合| 久久99精品国产.久久久久久| 波多野结衣在线一区| 欧美一区二区三区喷汁尤物| 国产精品久久久久影视| 蜜桃视频第一区免费观看| 91在线视频播放地址| 26uuu亚洲| 日韩中文字幕1| 91丨porny丨蝌蚪视频| 久久久久久日产精品| 视频一区二区三区中文字幕| fc2成人免费人成在线观看播放| 日韩欧美一级二级三级| 亚洲成人三级小说| 99r精品视频| 国产网站一区二区三区| 美日韩一区二区三区| 欧美午夜在线一二页| 亚洲男女毛片无遮挡| 成人午夜大片免费观看| 久久这里只精品最新地址| 日韩精品91亚洲二区在线观看| 一本大道综合伊人精品热热| 欧美国产精品中文字幕| 国产一区二区三区香蕉| 欧美成人精品高清在线播放 | 欧美电影影音先锋| 一区二区三区四区不卡视频| 欧美日韩高清一区二区不卡| 亚洲免费成人av| 色综合天天在线| 国产精品伦理一区二区| 成人性色生活片| 亚洲国产高清在线| 成人免费视频免费观看| 久久久久久久国产精品影院| 国产一区三区三区| 久久久久久亚洲综合影院红桃| 久久99久久久欧美国产| 日韩免费性生活视频播放| 美女被吸乳得到大胸91| 日韩一区二区视频| 久久精品国产精品亚洲精品| 欧美不卡一区二区三区| 国产在线视频一区二区三区| www国产精品av| 粉嫩av亚洲一区二区图片| 久久久久久久av麻豆果冻| 懂色av中文字幕一区二区三区| 欧美国产日韩a欧美在线观看| 丰满白嫩尤物一区二区| 亚洲色图制服丝袜| 在线一区二区三区做爰视频网站| 亚洲影视在线观看| 欧美一区二区三区视频在线观看| 美女网站色91| 国产亚洲欧洲997久久综合| 成人美女在线视频| 一区二区三区小说| 91精品国产一区二区三区香蕉| 麻豆成人av在线| 欧美极品aⅴ影院| 91久久一区二区| 日韩国产欧美三级| 久久久91精品国产一区二区精品| 国产成人福利片| 亚洲一区二区五区| 欧美一级免费大片| 国产福利一区在线| 亚洲影视在线播放| 精品国产乱码久久久久久闺蜜| 成人午夜电影网站| 亚洲aaa精品| 国产亚洲人成网站|