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

📄 project_model.h

📁 基于UG的自动装配技术
💻 H
字号:
#include <uf.h>



typedef     double  Ug_Matrix[4][4];    //位姿矩阵
typedef     double  Ug_Vector[3];       //向量
typedef     double  Ug_Point3d[3];      //点

typedef struct VA_component			    /*装配模型*/
{
	tag_t   instance_tag;               //实例标识
	tag_t   occurence_tag;              //事例标识
	char	part_name[130];	            //部件名称
	char    instance_name[40];          //实例名称
	char    refset_name[40];            //参考集名称
	Ug_Matrix	ini_pos;	            //组件的位姿矩阵
	struct VA_component*	children;	// 第一个子部件
	struct VA_component*	next;		// 同级的下一个部件
	struct VA_component*	parent;		// 父部件
	int		type;			            // 1:装配体, 0:零件
	int		unit;                       //单位
}VA_component;

typedef struct VA_movement			//组件的一个移动
{
	Ug_Vector 	translation;		// 平动向量 
	Ug_Point3d	point;			    // 旋转轴上的点
	Ug_Vector	rotation;		    // 旋转轴方向
	double		angle;			    // 转动角度
	struct VA_movement*	prev;		//上一个移动
	struct VA_movement*	next;		//下一个移动
    VA_component  *comp;            //移动对应的部件
} VA_movement;


typedef struct VA_movements
{
	VA_movement*	head;
	VA_movement*	tail;
	int		move_num;
} VA_movements;	

typedef struct VA_assembly
{
	VA_component*    head_comp;
	VA_movements*    moves;
	char			 file_name[40];
} VA_assembly;


typedef struct VA_component_load_location_data
{
	VA_component *parent;		//parent component
	VA_component *prev;		    //last brother component
} VACompLoadLocationData;


#define UG_NO_ERROR                   0000
#define UG_ERROR                      0001


int Project_VA_Model_Refresh(VA_assembly *, int);
void Project_VA_Model_Load_From_UG(int parent_tag,VACompLoadLocationData* appdata);
int Project_VA_Model_Append_Move(VA_movement *p_move);
int Project_VA_Component_Resume(VA_component *p_comp);
void Project_VA_Animation_Move(VA_movement *p_move);
void Project_VA_Display_Move(VA_movement *p_move);

⌨️ 快捷键说明

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