iCAx开思工具箱
标题:
怎样在UG OPEN 里用函数选择SHEET BODY
[打印本页]
作者:
wangxinyush
时间:
2008-8-15 11:08
标题:
怎样在UG OPEN 里用函数选择SHEET BODY
我在做一个快速移动实体到指定的层,发现SOLID BODY和SHEET BODY是同一个TYPE,用什么函数可以区分它们.谢谢了,在线等
作者:
wangxinyush
时间:
2008-8-15 14:27
谁能帮我一下,很着急,谢谢了
作者:
dianzi24
时间:
2008-8-16 13:55
对象有两层属性type和subtype。
你的两个属性的type都是UF_solid_type吧。
UF_solid_type的subtype属性还有6种:
UF_solid_body_subtype 0
UF_solid_swept_body_subtype 1
UF_solid_face_subtype 2
UF_solid_edge_subtype 3
UF_solid_silhouette_subtype 4
UF_solid_foreign_surf_subtype 5
在subtype里再具体区分吧。
作者:
wangxinyush
时间:
2008-8-18 14:52
谢谢,我知道了,我是用UF_OBJ_cycle_objs_in_part函数来找SOLID BODY,这个函数不能区分SOLID BODY 和SHEET BODY,所以在用完这个函数后,我又使用了UF_MODL_ask_body_type来区分找出SHEET BODY,但是我不太清楚这个UF_MODL_ask_body_type函数的用法,能发个例子让我参考一下吗?
作者:
dianzi24
时间:
2008-8-21 08:35
这是UG自带的例子,和你做的基本一样
tag_t ProtoTag;
UF_OBJ_disp_props_t DispProps;
UF_BREP_topology_t *MakeBodyRoot;
UF_OBJ_cycle_objs_in_part (PartTag, UF_solid_type, &BodyTag);
if (BodyTag == NULL_TAG) break;
UF_OBJ_ask_display_properties (BodyTag, &DispProps);
UF_OBJ_ask_type_and_subtype (BodyTag, &Type, &Subtype);
if (Subtype != UF_solid_body_subtype ||
DispProps.blank_status != UF_OBJ_NOT_BLANKED) continue;
ProtoTag = BodyTag;
if (UF_ASSEM_is_occurrence (BodyTag))
ProtoTag = UF_ASSEM_ask_prototype_of_occ (BodyTag);
UF_MODL_ask_body_type (ProtoTag, &Type);
if (Type == UF_MODL_SOLID_BODY) SolidCount++;
else if (Type == UF_MODL_SHEET_BODY) SheetCount++;
else continue;
欢迎光临 iCAx开思工具箱 (https://t.icax.org/)
Powered by Discuz! X3.3