iCAx开思工具箱

标题: 想给拉伸体各个边创建边缘圆角,为什么不行? [打印本页]

作者: 小米粒儿    时间: 2007-3-22 09:58
标题: 想给拉伸体各个边创建边缘圆角,为什么不行?
tag_t *extrusion_objects;

UF_MODL_create_extrusion(generator1,4, &extrusion_trim_object,extrusion_taper_angle,
   extrusion_limits,extrusion_offsets,extrusion_pt1, false, true,extrusion_dir,extrusion_mode_sign,
   &extrusion_objects,&extrusion_obj_cnt);
UF_MODL_ask_body_edges( *extrusion_objects, &edge_list );

UF_MODL_create_blend( "2", edge_list,0, 0, 0, 0.0,&blend_feature3 );
上面程序中extrusion_objects是拉伸体的tag,还是*extrusion_objects是拉伸体的tag,为什么没有办法获得拉伸体的各个边啊?extrusion_objects这个参数的传递过程有错么?本人vc比较面面,希望高手能指点迷津啊.在线等
作者: dspace    时间: 2007-3-22 10:56
既然楼主把extrusion_objects定义成指针变量,在UF_MODL_create_extrusion()中用这个变量的时候就不应该再加取地址符"&"了,直接extrusion_objects就OK。
似乎你的UF_MODL_create_extruded()函数也没有用对啊,怎么那么多参数,你去帮助文档你看看这个函数的用法。UF_MODL_create_extruded(line_list, taper_angel, limit, orign_point, direction, UF_NULLSIGN, &nut); nut是返回的拉伸体的tag_t值,然后再用UF_MODL_ask_body_edges( nut, &edge_list )试试,不行的话就先获得其所有面UF_MODL_ask_feat_faces(nut, &face_list),之后再用UF_MODL_ask_face_edges(face_tag, &edge_list)获得所有的边,当然这就需要用到循环才能找到所有面的边了。
作者: 小米粒儿    时间: 2007-3-22 11:26
谢谢楼上兄弟的热心解答。这个拉伸体的圆角我做出来了。刚才我的错误有两个:1UF_MODL_ask_body_edges( *extrusion_objects, &edge_list );应该将body改为feat用函数,每次我都犯这种低级错误,以后大家用的时候一定要区分body和feature;第2个错误是我在UF_MODL_ask_body_edges( *extrusion_objects, &edge_list );之前就已经把extrusion_objects给free掉了。
作者: syqnet    时间: 2007-3-23 12:48
把这些基本概念都搞明白了,就可以做更高层次的工作了,

sheet body, solid body, face, edge, curve, feature,,,,,




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