iCAx开思工具箱

标题: 如何输出优化后的参数值 [打印本页]

作者: enmybh    时间: 2003-8-23 20:44
标题: 如何输出优化后的参数值
我构造了2个子函数void modification(int i, int j), 其中包含UF_MODL_edit_exp(string), UF_MODL_update();和parameter(tag_t part)是为了输出零件的参数值;然后在主函数中:
  
.
.
.
for (j=0; j<num_exps; j++)
{
if (UF_CALL(UF_MODL_ask_exp_tag_string(oexps[j], &string)))
{
  UF_terminate();
}
else
UF_MODL_ask_exp_tag_value (oexps[j], [$Intialvalue[j] )]
}
int design;
for (i=0; i<10; i++)
{
  for (j=0; j<num_exps-2; j++)
  {
   prt[m]=part;
   modification(i,j);
   UF_MODL_ask_mass_props_3d(solid,count,1,unit,density,accuracy,acc_val,mass_props,massprop_stat);
   if (mass_props[1]<minvol)
   {
     minvol=mass_props[1];
     design=m;
    }
    m++;
}
        
}
cout<<"     minmvol="<<minvol<<endl;
cout<<design<<endl;
parameter(prt[design]);
  
我找到了体积的最小值和他是第m次修改,但最后输出总好象是循环最后一次的参数值.好象prt[m]=part这一句没有把每次的修改分别存入相应的PRT[m]中.
  
如何解决?
作者: zzz    时间: 2003-8-24 09:16
你没有记录体积最小时的参数值?用modification每次都对零件的参数作出了实实在在的改变,系统没有那么智能,自动回溯到最优时的参数。
作者: enmybh    时间: 2003-8-24 18:45
我想只要我找到体积最小时对应的part,然后在parameter(prt[design])中对它做UF_MODL_ask_exp_tag_string(oexps, &string),把他的参数输出.
作者: enmybh    时间: 2003-8-24 22:16
我明白了我应该在每次update之前存入参数.能给个建议如何实现吗?




欢迎光临 iCAx开思工具箱 (https://t.icax.org/) Powered by Discuz! X3.3