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

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

  [复制链接]

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

airintheair 发表于 2015-4-14 09:19:35 |阅读模式

airintheair 楼主

2015-4-14 09:19:35

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

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

x
功能是想遍历整个装配,然后获得所有实体的tag_t的数组% e/ [; {- W% \5 X
程序如下,在使用到" @2 k! K+ P0 I7 C, N6 Z
( L, [( b0 p+ m. T: l
int UF_OBJ_cycle_objs_in_part$ b  Y: |7 c3 [3 [2 M7 h6 j
(% `+ a; Q6 p" N" n0 k4 o
tag_t part_tag,
& S' U$ Y6 M2 i8 t. V" P$ e. Cint type,
2 ^9 r! X/ @* k+ h) Z3 J- Htag_t * object + p- j5 i" w3 J7 y' o
! e: _) P/ O& F! t+ Q* ~9 [
)% t3 l: G) p+ X

" p1 m8 z) d7 W3 Y: c
这个函数时,type选择了UF_solid_type,却找到了含57个子项的数组,但如果选择UF_solid_body_subtype,却无法找到子项,求助下,这边这个type选择什么能找到我所需要的solid body的tag_t数组: c2 ?' u3 v( I+ Y4 i; L& B) [$ }0 v
2 [2 Q& r. @: w: O  z! K% k
  1. num_parts=UF_PART_ask_num_parts();
    9 L7 m$ I& r' Z( j
  2. for (curr_part=0;curr_part<num_parts;curr_part++)
      }. q6 V4 Z* x' q( Z' a: {  V
  3. {4 I$ w% k0 A0 O, H+ Z
  4.   part=UF_PART_ask_nth_part(curr_part);
    0 r3 a+ L9 P+ ?. Z- @" k6 |7 c2 ]
  5.   type=UF_solid_type;
    # E% p8 S1 m+ t0 @* s) U6 B6 B# q, [
  6.      UF_OBJ_cycle_objs_in_part(part,type,&feature);6 c9 Z' q& u( t9 x6 J/ u
  7.   while(feature!=NULL_TAG)
    . i% P4 P0 L9 @+ n4 t1 X
  8.   {
    6 J: v$ x5 Z" n) L
  9.    UF_MODL_ask_body_type(feature,&type1);6 G6 H( l! u: _* H! K( ?
  10.     if(type1=UF_MODL_SOLID_BODY )
    % _7 A5 `9 j5 z$ W) i
  11.      {/ H/ j, [- L7 F
  12.       solid_body[i]=feature;
    ) O4 G# V/ Q" o) ]1 s$ C" Z3 ?
  13.       type1=0;" k9 T0 p  U1 ?% `2 ^6 ?
  14.       i++;
    - k  S, R- u  I. N) t! \7 u
  15.         }" B' U( Y0 m; F* Y( D
  16.    count_1++;
    1 O5 t7 J6 r% u
  17.    UF_OBJ_cycle_objs_in_part(part,type,&feature);2 ~6 Z# M$ r) a
  18.   }* u) A. f/ ^5 k+ q1 j
  19.   i=0;
    : p1 H. B$ y+ ]5 U" r" }+ q) ]; S
  20. }
复制代码
/ W7 Q3 ~" q8 S5 `& I7 {7 R, T

: g0 y7 G* y1 k3 m) a

UG中含有的体

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

使用道具 举报

全部回复2

admin 发表于 2015-4-14 09:44:58

admin 沙发

2015-4-14 09:44:58

if(type1=UF_MODL_SOLID_BODY ),  这里是  ==  吧
4 |2 A/ s- ^* P) l/ T( X* z  G8 E+ {3 q# _" p. _; i. h2 H4 p/ g! O
我没有具体看你的代码 至少这里有问题吧) I$ X6 m8 E, a" R. E  p. d1 ?
+ e: O. |8 t+ o: d1 u
你直接用 NXOpen 的  bodycollection去找 比你这个方便多了
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复 支持 反对

使用道具 举报

airintheair 发表于 2015-4-14 10:34:38

airintheair 板凳

2015-4-14 10:34:38

admin 发表于 2015-4-14 09:44
# M9 l  d: U9 e4 Z& z- n" tif(type1=UF_MODL_SOLID_BODY ),  这里是  ==  吧
* O2 o4 X5 X. I: v* ^9 F& y" q7 |" T8 @9 D2 O3 F0 v- s
我没有具体看你的代码 至少这里有问题吧

9 q" T" I) I. \; X9 K5 G就是这个原因,太粗心了,居然没看出来,现在可以了,3Q
& f. B) n# `) p1 Z# w" lNXOpen还不太会,等你上课后再试试
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

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

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

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

    我知道了