UG/NX二次开发:PK测量对象(体积、质量、表面积、质心)


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); 
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值