PLM之家PLMHome-工业软件践行者

[求助] 遍历整个装配,获取所有实体的数组

  [复制链接]

2015-4-14 10:34:38 3942 2

11

主题

28

回帖

181

积分

培训VIP会员

积分
181
发表于 2015-4-14 09:19:35 | 显示全部楼层 |阅读模式

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

您需要 登录 才可以下载或查看,没有账号?注册

x
功能是想遍历整个装配,然后获得所有实体的tag_t的数组5 I3 Z/ \, [: T, w: m% h4 }; ]1 h
程序如下,在使用到. V4 }$ _) z2 r3 P, Y! r
% z* Z- ]1 g  V! r; n
int UF_OBJ_cycle_objs_in_part% ]2 ^# E3 z; V- i8 [
(7 p% K8 X  U' @$ X: l; q8 ]
tag_t part_tag,
5 ?+ ~: g* u' t( @6 Y0 E* Sint type,
9 h& D1 H1 ~8 q3 e6 d9 L( ?4 D- I5 ptag_t * object 1 k- r- `2 ^4 B) ?
7 Z' Q, B) B- `/ ^  s0 L
). n" u+ d% G% [

! P2 b. j) Q- }. f$ `2 ^7 @
这个函数时,type选择了UF_solid_type,却找到了含57个子项的数组,但如果选择UF_solid_body_subtype,却无法找到子项,求助下,这边这个type选择什么能找到我所需要的solid body的tag_t数组
# r) k) P5 d2 W2 ]4 h- q- [" \ $ S" [9 {- W9 Y
  1. num_parts=UF_PART_ask_num_parts();6 \. C% l' V& o0 f
  2. for (curr_part=0;curr_part<num_parts;curr_part++)- `( T& z" ?' ^: i! l3 h
  3. {
    4 L' \8 z, O- t* u
  4.   part=UF_PART_ask_nth_part(curr_part);! W" Z; O1 A/ Z! x$ u
  5.   type=UF_solid_type;
    ' l4 d9 B/ l. `
  6.      UF_OBJ_cycle_objs_in_part(part,type,&feature);
    2 _& Q  w0 h  I7 o
  7.   while(feature!=NULL_TAG)
    6 S  d6 O  E5 h5 v  |
  8.   {
    / T7 }+ y3 C4 N1 s- Y) @
  9.    UF_MODL_ask_body_type(feature,&type1);
    % Y  K7 A& H8 u
  10.     if(type1=UF_MODL_SOLID_BODY )
    / Y1 j- W5 r2 l
  11.      {
    % S8 p" A$ R1 i$ s6 B# V) x* J
  12.       solid_body[i]=feature;
    8 r" F: j& _2 \. I' ^5 q8 `
  13.       type1=0;
    6 y5 ~4 S& v" l0 A, Q
  14.       i++;
    ; r+ o2 u3 D4 [$ T/ M2 O( ?
  15.         }: L: Z. K) i0 E0 j& D( |" @
  16.    count_1++;1 `/ r: e2 V8 H- D! O& K, Z0 J6 d
  17.    UF_OBJ_cycle_objs_in_part(part,type,&feature);9 K" s. C0 T1 P: E  F! E
  18.   }. C- H$ t8 @% l
  19.   i=0;
    8 T- z  G7 i0 }  f% [
  20. }
复制代码
. g7 p% ~' B% @" `' @0 W+ P

, r( L: r2 B* l9 b' S+ a+ ^' i

UG中含有的体

UG中含有的体
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

全部回复2

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

积分
82162
QQ
发表于 2015-4-14 09:44:58 | 显示全部楼层
if(type1=UF_MODL_SOLID_BODY ),  这里是  ==  吧
& F% q' w; L2 q, Z7 n6 ?" i$ C( p: Q: T  B0 G
我没有具体看你的代码 至少这里有问题吧7 l# r3 t& ^  T* U) i9 K* l! ]; S$ S
$ ^; \5 Q3 x" v$ ]
你直接用 NXOpen 的  bodycollection去找 比你这个方便多了
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复 支持 反对

使用道具 举报

11

主题

28

回帖

181

积分

培训VIP会员

积分
181
 楼主| 发表于 2015-4-14 10:34:38 | 显示全部楼层
admin 发表于 2015-4-14 09:44
7 w  u8 e6 s9 M2 z( U8 m0 Eif(type1=UF_MODL_SOLID_BODY ),  这里是  ==  吧/ i! m+ D4 i5 Z. u( ?' X# w4 @+ S2 {

5 x, ]* z  e) q5 L5 ^7 T* N我没有具体看你的代码 至少这里有问题吧
. M" ~; O! S  q& l' m, }
就是这个原因,太粗心了,居然没看出来,现在可以了,3Q
/ d. H5 j( D5 @7 [- [' zNXOpen还不太会,等你上课后再试试
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复 支持 反对

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了