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

📄 gtl_struct.hh

📁 数控系统中的解释器源代码
💻 HH
字号:

#ifndef GTL_STRUCT_HH
#define GTL_STRUCT_HH

typedef struct
{
	double          PosX;                    /* [00] */
	double          PosY;                    /* [08] */
	double          PosZ;
}PointVar;       /* -----0x10 BYTEs ----- */

typedef struct
{
	double          MinusSin;                        /* [00] */
    double          PlusCos;                         /* [08] */
	double          Distance;                        /* [10] */
}LineVar;        /* -----0x18 BYTEs ----- */

typedef struct
{
     double          HeartX;                          /* [00] */
     double          HeartY;                          /* [08] */
     double          Radius;                          /* [10] */
}CircleVar;      /* -----0x18 BYTEs ----- */

typedef union
{
	PointVar       Point;
	LineVar        Line;
	CircleVar      Circle;
	//InvoluteVar    Inv;
}Primitive;      /* -----0x30 BYTEs ----- */

typedef struct
{
		/*ElementType
			0:	PointVar       Point;
			1:	LineVar        Line;
			2:	CircleVar      Circle;
			3:	InvoluteVar    Inv;
		*/
	
	int  		ElementType;             /* [00] */
	Primitive       Prim;                    /* [01] */
	//int   		InterSectionNo;          /* [31] */
}Queue;       /* -----0x32 BYTEs ----- */

typedef struct
{
	int 		MoveType;
	Primitive 	Prim;
	Queue		ProgramQueueElement[2];
	Queue 		QueueElement[2];
	int    	FirstQueueNo;                   
    int     	SecondQueueNo;                  
    //int     	ThirdQueueNo;                    
    int     	NextInQueueNo;                  
    int     	UsedQueueNum;
	int 		CurrentQueueNum;
	//int 		LastQueueNum;
	//int 		isInitialized;
	//int 		isLast;
	int 		sequence_number[2];
	int 		display_sequence_number[2];
	double 		speed[2];
	double 		third_axis_pos[2];

}GTLBuffer;

typedef struct
{
        //added by ganxm to realize c compensation on 2005-06-30
   double cutter_comp_radius_temp;
   double arc_center_horizontal_pos;
   double arc_center_vertical_pos;
   double arc_center_z;
   double last_arc_center_horizontal_pos;
   double last_arc_center_vertical_pos;
   double last_arc_center_z;
   double last_arc_radius;
   double last_program_arc_radius;
   int last_arc_turn;

   int  arc_turn;
   double arc_radius;
   double program_arc_radius;
   //in order to realize c compensation on plan xy,yz,zx, add these variables
   double horizontal_axis_pos;
   double vertical_axis_pos;
   double last_horizontal_axis_pos;
   double last_vertical_axis_pos;

   double program_horizontal_axis_pos;
   double program_vertical_axis_pos;
   double last_program_horizontal_axis_pos;
   double last_program_vertical_axis_pos;

   double third_axis_pos;

      //20050729 in order to compute the intersection angle
   double temp_cutter_end_point_horizontal;
   double temp_cutter_end_point_vertical;
   double temp_cutter_end_point_last_horizontal;
   double temp_cutter_end_point_last_vertical;
   //end

   int isFirstArc;
   double speed;

   //20051220
   int isBeginCom;
   PointVar startPoint;
   PointVar endPoint;

   char isSameCircle;

}compensation;

#endif

⌨️ 快捷键说明

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