购买与咨询 NX 二次开发视频教程,请联系微信号:13890821008 QQ号:85585969
//计算两个坐标系的距离
int CalculationCsysDistance(tag_t csysTag1, tag_t csysTag2, double *disvalue)
{
if(csysTag1 == NULL_TAG || csysTag2 == NULL_TAG)
{
//HuBase::print("传入的坐标系为:NULL_TAG");
return -1;
}
int tagType1 = 0, tagType2 = 0, tagsubType = 0;
UF_OBJ_ask_type_and_subtype(csysTag1, &tagType1, &tagsubType);
UF_OBJ_ask_type_and_subtype(csysTag2, &tagType2, &tagsubType);
if(tagType1 != 45 || tagType2 != 45)
{
//HuBase::print("传入的TAG不是坐标系");
return -1;
}
tag_t workPartTag = UF_ASSEM_ask_work_part();
tag_t csysmatrix_id = NULL_TAG;

●●●请先
登陆 或
注册 后查看●●●
tag_t refCsysOwningPart2 = NULL_TAG;
UF_OBJ_ask_owning_part(csysTag2, &refCsysOwningPart2);
if(refCsysOwningPart2 == NULL_TAG)
{
//HuBase::print("设置工作部件失败 refCsysOwningPart2");
return -1;
}
UF_ASSEM_set_work_part(refCsysOwningPart2);
double csysOrigin2[3]= { 0.0, 0.0, 0.0 };
UF_CSYS_ask_csys_info(csysTag2, &csysmatrix_id, csysOrigin2);
UF_CSYS_map_point(UF_CSYS_WORK_COORDS, csysOrigin2, UF_CSYS_ROOT_COORDS, csysOrigin2);
UF_ASSEM_set_work_part(workPartTag);
UF_VEC3_distance(csysOrigin1, csysOrigin2, disvalue);//计算两点间的距离
return 0;
}