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

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

  [复制链接]

2013-11-13 19:33:50 5582 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。
: [: F1 S. I' BNXOpen::BlockStyler:ropertyList* faceProperties = bodySelect0->GetProperties();/ c, ^2 C. V# \$ ~1 W4 T5 U
std::vector<NXOpen::TaggedObject* > faceCol = faceProperties->GetTaggedObjectVector("SelectedObjects");
1 X2 g. K$ r! S9 i4 u0 Gdelete faceProperties;* J! F& \6 ]1 Y6 U7 D
这个怎么不能得到东西啊???
上海点团信息科技有限公司,承接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 的 选择, 结果都是taggedobject
7 R- l4 {' f5 R+ l$ U8 P# ]
1 x+ d. v3 O. u只是需要 转换
. d6 `5 l1 ]3 E' h  e3 \, P9 \: ]+ |! _: v0 i# ]% s
我没有测试 ,感觉的写下,这个我都可以后面录制视频的来做个例子) a& V* T, U% M4 F5 M7 W! O& A

7 g0 U- c  r2 d. q3 j' E2 ]3 s比如 你从UI 获取对象
0 |# u" }; T7 ^; s) H' ~! @7 L& r  H0 y) p; c! a6 e
NXOpen::BlockStyler:ropertyList* bodyProperties = bodySelect0->GetProperties();7 B! o; P* `% j/ J
std::vector<NXOpen::TaggedObject* > objects = bodyProperties ->GetTaggedObjectVector("SelectedObjects");
* }6 I1 C- h" S7 n# k6 p
9 }$ w  @5 e: A' ?2 P/ o1 v  E这一步是获取的 选择对象,类型都是 tagged objects
7 B1 X4 a9 e' n: U5 q8 B& Q4 j! [3 ]如果你要body就要转换
$ l. n) v4 s9 Q  W! A  \+ y. H( i. E  e3 G8 {
std::vector<Body *> bodies ;
9 R9 z& |" ]9 N3 e# R5 ?, C! v& g7 J6 p0 x- m& ^; Q
for (unsigned int i = 0 ; i< objects[i] ; i++)
: W, Q6 u* c4 H3 c, I{
$ O6 P* m! K& V  L" m0 x6 d9 A, {/ W   bodies.pushback(dynamic_cast<Body *>(objects[i]))" _2 [: ]& D# n- Q' j
}
8 U, L2 {" W3 f5 B
1 J6 q" A) L* ^# y+ ^* Z7 q% a) _这样就得到了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的代码就是这样的, d, s- l6 b, ?7 i4 \& p# z
BlockStyler:ropertyList*  bodySelectProps = bodySelect0->GetProperties();
) ~# O5 n0 [% T* z5 N  E$ Istd::vector<NXOpen::TaggedObject *> body01 = bodySelectProps->GetTaggedObjectVector("SelectedObjects");( C) `2 B# M' N, g* ~" k
int num = body01.size();! H$ ]& Q( E8 }
char str[100];+ v& a/ j$ Q# t) D: h
sprintf_s(str,"%d",num);) V4 ]! o2 q# I# z& E8 `
uc1601(str,1);8 O. `: B' h! ?7 ?) i+ y4 |
得到显示的值是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二次开发专题模块培训报名开始啦

    我知道了