我当然也知道是数组越界,可能我没有说清楚,下面是整个测试程序段,base_face和app_line是从外面传入的。
里面涉及到数组的也就是bend_angle,bend_radius和baf,但这几个参数怎么也不可能会越界的。
另外,我在交互环境下,建立一个bend特征,然后用程序读入,得到相关参数后,再把这些参数作为函数
UF_MODL_create_smbend的输入参数,但依然是有错。因此对该函数的输入参数的形式很迷惑,有没有大虾碰到过这样的情况,请不吝指教。
UF_KF_type_t type;
tag_t base_face,app_line,bend_feature;
UF_KF_instance_p_t instance;
int error;
UF_MODL_smbend_data_t bend_input_data;
char bend_angle[UF_MAX_EXP_LENGTH+1]="90";
char bend_radius[UF_MAX_EXP_LENGTH+1]="10";
char baf[UF_MAX_EXP_LENGTH+1]="(Radius+(Thickness*0.44))*rad(Angle)";
UF_initialize();
bend_input_data.base_face = base_face;
bend_input_data.app_curve = app_line;
bend_input_data.app_curve_type = UF_SMBEND_BEND_CENTERLINE;
strcpy(bend_input_data.angle,bend_angle);
bend_input_data.angle_type = UF_SMBEND_BEND_ANGLE;
strcpy(bend_input_data.radius,bend_radius);
bend_input_data.radius_type = UF_SMBEND_INNER_RADIUS;
bend_input_data.bend_dir = UF_SMBEND_BEND_DIR_AS_SPECIFIED;
bend_input_data.stat_side = UF_SMBEND_STAT_SIDE_AS_SPECIFIED;
strcpy(bend_input_data.baf,baf);
error=UF_CALL(UF_MODL_create_smbend(&bend_input_data,&bend_feature));
UF_terminate(); |