PLM之家精品课程培训,联系电话:18301858168 QQ: 939801026

  • NX二次开培训

    NX二次开培训

    适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术对于老鸟也值得借鉴!.

    NX CAM二次开发培训报名 NX二次开发基础培训报名
  • PLM之家Catia CAA二次开发培训

    Catia二次开发培训

    Catia二次开发的市场大,这方面开发人才少,难度大。所以只要你掌握了开发,那么潜力巨大,随着时间的积累,你必将有所用武之地!

  • PLM之Teamcenter最佳学习方案

    Teamcenter培训

    用户应用基础培训,管理员基础培训,管理员高级培训,二次开发培训应有尽有,只要你感兴趣肯学习,专业多年经验大师级打造!

  • PLM之Tecnomatix制造领域培训

    Tecnomatix培训

    想了解制造领域数字化吗?想了解工厂,生产线设计吗?数字化双胞胎,工业4.0吗?我们的课程虚位以待!

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

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

[复制链接]

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

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

cosn 楼主

2015-12-18 12:38:28

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

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

x
本帖最后由 cosn 于 2015-12-18 12:49 编辑 5 g; `7 }; O& w: k; W

' }8 n  q1 E" i( V9 D# S我做了个对话框,用面收集器选择面,然后修改颜色,下面的代码是在选择后,我点击应用之后,面的颜色会修改成功,是正常的。但是我在对话框上面加了一个 button 按钮,想通过我点击这个按钮来修改选择的面的颜色,而不是点击应用修改,我直接把 apply_cb() 下面的代码复制到 button 下面,点击这个 button 按钮来修改却没有反应,是怎么回事呢?
7 W1 i$ Q+ _; P6 L  Z- D. G. V/ q. [$ ~
下面是点击对话框 “应用”按钮的代码,正常的。/ y; ]8 W% I+ ], R& P
) _, S8 H+ @9 e7 `/ l& Y
wint gaimianyanshe::apply_cb(). p% W4 X/ v" Z5 H7 Y8 |3 ~/ J
{
: e4 b% p: M: h) @int errorCode = 0;( C; h0 y9 m) F" F, I  ^% d
try
, A& r* |. m7 C{
- e+ ?- W0 Y" w$ Q: Y) Q
& {/ g7 k+ B/ b" `/ Z: U% x$ `DisplayModification *displayModification1;. }* R1 M+ a0 p9 J( e3 p3 _' j
displayModification1 = theSession->DisplayManager()->NewDisplayModification();* W; j( N9 e' F1 w7 z
displayModification1->SetApplyToAllFaces(false);% s, U6 q& y) C, Q2 b
displayModification1->SetApplyToOwningParts(false);2 f0 i! B; }" q2 w- ^* b
displayModification1->SetNewColor(28);
4 T$ c5 D" W2 _; k4 `, ?) g5 q
. y- T5 t4 b$ ?2 r

. t5 E: b: D3 W: f: X2 I" ~( t- [vector<TaggedObject *> faceobjtss=face_select0->GetSelectedObjects() ;
4 n6 v- l; j" N' Q% pvector<DisplayableObject *> objects1;
3 d! s3 I7 F' W, l3 {5 w  w+ q" y/ U. {- H6 z
( G6 f+ y6 B/ G2 {
for(int i=0;i<faceobjtss.size();i++)
5 q/ q' M9 ^+ C- `{
. n1 z7 L+ }% A, i# l$ P* ]- M, m$ Iobjects1.push_back(dynamic_cast<Face *>(faceobjtss));! E+ ^+ z% |5 u  k( }
};
) O6 \& R7 p2 }" Q2 pdisplayModification1->Apply(objects1);
7 s7 I/ H" @) @9 U* hobjects1.clear();
& _1 c3 b+ |( l& u5 U; vdelete displayModification1;
, y+ `9 K* V" L2 K4 adisplayModification1 = NULL;1 e0 O: i/ v2 T5 m2 i
% E- H9 e( s- m! X  j
}; c5 {0 O# N* I7 x+ p: _
caTCh(exception& ex)
2 P( O/ y: \5 o{9 a7 x. z, |- W( r
//---- Enter your exception handling code here -----$ k$ `( O' V: J/ }- w
errorCode = 1;
+ Y' [( v8 {0 g, M8 Mgaimianyanshe::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox:ialogTypeError, ex.what());
; ]4 L  w4 W4 p3 ]' p4 n}# j. @+ {0 N% ~8 ~# i& K
return errorCode;
1 ~) V" |. \7 n4 |}* b! @. @4 J$ [; u$ a* m: r

4 F8 d  P' @% K7 c4 I5 ~+ I
- W3 b- N, V! @' O2 |0 S2 l' B  V. n7 ?
下面是  button 下面的代码,点击却没有用,为什么呢?
5 C9 z0 m; I1 B: Z8 t4 l; l0 U  N% {: Vint gaimianyanshe::update_cb(NXOpen::BlockStyler::UIBlock* block)0 Z% b2 W  ?) L3 s0 x& \
{
- a1 Y% \. H3 Y2 ?+ ~* l    try) x! ~( U% d. Z* |  v2 U
    {
8 d( F$ z% [2 Y9 R# E) A. a1 ]! y        if(block == face_select0)
: N# Y7 q1 O* g) Y8 ^% f1 E        {" Z" i% A* f6 H  K8 F4 ]

( d: m: G0 P% {        }
1 ]! d8 a& m3 A! D3 N        else if(block == button01)  y$ g% I3 ^. Q. l) l; o: c
        {9 v6 ?1 }6 I9 P5 y3 P" \
       0 ?% j0 G) g$ n+ T! w
                DisplayModification *displayModification1;
$ A0 N$ P$ h9 ]& f8 I% }9 U  N                displayModification1 = theSession->DisplayManager()->NewDisplayModification();5 j- e4 S$ B, G8 L( r& w( A
                displayModification1->SetApplyToAllFaces(false);% V0 r' L1 T# U" I5 e
                displayModification1->SetApplyToOwningParts(false);
& U3 r5 v8 Q1 n" p. G9 N# \: e: R                displayModification1->SetNewColor(28);
5 L4 H/ z& p- K$ s9 e) P# H( A
) I' H8 R' T+ {# c& [' r1 q' w) e
: Z0 X5 Z3 o* n' K0 j+ [3 E
                vector<TaggedObject *> faceobjtss=face_select0->GetSelectedObjects() ;* J' P1 [3 k7 K6 M1 N* ~7 b
                vector<DisplayableObject *> objects1;: ~- }8 R+ M( r2 E+ I/ N8 C# z

: q& |1 d4 B+ B8 |6 @  @
' L" T+ `3 `3 T" C8 f
                for(int i=0;i<faceobjtss.size();i++)
7 R; z" {- C) x+ o$ O3 v' I                {
" F9 q9 O3 s; x! F8 w6 ~- b' X                objects1.push_back(dynamic_cast<Face *>(faceobjtss));+ r5 R, U9 b# A& Y5 W
                };* h9 }7 p( X2 w, j  n' V* t" z% O
                displayModification1->Apply(objects1);+ h9 [' X, C% O2 x2 P/ E5 I
                objects1.clear();
/ X: x0 R4 |% |! \                delete displayModification1;
* W- G7 z, h" D: g                displayModification1 = NULL;
! C) z: g8 t/ T8 j/ O: Y. n, p6 V$ N7 h/ A) |* U

3 T0 ]  S3 T1 O6 t' `- P        }* G( d% K# j( E3 V. f9 n
8 ^% P. _, H# t1 p- g, R( ]( F! L; \
    }
% Y) q! M6 m8 r6 k, ~( m( V$ A/ M    catch(exception& ex)
0 D% L$ U, g. A: x7 v1 b+ a: t    {
$ n$ w5 p. }: p# m- E  C        //---- Enter your exception handling code here -----' u( S4 D7 [  h+ Z
        gaimianyanshe::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox:ialogTypeError, ex.what());
- a7 N" `; X% J9 |% {    }; Z' g0 b0 X6 O% {8 Z5 w
    return 0;
2 `4 l5 J- n2 u3 ^: Y  ~: F: m}" m0 U5 J# p( i

  T6 p6 n# e2 k5 a: I
, e: W3 \" \  F2 a3 {! |$ L% a$ T6 a7 x
上海点团信息科技有限公司,承接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

楼主这个问题解决了吗?! A3 w- a6 N+ _
+ i0 z" l; O% T* E! X# n# 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二次开发专题模块培训报名开始啦

    我知道了