马上注册,结交更多同行朋友,交流,分享,学习。
您需要 登录 才可以下载或查看,没有帐号?注册
x
求救!!!用通过曲面命令UF_MODL_create_thru_curves生成实体然后UF_MODL_create_circular_iset 圆周阵列遇到问题
本人是在齿轮上的斜齿 用UF_MODL_create_thru_curves画出一个试题在进行圆周阵列时遇到如下问题
UF_MODL_create_circular_iset(
int method ,/* <I>
Method:
0 = General
1 = Simple
2 = Identical
*/
double location[] ,/* <I>
Rotation point.
*/
double axis[3] ,/* <I>
Rotation axis.
*/
char * number_str ,/* <I>
Number of instances.
*/
char * angle_str ,/* <I>
Rotation angle.
*/
uf_list_p_t feature_list ,/* <I>
List of selected features.
*/
tag_t * feature_obj_id /* <O>
Feature object identifier of created iset
*/
);
函数原型如下 问题就出在倒数第二个变量uf_list_p_t feature_list上 之前我用UF_MODL_create_extruded生成直齿再阵列没有问题
因为最后拉伸生成的特征就是uf_list_p_t 型
UF_MODL_create_extruded(
uf_list_p_t objects ,
char * taper_angle ,
char ** limit ,
double point[3] ,
double direction[3] ,
UF_FEATURE_SIGN sign ,
uf_list_p_t * features
);
现在用通过曲面命令UF_MODL_create_thru_curves生成一个斜齿 。UF_MODL_create_thru_curves函数原型如下
UF_MODL_create_thru_curves(
UF_STRING_p_t s_section ,
UF_STRING_p_t s_spine ,
int * patch ,
int * alignment ,
double value[6] ,
int * vdegree ,
int * vstatus ,
int * body_type ,
UF_FEATURE_SIGN boolean ,
double tol[3] ,
tag_t c_face_id[2] ,
int c_flag[2] ,
tag_t * body_obj_id
);
大家注意最后生成的实体的标志tag_t * body_obj_id是Body object identifier 它不是特征。
我首先想用
uf_list_p_t loop_list3;
UF_MODL_create_list(&loop_list3);
UF_MODL_put_list_item(loop_list3,body_obj_id);//body_obj_id用通过曲线命令生成斜齿的标识
UF_MODL_create_circular_iset(0,origin,direction,num, angle ,
loop_list3,&feat_obj1);
后来发现body_obj_id是实体标识不是特征标识不能直接赋给loop_list3;
我想用UF_MODL_ask_body_feats(body_obj_id,&loop_list3)来处理想得到实体上的特征还是不行,
我现在就是想怎么把实体标识转化为特征标识。恳请各位高手帮我看看这种情况该怎么处理呢???不胜感激! |