查看: 5840|回复: 3

[已解决] UG8.0平台二次开发难题,怎么通过Body Collector得到Body?

  [复制链接]

7

主题

44

回帖

249

积分

中级会员

积分
249
发表于 2013-11-13 16:33:54 | 显示全部楼层 |阅读模式

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

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

×
怎么通过Body Collector得到Body?Block类型的body_select怎么得到Body或者TaggedObject。. k7 A7 H3 g$ Y: F8 l2 L
NXOpen::BlockStyler:ropertyList* faceProperties = bodySelect0->GetProperties();
. E( h  [- W9 O$ o5 H7 @* n( `. L* Qstd::vector<NXOpen::TaggedObject* > faceCol = faceProperties->GetTaggedObjectVector("SelectedObjects");& L8 j; V- d, |" }( L! f
delete faceProperties;
' ?7 y# V) C6 L, i  A! d这个怎么不能得到东西啊???
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

320

主题

226

回帖

9784

积分

管理员

PLM之家NX|TC专家

积分
9784
发表于 2013-11-13 17:34:49 | 显示全部楼层
你这个 不对吧 , 既然是 body 的 选择, 结果都是taggedobject
! R" T9 Y8 t3 U9 h3 |
. A9 |* s: G' H+ ]" K. i# T只是需要 转换 8 k0 e5 Z5 l+ `  n! Y2 D

5 y8 v* E3 }) i6 g' ?我没有测试 ,感觉的写下,这个我都可以后面录制视频的来做个例子
( h7 q% x7 c9 N) G
. l2 A7 y6 f3 A- F2 N% _+ m* H比如 你从UI 获取对象
# z  R9 C/ j) O3 Q
: h9 n5 b: j  o8 v$ f& VNXOpen::BlockStyler:ropertyList* bodyProperties = bodySelect0->GetProperties();
, g6 v  H9 v0 V7 z! U& h( U5 }std::vector<NXOpen::TaggedObject* > objects = bodyProperties ->GetTaggedObjectVector("SelectedObjects");1 g) s2 w9 r* Y- J" c! A
5 s* E9 {. {4 f+ o
这一步是获取的 选择对象,类型都是 tagged objects
9 C: N3 t7 V% n2 D) q4 D如果你要body就要转换
4 [- k0 N. u2 l2 ^  w5 d6 C# b. x; R, ^- G( N* M- q! Z  w
std::vector<Body *> bodies ;% h% i8 d# |$ s* P6 e
7 n; R! a* X9 g/ g
for (unsigned int i = 0 ; i< objects[i] ; i++)
9 C" I3 p' k. U0 @+ [{
6 M" w$ }3 x: `3 p' `9 ^6 u   bodies.pushback(dynamic_cast<Body *>(objects[i]))& F1 T+ H* {& [$ ~& v' Q
}
8 F4 B4 y0 T: z6 j* r: K+ t- Q1 ~! V: @- f3 m( V
这样就得到了bodies了
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

7

主题

44

回帖

249

积分

中级会员

积分
249
 楼主| 发表于 2013-11-13 19:29:44 | 显示全部楼层
你好,就是这样的,关键是那个objects用这个方法无法得到啊,你选择完成后得到的数量为0,调试的时候,在上面两句话中就会显示有错误,什么无法计算表达式的值。现在我在想是不是8.0这个版本的Block UI Styler不太给力啊,谢谢您了!
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复 支持 反对

使用道具 举报

7

主题

44

回帖

249

积分

中级会员

积分
249
 楼主| 发表于 2013-11-13 19:33:50 | 显示全部楼层
我的获得TaggedObject的代码就是这样的8 j5 A3 N; s9 M
BlockStyler:ropertyList*  bodySelectProps = bodySelect0->GetProperties();
  e, ]; j" G% J% `8 l3 n( kstd::vector<NXOpen::TaggedObject *> body01 = bodySelectProps->GetTaggedObjectVector("SelectedObjects");
7 ~2 x3 b" ?8 Z5 r0 Wint num = body01.size();
  h  }4 Y+ B1 Q/ b) i3 Mchar str[100];; R0 c8 t! T# U; W
sprintf_s(str,"%d",num);
, h; `2 {  l0 ?6 Wuc1601(str,1);4 G$ I6 u6 @* j: i6 [
得到显示的值是0啊
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复 支持 反对

使用道具 举报

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

本版积分规则

在本版发帖
关注公众号
QQ客服返回顶部