PLM之家精品课程培训

PLM之家精品课程培训

联系电话:18301858168   |   QQ咨询:939801026
NX二次开发培训

NX二次开发培训

UFUN/NXOpen C++和实战案例

适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术。
公众号二维码

关注公众号

点击扫描二维码免费在线高清教程

课程详情
Catia二次开发培训

Catia二次开发培训

市场需求大,掌握核心技术前景广阔

Catia二次开发的市场需求大,人才稀缺。掌握开发技能潜力巨大,随着经验积累将在汽车、航空等领域有所作为。
B站二维码

在线原创B站视频

点击关注工业软件传道士主页

课程详情
Teamcenter培训

Teamcenter培训

全方位培训,从基础应用到高级开发全覆盖

涵盖用户应用基础培训、管理员基础培训、管理员高级培训及二次开发培训等全方位内容,由多年经验讲师打造。
QQ群二维码

加入同行交流

点击扫描二维码加入QQ群

课程详情
×

PLM之家plmhome公众号

课程涵盖: PLM之家所有原创视频

×

关注B站视频

所有高清视频一览无余,全部在线播放学习

×

加入PLM之家QQ群

同行交流,疑问解答,更多互助

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

[求助] update_cb 下面选择面 点击 button 按钮修改颜色为什么无效?

[复制链接]

2017-3-30 15:19:32 3561 1

cosn 发表于 2015-12-18 12:38:28 |阅读模式

cosn 楼主

2015-12-18 12:38:28

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

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

x
本帖最后由 cosn 于 2015-12-18 12:49 编辑 * l0 h, U3 W" @, V6 c
. m7 t. }# k8 Q
我做了个对话框,用面收集器选择面,然后修改颜色,下面的代码是在选择后,我点击应用之后,面的颜色会修改成功,是正常的。但是我在对话框上面加了一个 button 按钮,想通过我点击这个按钮来修改选择的面的颜色,而不是点击应用修改,我直接把 apply_cb() 下面的代码复制到 button 下面,点击这个 button 按钮来修改却没有反应,是怎么回事呢?
( I1 N* ~$ E& Q. L* `- r
; r! j1 j. D9 M* ?) L下面是点击对话框 “应用”按钮的代码,正常的。) f' T0 G! S( J  D. b0 N9 _$ U
/ t0 Z* z& ]. Z8 D  [+ K4 V; h+ p1 q
wint gaimianyanshe::apply_cb()
4 l+ ^; v  z! _. Q! L{8 l' M. {" W5 \  a( r- _
int errorCode = 0;
  |/ P6 |) A+ E2 H" Mtry
$ d8 k$ t2 u  a. F{
6 Q2 V/ @' d' S5 h
; v+ O2 A* n. PDisplayModification *displayModification1;
- r) X7 U$ V2 Q% V  }displayModification1 = theSession->DisplayManager()->NewDisplayModification();
1 _4 X; X# Z4 s  x+ C* VdisplayModification1->SetApplyToAllFaces(false);! V- C( `6 s7 f* o* |
displayModification1->SetApplyToOwningParts(false);
) l, Y0 I6 Z$ R* @: VdisplayModification1->SetNewColor(28);" }0 W4 Y5 i7 N; ?6 P0 h( |+ q
8 _9 Q  B3 F' m4 R) B* l7 R

( W6 z4 W" N$ Z# e3 tvector<TaggedObject *> faceobjtss=face_select0->GetSelectedObjects() ;
6 I  t' W2 [/ M; y7 nvector<DisplayableObject *> objects1;
! V1 d+ B) p1 R  D2 A
% u$ N: w- o, N2 [+ v! F

5 ^, i7 \( j" p4 Z, B9 y6 i9 `for(int i=0;i<faceobjtss.size();i++)
. K! l- ]$ x  J" {1 F; ]5 I{. K* `5 l# Z$ P5 h+ R" ]) E
objects1.push_back(dynamic_cast<Face *>(faceobjtss));2 G- R% v2 Z# C* f. K5 i
};
- y8 C; P* C+ T9 D/ v" g6 J& SdisplayModification1->Apply(objects1);
* o& T& G; }" b: u2 R/ gobjects1.clear();
. D+ m' P( g+ N2 v3 A* v% |delete displayModification1;
3 U6 D: q* @+ ~. a& {/ H! @displayModification1 = NULL;# k$ o; r# I. v& \; i0 F/ ?

, k/ I4 K1 z9 F2 e$ N3 s}5 j# k1 u+ {4 a
caTCh(exception& ex)
' F7 z4 p0 G  i  j{( }3 Z7 w9 ~4 }) b( B1 ~( I, ~) Q/ V
//---- Enter your exception handling code here -----8 L! G) C: ]% w8 B
errorCode = 1;
5 K  I7 ^: X) L5 ]gaimianyanshe::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox:ialogTypeError, ex.what());
/ q1 T. ?1 g4 s8 ?) D}
; d  \- T4 `- ^$ W' S9 m/ Hreturn errorCode;
" M& v) m+ C  H' H( a, ~}
# d9 x( j$ S, k
: E$ M. I( |" z' j1 \
' a! u  Z8 t$ ?7 k( q8 z7 C5 j: q6 D) ?9 K0 o" U
下面是  button 下面的代码,点击却没有用,为什么呢?
$ s* `+ X! V8 s( {& l, V# h, \int gaimianyanshe::update_cb(NXOpen::BlockStyler::UIBlock* block)+ A0 U: T- y) f! e
{, e7 z; p" c9 O* @
    try
3 {$ S6 L/ ?4 ^    {: T3 H" T7 m+ e  ^1 k8 U, }
        if(block == face_select0)' R) D1 F' G1 x! n8 F' V% K
        {3 c1 \3 U$ l8 U0 w, L* [2 V% N4 u
' ~% M7 ^# Y' N' Z0 r! B8 y* c
        }
6 i* @& u9 Q* {* s3 l        else if(block == button01)
8 O) y9 Q- N0 P! p1 \" C) h. o        {
" _# b+ V2 y7 L6 S' `! s      
& e5 `' K4 V* W& L; i                DisplayModification *displayModification1;
8 |0 ^7 r0 r; w8 o5 q; v6 G8 |1 k: X                displayModification1 = theSession->DisplayManager()->NewDisplayModification();
% K6 O2 |8 g% U+ ~                displayModification1->SetApplyToAllFaces(false);
! P0 V8 }" z7 z- S- U4 r1 A0 c                displayModification1->SetApplyToOwningParts(false);
3 U7 m0 _9 b- Y: M$ _  U( P                displayModification1->SetNewColor(28);) N. i# r1 f$ [) u
. q, l& z- M* M+ j* i; n
$ I+ N) ]7 I8 l( K% h
                vector<TaggedObject *> faceobjtss=face_select0->GetSelectedObjects() ;4 J+ W2 \( {0 Q/ e* T3 j
                vector<DisplayableObject *> objects1;
8 J' J. z* f$ r6 ^- I5 f7 i
( P. T+ s6 ^: _1 V: ~

1 ^; f$ U% G2 _! _8 J: S, x$ m( p                for(int i=0;i<faceobjtss.size();i++)
! F2 R& m4 C* D* D$ q                {
) ~/ d2 z% }6 _; P! |                objects1.push_back(dynamic_cast<Face *>(faceobjtss));3 e3 C& \1 O8 r; j
                };
, D6 f& A9 `. |" F2 H2 X  ^+ d                displayModification1->Apply(objects1);
4 o1 B8 r& W! x/ Q: ?                objects1.clear();
- ~2 S" M7 ^" I! B                delete displayModification1;
$ ~$ Y  u8 z& P3 m! V2 h                displayModification1 = NULL;4 p/ ?$ X! |% s: Z0 o

2 U, |# f9 ^, ^' Z

; n7 v$ E5 q- j1 k# w: q8 _3 ?        }
& R6 A: T. j7 k, A* c5 y: q& o/ \" ~" A3 ~1 D+ F: M
    }
8 v3 ]% i& O4 E2 e0 v1 O: j3 \    catch(exception& ex)/ P# C3 V; F4 v
    {# Y) }! v' C4 V2 ?3 W0 V- r: ?
        //---- Enter your exception handling code here -----8 R. {+ R" s+ H* [) j4 W
        gaimianyanshe::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox:ialogTypeError, ex.what());6 M/ Y4 t+ e6 N7 c6 p  h& Q
    }
: z- C, A( N! q. q/ c    return 0;
. e  J" n- D2 @9 f4 j, S}
3 a- Z! x3 r  I9 F3 q' I% F1 S* h6 p- a

9 B' s$ o+ u7 ~. R3 e( h; k9 [  y% d2 d* Z* ?) G; U
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

全部回复1

c1_wangyf 发表于 2017-3-30 15:19:32

c1_wangyf 沙发

2017-3-30 15:19:32

楼主这个问题解决了吗?
, i2 e( ]) q# `7 O* H) a. Y
' ~$ A# r2 b3 v9 U解决了话,分享一下是怎么弄的,也遇到这个问题......
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了