计算两个模型的干涉情况,
(1)通过promdlInit初始化得到两个模型
(2)根据两个模型在装备树中的位置得到 proselection
(3)通过干涉接口计算干涉信息
(4)高亮干涉信息
ProSelection p_sel1;
ProSelection p_sel2;
ProMdl p_mdl1, p_mdl2,p_CurMdl;
ProModelitem p_mdlItem1, p_mdlItem2;
ProMdlCurrentGet(&p_CurMdl);
ProError status = ProMdlInit(_T("Gear_out"),PRO_MDL_PART, &p_mdl1);
status = ProMdlInit(_T("ROTATE_ROD"),PRO_MDL_PART, &p_mdl2);
status = ProMdlToModelitem(p_mdl1, &p_mdlItem1);
status = ProMdlToModelitem(p_mdl2, &p_mdlItem2);
ProAsmcomppath pcompath1, pcompath2;
pcompath1.owner = (ProSolid)p_CurMdl;
pcompath2.owner = (ProSolid)p_CurMdl;
pcompath1.table_num = 1;
pcompath2.table_num = 1;
pcompath1.comp_id_table[0] = 49;
pcompath1.comp_id_table[1] = -1;
pcompath2.comp_id_table[0] = 44;
pcompath2.comp_id_table[1] = -1;
status = ProSelectionAlloc(&pcompath1, &p_mdlItem1, &p_sel1);
status = ProSelectionAlloc(&pcompath2, &p_mdlItem2, &p_sel2);
ProInterferenceData m_interf_data;
// 计算干涉信息
status = ProFitInterferenceCompute(p_sel1, p_sel2, PRO_B_FALSE, PRO_B_FALSE, &m_interf_data);
ASSERT_PRINT_ERRORREPORT ("ProFitInterferenceCompute()","CGlbInterfCheckShowdlg::HighLightInterfVolume",
status);
判断:干涉信息不为空
//if (NULL != m_interf_data)
//{
// status = ProFitInterferencevolumeDisplay(m_interf_data, PRO_COLOR_HIGHLITE);
// ASSERT_PRINT_ERRORREPORT ("ProFitInterferencevolumeDisplay()","CGlbInterfCheckShowdlg::HighLightInterfVolume",
// status);
//}
//return 0;