📄 project_model.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 + -