iCAx开思网

标题: 装配中使用使用 uf5947 的问题。输入参数中的标识符问题。 [打印本页]

作者: gm89757    时间: 2012-5-14 22:00
标题: 装配中使用使用 uf5947 的问题。输入参数中的标识符问题。
本帖最后由 gm89757 于 2012-5-16 22:15 编辑

装配中使用 uf5947 的问题。
我先装入一个齿轮。然后用uf5945获得要旋转所需的矩阵。然后用5947旋转装配的齿轮。
装入齿轮没有问题。uf5945也没有问题。到了uf5947出问题了。错误码3。意思就是我的旋转部件的tag_t错了。
求大侠帮忙看一下。
下面是代码:
//装配函数的输入参数。不用看。
         char * refset_name_gear_in_1="MODEL";
         double origingear_in_1[ 3 ]={0.0,0.0,0.0};
         char * instance_name_gear_in_1="gear_input_5";
         double csys_matrixgear_in_1[ 6 ]={1.0,0.0,0.0,0.0,1.0,0.0};
         tag_t ins_gear_in_1;   
         int layer=0;
         UF_PART_load_status_t error_status;
         int ret;
  //这段是装配齿轮,大家都懂了。我不多说了。
  UF_CALL(UF_ASSEM_add_part_to_assembly (tag_shaft_in,dir, refset_name_gear_in_1, instance_name_gear_in_1, origingear_in_1, csys_matrixgear_in_1, layer, &ins_gear_in_1, &error_status ));

//uf5945的输入参数
  double origin [ 3 ] ={0,220,0};
         double direction [ 3 ] = {0,1,0};
         double  degrees_rotation = 45.0;
         double matrix [ 12 ] ;
         int get_status = 0;

  FTN(uf5945)(origin,direction,°rees_rotation,matrix,&get_status);

//uf5947的输入参数。
  int obj_nums = 1;
         int move_or_copy = 1;//1for move
         int dest_layer = 0;
         int trace_curves = 2;
         tag_t copies[1]  ;
         tag_t trace_curve_group ;
         int rotate_status ;
         FTN(uf5947)(matrix,&occ_gear_in_5,&obj_nums,&move_or_copy,&dest_layer,
                 &trace_curves,copies,&trace_curve_group,&rotate_status);
//错误码是3.也就是rotate_status=3.帮助文件上写的错误的原因是: 3 - Invalid Object (Not Alive Or Not Transformable)
//求大侠不吝赐教。







欢迎光临 iCAx开思网 (https://www.icax.org/) Powered by Discuz! X3.3