自动装配模块
/ 2021/7/3 12:12:15
次
自动装配模块要想实现,必须要获取特征。通常情况下装配顺序是以链表的形式存在的。在操作过程中工作人员必须要按照装配顺序来选择零件,链表中每个结点都对应一个零件,选择过程中选择了N零件的时候,链表中N结点就会有指针指向该零件。
首先通过UF_OBJ_cycle_objs_in_part得到部件标志,通过UF_MODL_ask_body_faces将实体各个表面标志取出与数据中的特征进行对比判断,得到其所对应的装配关系,通常情况下装配关系中结构体的数据结构是包含每个零件装配信息的。这一点从下文中就可看出:Struct node{int number;tag_t pointer;information mate;node*next;}
其中,尾结点的结构和其他的结点不同,它是链表的结束标志。利用UNIGRAPHICS NX/OPEN API提供的结构UF_ASSEM_constraint,该结构中既有配合类型又有零件特征等成员,实际工作过程中必须要把相关信息传送给相应的成员。这样才能够保证系统的正常运行。
为了保证系统能够正常运行,在实际工作过程中还需要求解约束,通过求解约束来获得相关信息。工作过程中还需要把相关零件变换成所需要的变换矩阵,变换矩阵之后再利用函数 UF_ASSEM_apply_mc_data(),把约束放到模型中。这样就能够实现零件的空间重定位了。最后再通过UF_MODL_update将部件重新定位,更新模型。