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