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

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

cosn 楼主

2015-12-18 12:38:28

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

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

x
本帖最后由 cosn 于 2015-12-18 12:49 编辑 % U5 \6 k4 A8 S. \, U
2 e5 v' M* f1 L1 k2 w+ u
我做了个对话框,用面收集器选择面,然后修改颜色,下面的代码是在选择后,我点击应用之后,面的颜色会修改成功,是正常的。但是我在对话框上面加了一个 button 按钮,想通过我点击这个按钮来修改选择的面的颜色,而不是点击应用修改,我直接把 apply_cb() 下面的代码复制到 button 下面,点击这个 button 按钮来修改却没有反应,是怎么回事呢?
" c7 P, g+ W2 p" T! f" `7 x6 ^8 E1 u% @9 V9 `6 Y" k8 m; V
下面是点击对话框 “应用”按钮的代码,正常的。. K# f! c; e) {, k

9 A0 e. U: Q1 f" E9 s: Kwint gaimianyanshe::apply_cb()2 k1 e4 `! i% ~, B' F
{
3 Z/ H# w5 N6 g+ k) lint errorCode = 0;5 R3 H" R  b4 K/ Y- G# u& Q
try8 }$ l; N& K- c- \/ ?: q
{
) y* U% Z) M# s5 a  F4 l" r+ Z: M* S. J* |# x7 V+ i
DisplayModification *displayModification1;
- i% y5 r* Q1 U( ^7 p* u" n5 adisplayModification1 = theSession->DisplayManager()->NewDisplayModification();
; J9 u$ M$ \% ?1 _7 d' B+ x9 K, ndisplayModification1->SetApplyToAllFaces(false);
2 ?; c4 s7 k# K- ydisplayModification1->SetApplyToOwningParts(false);
" r) f6 _* |- l: i  W2 idisplayModification1->SetNewColor(28);5 G% h. G( n2 J. O3 Z$ O7 G

  N2 _  K( ~3 y' r& B

0 \5 N% [; u, b' tvector<TaggedObject *> faceobjtss=face_select0->GetSelectedObjects() ;
) w: f9 r+ b# E  K& s# W+ evector<DisplayableObject *> objects1;
1 @8 }/ Q* `; S. V/ v  {
2 N9 V( o' ?, T6 ?- D% s

: \7 ?$ _5 N8 e  h0 s* V- Y  Ofor(int i=0;i<faceobjtss.size();i++)$ ^. S" \, u; `: c  l
{
8 R; S9 P: ]* dobjects1.push_back(dynamic_cast<Face *>(faceobjtss));: N6 C: I8 ~" d
};3 J3 N7 i& S5 m& {) w4 a
displayModification1->Apply(objects1);; V# o! M/ R9 e
objects1.clear();
# f. v& r! a5 a$ qdelete displayModification1;
* o8 F; q6 H" U" g/ udisplayModification1 = NULL;
( [  c5 b+ u# {
% K3 h( Q7 E4 H/ \; w}: y& }: e4 h  x" v( @' m% H3 f$ r
caTCh(exception& ex)3 F' x! O$ v5 [) Z
{6 Q$ T$ y0 h& C
//---- Enter your exception handling code here ------ E/ F4 w+ x) M$ G( e8 Q% ^
errorCode = 1;4 I/ |" V/ O: {# b( ^: w
gaimianyanshe::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox:ialogTypeError, ex.what());7 l% M6 h1 r+ `# c( K  ]) j* ^
}
1 }' ^3 q5 T! x5 Ureturn errorCode;2 k/ J: s7 ?' Y3 @
}
! y% P! V; f- b7 U
9 i( i' J  j% w% g' Y' N, b" {8 V8 c, \  q' H+ }
. e" V& r! b4 g- T7 z
下面是  button 下面的代码,点击却没有用,为什么呢?
% _1 g* ?. E9 Y# k+ a0 c% t6 Lint gaimianyanshe::update_cb(NXOpen::BlockStyler::UIBlock* block)' ]6 J' h4 K' P1 B* ?# y
{* c% \+ Q' N, ~0 q" ]) D, j0 Z! @
    try8 ^( R- V& n/ f; ~  R8 j9 L# o
    {  b: L2 b# S0 T( w
        if(block == face_select0)
5 @: t. `/ k$ b' e8 @# A        {3 t+ R2 c6 X8 v) S, A( k

# Y/ C/ i- ~+ h# S. m2 Y1 y        }
5 G3 |. X: A5 g! d0 I        else if(block == button01)" `6 B9 ]/ j+ s+ f5 o  x
        {
% c- m/ _; n  u       9 n# L# F: z) J& ^  [$ K- d5 o
                DisplayModification *displayModification1;
9 n6 e8 Z1 l' z2 w! q                displayModification1 = theSession->DisplayManager()->NewDisplayModification();$ n: \: g# C/ j  G: }: l3 R( L
                displayModification1->SetApplyToAllFaces(false);
/ E- U6 T$ M7 ]                displayModification1->SetApplyToOwningParts(false);) m" r3 p+ [* t1 {7 y! V+ u
                displayModification1->SetNewColor(28);
6 k: ]+ x. c+ C) u$ ^  e6 o+ p. C, y% ~( {/ U, e

! T! h2 A. k4 A                vector<TaggedObject *> faceobjtss=face_select0->GetSelectedObjects() ;
; v+ S5 p4 l6 y  Q) |; p1 g& M+ {                vector<DisplayableObject *> objects1;9 G6 i* [/ V- T2 ^% L
" p5 O) c# Q, ]1 S+ p- b% |) N

% m( h* A; K" m: }: `% s- x                for(int i=0;i<faceobjtss.size();i++)
& S5 p, W( Y( G                {
0 ]% O0 R: v4 O  I1 _, m( {                objects1.push_back(dynamic_cast<Face *>(faceobjtss));
( q. \# O, K1 R. D  k1 K                };
3 H4 x  u/ U4 u% W1 N& |; ^- R  X                displayModification1->Apply(objects1);
* i; B2 I. o9 v                objects1.clear();3 U* _& Y4 `% l8 w8 B! a. g
                delete displayModification1;7 v7 Q/ B- U3 L. i# E1 o0 Y
                displayModification1 = NULL;
/ r& B! M+ J- ^
( x% X6 e% l( V; U+ b3 B! q

8 p' L3 L9 _  d% e4 l        }
! {- V* P7 Y1 T9 }6 `: U/ a
* N; D* I" g4 a# s' ?- T    }
: d( e6 g* ^7 X  F    catch(exception& ex)2 Y7 ?: K# T1 W
    {
1 G* n5 h3 f: O5 x        //---- Enter your exception handling code here -----
, V+ [; r4 Q, K0 z$ d# Q3 I" J  w        gaimianyanshe::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox:ialogTypeError, ex.what());5 d5 p6 H% K: \, z
    }( c/ ]5 l5 w- m0 J
    return 0;
+ o  K/ S* L5 N9 ?# k3 a/ R5 }4 e}( H" q8 e/ J) Z8 i; b# c# `- ^, |

' k2 ?0 T. a; n  d1 ?
7 z* `0 c2 q9 h( K$ P/ l% N, `
9 F+ b8 k/ q" J  Q: p# A+ s
上海点团信息科技有限公司,承接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

楼主这个问题解决了吗?
5 r% C. n8 Q& j1 d& Q. X* D! e
. ?9 f9 S7 I( x! T% j4 [解决了话,分享一下是怎么弄的,也遇到这个问题......
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了