void Pk_MeasuringObj(tag_t obj,double& volume,double&quality,double centroid[3],double &area)
{
tag_t ps_tag=NULL_TAG;
UF_PS_ask_ps_tag_of_object(obj_tag,&pstag);
PK_TOPOL_t topol=ps_tag;
PK_TOPOL_eval_mass_props_o_t props;
PK_TOPOL_eval_mass_props_o_m(props);
props.mass=PK_mass_c_of_g_c;
double amount[3],mass[3], c_of_g[3],m_of_i[9],periphery[3];
PK_TOPOL_eval_mass_props(1,&topol,0.99,&props,amount,mass,c_of_g,m_of_i,periphery);
//体积mm^3
volume = fabs(amount[0]*1000.0*1000.0*1000.0);
//质量kg
quality = mass[0];
//质心
for (int i = 0;i<3;i++){
centroid[i] = c_of_g[i]*1000.0;
}
//面积mm^2
area = fabs(periphery[0]*1000.0*1000.0*1000.0);
}
UG/NX二次开发:PK测量对象(体积、质量、表面积、质心)
于 2024-09-25 10:43:52 首次发布