网站正在建设模板,yy直播,网站建设培训手册,网站目录创建下载链接获取任意选择模型作为元件进行操作前#xff0c;先了解组件路径和程序集的构成#xff1a;creo toolkit二次开发学习之程序集#xff08;ProAsmcomp#xff09;和装配体组件路径对象#xff08;ProAsmcomppath#xff09;-CSDN博客 代码如下
ProError test1()
{ProError…获取任意选择模型作为元件进行操作前先了解组件路径和程序集的构成creo toolkit二次开发学习之程序集ProAsmcomp和装配体组件路径对象ProAsmcomppath-CSDN博客 代码如下
ProError test1()
{ProError status;ProSelection* sels NULL; //ProSelection 结构数组指针用于存放选择的模型int n_sels; //选择集的数量status ProSelect(prt_or_asm, 1, NULL, NULL, NULL, NULL, sels, n_sels); //选择模型if (status ! PRO_TK_NO_ERROR || sels NULL) return PRO_TK_GENERAL_ERROR; //如果获取失败或没有选择则返回错误码ProModelitem item; //模型项ProSelectionModelitemGet(sels[0], item); //获取选择的模型项ProAsmcomppath p_cmp_path; //组件路径status ProSelectionAsmcomppathGet(sels[0], p_cmp_path); //从选择对象获取组件路径ProAsmcomp asmcomp;asmcomp.type PRO_FEATURE; //定义为特征类型asmcomp.id p_cmp_path.comp_id_table[p_cmp_path.table_num - 1]; //获取选择的模型的idProAsmcomppath cmp_path_new p_cmp_path; // 声明一个新的组件路径,复制原来的组件路径cmp_path_new.table_num - 1; //修改标识符数量ProAsmcomppathMdlGet(cmp_path_new, asmcomp.owner); //获取组件路径的模型对象即选择的模型对象的父对象ProAsmcompconstraint* pp_constraints; // 声明约束数组status ProAsmcompConstraintsWithComppathGet(asmcomp, p_cmp_path, pp_constraints); // 获取选择模型的约束数组//status ProAsmcompConstraintsWithDtmOrientGet(p_mdl_item, pp_constraints); // 获取选择模型的约束数组return PRO_TK_NO_ERROR;
}
上述代码中关键点在于理解组件路径是如何构成的对于子装配体作为元件来说新构建的ProAsmcomp程序集必须类型为PRO_FEATUREid设置为选择模型的id而onwer则为选择模型的父对象这样选择的模型才算做元件