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 3516 1

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

cosn 楼主

2015-12-18 12:38:28

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

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

x
本帖最后由 cosn 于 2015-12-18 12:49 编辑
! p" p" q$ l' m; A# J+ O' ^( ~" Y9 r5 `
我做了个对话框,用面收集器选择面,然后修改颜色,下面的代码是在选择后,我点击应用之后,面的颜色会修改成功,是正常的。但是我在对话框上面加了一个 button 按钮,想通过我点击这个按钮来修改选择的面的颜色,而不是点击应用修改,我直接把 apply_cb() 下面的代码复制到 button 下面,点击这个 button 按钮来修改却没有反应,是怎么回事呢?- o# r9 E  x( e* L7 K

: L1 M+ Y# Y6 X6 H7 |8 }' `下面是点击对话框 “应用”按钮的代码,正常的。$ e9 @+ q1 r5 o/ M/ Z
$ B  W2 P- Q$ C1 d6 R
wint gaimianyanshe::apply_cb()" Q; A! l4 x& C2 K1 x
{
/ }; I# J9 m9 Sint errorCode = 0;! D& C4 m: z+ W) R$ d
try
. ]. z) l4 b4 n$ `4 a1 z{
( p' u. \' J, b
5 r2 y+ J/ v* H: ], V$ {6 MDisplayModification *displayModification1;
& `, ~- o6 o7 Q' j4 o9 u* q( L% YdisplayModification1 = theSession->DisplayManager()->NewDisplayModification();
) O  X) \$ V; _! ]- _( odisplayModification1->SetApplyToAllFaces(false);7 i1 x( l' }6 L  K5 R, c, ]3 i# z
displayModification1->SetApplyToOwningParts(false);
/ ~$ O' G: X' _' `4 fdisplayModification1->SetNewColor(28);; P; N/ W4 f+ F- K
; H0 L2 q7 m3 v9 q
8 m5 y. c. V) P. h+ K6 x3 O
vector<TaggedObject *> faceobjtss=face_select0->GetSelectedObjects() ;
2 X/ |1 J& ?# z' \3 |+ ^; s  Jvector<DisplayableObject *> objects1;/ X" A8 @1 [. r) n6 E) |0 I
" s, C) b1 w. k; E# m
1 ^8 o% c. B! R: d! K: v% [
for(int i=0;i<faceobjtss.size();i++)
) J, [0 S3 r* }+ v& r" b7 ]{5 l+ R  }/ a$ Q- A2 S: c1 ^7 m# k
objects1.push_back(dynamic_cast<Face *>(faceobjtss));4 q& M& [6 v. k* h# V  P3 M1 X
};
9 V: F& B) F/ p* P# R& s! e; |displayModification1->Apply(objects1);
5 [9 L2 W% J8 m/ l8 [objects1.clear();1 c( d# r3 [- J, z
delete displayModification1;
7 z2 K) G' {, Q) S6 _+ F) d0 t& \1 rdisplayModification1 = NULL;9 R' ~4 z+ S: a- n; o7 l
$ H) i6 @- s% P( t) d; L
}
8 v, u. X; v% Y; u. bcaTCh(exception& ex)8 R$ ?+ \8 |5 }2 [& m' y3 ~. i
{
4 ?1 C7 |9 }2 p; T  W' `//---- Enter your exception handling code here -----
* _  ^; M& R) q8 P$ ^4 ]errorCode = 1;
/ k- x2 Z  U3 O0 o6 Z+ pgaimianyanshe::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox:ialogTypeError, ex.what());# v* F1 l) p, I9 ?' y9 g
}
6 m6 F7 Q% ^9 r8 Yreturn errorCode;
+ G' E% |# a0 a/ Z0 O; o$ g}/ `* k3 e* ?: h- F! K

  B' B( y% p- h, I  b: @) ], N8 V9 O) `, n: ~

$ C+ Z( U3 D; S% s5 s+ c9 L0 s下面是  button 下面的代码,点击却没有用,为什么呢?
: Z- v2 c7 I8 ]int gaimianyanshe::update_cb(NXOpen::BlockStyler::UIBlock* block). S  A+ J( M( m' T; ^0 `
{6 H7 i* _) c( R- s( b+ x6 d9 l2 B
    try
" t4 g( U9 ]" |    {
; E% o  z  |: N: O, k        if(block == face_select0)0 B1 f$ U6 ^  H8 ]
        {
/ J2 v$ O0 U( Y4 b4 T" p- ?3 h  o+ ^9 N$ Y7 U4 x7 y8 @+ G  w: K& w. l
        }' T1 b# O" k% t1 k( Z0 f% z  R9 c
        else if(block == button01)
6 o+ p: z, f2 O3 D8 \4 }- {8 P7 ^        {
- p5 y, X7 ^0 }- S9 w% `      
8 C4 D4 x# V2 b) I+ W/ o: U* ]/ U                DisplayModification *displayModification1;
0 c) ?. I: @8 e! v! E                displayModification1 = theSession->DisplayManager()->NewDisplayModification();
  D2 p$ \; t8 c0 W0 o2 e6 n                displayModification1->SetApplyToAllFaces(false);$ j( w3 L  L+ |) v7 [' H& P+ }# c: ^
                displayModification1->SetApplyToOwningParts(false);8 u3 g4 B) |2 O1 A' m9 c
                displayModification1->SetNewColor(28);  i1 h. D; m8 w6 q. m
! ^* \* H) L! S4 l8 ]
" T' `# Y# Q7 z. U7 ]
                vector<TaggedObject *> faceobjtss=face_select0->GetSelectedObjects() ;, V: k7 y9 m& q
                vector<DisplayableObject *> objects1;& L, [4 Y! }/ e; U
) n. |% A* Y9 \# {3 e& d
' M8 ]0 L! Z% j8 E0 c0 a6 A# ~
                for(int i=0;i<faceobjtss.size();i++)9 I# J  E( f1 g
                {+ [7 V7 `: S; H
                objects1.push_back(dynamic_cast<Face *>(faceobjtss));, g* A- U! ?) z! p* f
                };
- G1 W1 r4 B( ~4 W, l                displayModification1->Apply(objects1);. ]+ g, f- A' q# c4 t
                objects1.clear();
) S6 X7 {- L/ C( Z4 o4 ~- G                delete displayModification1;8 Y' h, s6 @( Z- D5 D7 }% A
                displayModification1 = NULL;0 u$ d# U* @( o' h  Q
; l( `3 N& G2 a& x* m

3 X8 C8 y& y* n/ O        }; \9 U8 E4 i5 d1 P' R% G% @3 C4 v

" L- y2 Z7 \  B; F( v* U    }
" {- a) v$ V/ ~/ U: `    catch(exception& ex)
# ]( e; ~. t+ M$ v: O" d    {* P8 f, M% C1 W( W7 _( Z6 |. `
        //---- Enter your exception handling code here -----
# V$ m2 Y) {8 V0 f: ?' P+ V% @        gaimianyanshe::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox:ialogTypeError, ex.what());' R5 ]2 B0 I3 D  M4 @4 K1 r; ^
    }% o6 E, P3 t+ h. i* V, x/ i) ?
    return 0;
& J. r; e& B# ?% u}
, d! |" T9 x- f  S, ~' X$ o
) b! W/ X! _! F* }1 `$ u3 c
4 D! j7 @5 z; ~( C; p# C2 e5 ~- q% I
" ^$ ]5 W+ @. p6 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

楼主这个问题解决了吗?
1 X; ^& P# Z) G# i, ^
$ G0 R2 Y3 y2 N$ M' q" X7 z) {解决了话,分享一下是怎么弄的,也遇到这个问题......
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了