PLM之家PLMHome-国产软件践行者

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

  [复制链接]

2013-11-13 19:33:50 5599 3

Bruce_Lee 发表于 2013-11-13 16:33:54 |阅读模式

Bruce_Lee 楼主

2013-11-13 16:33:54

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

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

x
怎么通过Body Collector得到Body?Block类型的body_select怎么得到Body或者TaggedObject。0 a5 {1 n' x. \( g. ^) i
NXOpen::BlockStyler:ropertyList* faceProperties = bodySelect0->GetProperties();
$ K, T8 j" k- Fstd::vector<NXOpen::TaggedObject* > faceCol = faceProperties->GetTaggedObjectVector("SelectedObjects");7 N: l& _# s7 i) H" E
delete faceProperties;
8 Y* N8 R9 X# ]  k; v) w( r8 |这个怎么不能得到东西啊???
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

全部回复3

mildcat 发表于 2013-11-13 17:34:49

mildcat 沙发

2013-11-13 17:34:49

你这个 不对吧 , 既然是 body 的 选择, 结果都是taggedobject3 u# w+ m% d) _  g

* s- L& K; h$ I7 ^) a只是需要 转换 - g* H. P* _( L9 ?% a

2 K8 E; |6 `; C# f: U0 D* A我没有测试 ,感觉的写下,这个我都可以后面录制视频的来做个例子
' A+ z1 e4 j; o, b4 c# D
& F1 V9 i( P. ?6 H比如 你从UI 获取对象
4 X7 T) A, M1 W) ?2 O0 L
/ W: g6 C. P5 }4 u+ w5 NNXOpen::BlockStyler:ropertyList* bodyProperties = bodySelect0->GetProperties();- U! T4 y. J7 w/ d2 p2 Z+ k( O
std::vector<NXOpen::TaggedObject* > objects = bodyProperties ->GetTaggedObjectVector("SelectedObjects");6 k- z! t9 w% m6 l. \4 q

& B3 x# f, }% _# U5 x这一步是获取的 选择对象,类型都是 tagged objects5 S  w1 a- x% F! ]  U- D7 i$ O
如果你要body就要转换
/ S9 x4 _6 _( Z$ i# l. N$ n1 ]. c( C: h) H
std::vector<Body *> bodies ;9 n# Y# M" \0 J  Q7 Y. l5 b0 ~
* k! c- H* r5 m5 ~7 u/ x& q8 [$ ^, N5 R
for (unsigned int i = 0 ; i< objects[i] ; i++)
' z( i! I0 g& @7 G3 V1 N{
' T' |! l% c% H$ c   bodies.pushback(dynamic_cast<Body *>(objects[i]))9 z6 T, r) C0 z2 ]& x
}& |! \! a' I/ ?" V2 ~$ V2 u0 C

1 E* j6 l, G7 v7 K+ T# j* }1 o7 M这样就得到了bodies了
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

Bruce_Lee 发表于 2013-11-13 19:29:44

Bruce_Lee 板凳

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.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

Bruce_Lee 发表于 2013-11-13 19:33:50

Bruce_Lee 地板

2013-11-13 19:33:50

我的获得TaggedObject的代码就是这样的  l5 V3 P" U+ k2 N
BlockStyler:ropertyList*  bodySelectProps = bodySelect0->GetProperties();
0 o7 Q4 F2 ?& p: ^- g2 ystd::vector<NXOpen::TaggedObject *> body01 = bodySelectProps->GetTaggedObjectVector("SelectedObjects");9 t, w" j# Q9 k3 h7 Z
int num = body01.size();  t) m9 C8 I6 J, Y! H5 u6 s! _
char str[100];
6 D# S! h7 B; K' j* e) g, j" ?sprintf_s(str,"%d",num);
$ p: u: y  h; euc1601(str,1);" ?. V5 J$ C  H8 o
得到显示的值是0啊
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了