iCAx开思工具箱
标题:
UG二次开发中问一个很菜的问题
[打印本页]
作者:
imyourkobe
时间:
2007-7-21 06:52
标题:
UG二次开发中问一个很菜的问题
为什么我通过代码创建的PRAT,根据TAG,可以遍历PART中的所有的面,但如果是先通过UG打开某个PART,用函数获取TAG,遍历不到PART中的的面??
代码如下:
如果用:
UF_MODL_create_cylinder (sign, target_tag, origin,height, diam,direction, &display_tag );
UF_CALL(UF_MODL_ask_feat_faces(display_tag,&cylinder_face_list));
UF_CALL(UF_MODL_ask_list_count(cylinder_face_list, &list_count)); //
就是说用UF_MODL_create_cylinder 可以得到返回的display_tag ,list_count也有值
但如果通过UG打开某个PART,用函数UF_PART_ask_display_part();获取TAG,有问题啊
tag_t display_tag = NULL_TAG;//当前UG进程中的显示部件
//获得当前UG进程中的显示部件
display_tag = UF_PART_ask_display_part();
UF_CALL(UF_MODL_ask_feat_faces(display_tag,&cylinder_face_list));
UF_CALL(UF_MODL_ask_list_count(cylinder_face_list, &list_count)); //
但list_count值为0,且,下面都不运行了,我怀疑是display_tag有问题?
大家来帮忙吧,谢谢了
作者:
imyourkobe
时间:
2007-7-21 07:30
继续问一个菜问题,如何遍历出part中的所有body,遍历出part中的所有的面,获取TAG 啊?
作者:
imyourkobe
时间:
2007-7-21 18:31
怎么没有人回答啊?
作者:
imyourkobe
时间:
2007-7-22 07:18
哎,悲哀,没有人来帮忙,自己已解决了!
作者:
凤华
时间:
2007-7-22 10:29
怎么解决的?我也遇到类似的问题,说一下你的解决办法嘛
作者:
zhoujunbo830
时间:
2007-9-17 20:33
兄弟!!
如何解决的啊??
如何找到装配体中各个零件的面的tag_t
!!!
告诉我一下啊!!
谢谢了阿
我的qq::276753279
随时等你的帮助阿
谢谢了阿
作者:
cftlin
时间:
2007-9-17 21:12
觉得程序是没有问题的。不知你打开的Part文件是不是装配体部件,如果是的话,它的显示部件与工作部件可能是不同的。
你可以调试一下,具体的看一下调试过程中的display_tag 的值,是不是出错在display_tag 的地方。
作者:
ice-snow
时间:
2007-10-18 18:10
你用display_tag = UF_PART_ask_display_part()得到的是part文件的tag值,
而UF_MODL_ask_feat_faces()函数的输入参数应该是特征的tag,所以你输入part的tag当然不可以!
你应该先从打开的零件中遍历出特征,然后再访问特征的面。
作者:
ice-snow
时间:
2007-10-18 18:30
需要添加如下代码:
int iType;
tag_t tFeature;
iType = UF_feature_type; //设置遍历对象为特征类型
tFeature = NULL_TAG; //遍历得到的特征tag,开始遍历时设置为NULL_TAG
//在当前的工作部件中遍历特征
UF_OBJ_cycle_objs_in_part(display_tag , iType, &tFeature);
uf_list_p_t face_list;
int face_count;
//接下来才可以访问特征面,得到该特征所包含的面的一个列表
UF_MODL_ask_feat_faces (tFeature, &face_list);
UF_MODL_ask_list_count(face_list, &face_count); //得到面的个数
之后你就知道了 :)
作者:
sincosxu
时间:
2007-10-19 11:57
好,希望ICE-SNOW兄弟这种乐于助人的人多点!!!!!!!!!!!
欢迎光临 iCAx开思工具箱 (https://t.icax.org/)
Powered by Discuz! X3.3