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

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

cosn 楼主

2015-12-18 12:38:28

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

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

x
本帖最后由 cosn 于 2015-12-18 12:49 编辑 " G0 \8 Z* n' J, q9 E* X' \

! R1 g$ d0 E' ^我做了个对话框,用面收集器选择面,然后修改颜色,下面的代码是在选择后,我点击应用之后,面的颜色会修改成功,是正常的。但是我在对话框上面加了一个 button 按钮,想通过我点击这个按钮来修改选择的面的颜色,而不是点击应用修改,我直接把 apply_cb() 下面的代码复制到 button 下面,点击这个 button 按钮来修改却没有反应,是怎么回事呢?
* F/ I6 M3 @# n* {! n
) U4 _9 c) Z4 m* ]% c- p3 ]下面是点击对话框 “应用”按钮的代码,正常的。
8 |9 P& b% A5 p5 Q9 r4 Z/ _  @  c8 D/ f: L; T; G# T4 J
wint gaimianyanshe::apply_cb()
. Z' ~  ?( i$ j{5 |) w& r; k# d2 C& _- J
int errorCode = 0;' S: T1 I: s0 t  M& C1 o5 ]
try+ I: K' o$ s$ ~) |
{
" d+ W7 @0 U+ a  L9 H3 s. i4 K9 \8 n$ I
DisplayModification *displayModification1;
( T  B; E/ G; v8 bdisplayModification1 = theSession->DisplayManager()->NewDisplayModification();
# T# [5 M& I- B  l% Q+ YdisplayModification1->SetApplyToAllFaces(false);+ t! S  i; p9 U0 G
displayModification1->SetApplyToOwningParts(false);7 B! S9 @' N+ `. y
displayModification1->SetNewColor(28);
8 G8 U$ y  k+ h# N% x& W: x1 h; x, ]' P  X, n
, g# z) d9 u+ D- @0 b+ \" Z
vector<TaggedObject *> faceobjtss=face_select0->GetSelectedObjects() ;
' X  @( S; j- G2 [, ?vector<DisplayableObject *> objects1;# X% x: S. y6 R# @3 d) Q

1 ?; d/ F7 e* E5 y+ z
" V. Q+ c0 f; ~3 n- ^$ P
for(int i=0;i<faceobjtss.size();i++)- W. O' V, S  p/ J! a( [7 @
{
- c& m3 _! G4 E' ?! B& Y5 \+ kobjects1.push_back(dynamic_cast<Face *>(faceobjtss));! T5 J1 X4 b/ |/ ~6 H7 j& F
};  Z( B0 D0 M4 [$ c, D/ o
displayModification1->Apply(objects1);
4 f  [7 n- C1 s; s: M4 Qobjects1.clear();
/ d" j$ H; ?; L7 Xdelete displayModification1;
! T; [" v" N8 X2 gdisplayModification1 = NULL;5 @5 L) H- U$ Y5 [% y6 y9 k
/ ]: {8 t6 @6 e9 d& }
}
  j3 B) V, [/ i% o; W+ p* ncaTCh(exception& ex)  e  x$ z2 O$ l1 Y
{
8 {5 o/ ?  z& w- T//---- Enter your exception handling code here -----
& d& B  b* ]3 eerrorCode = 1;7 t' P; B* h8 ]) p8 u# j: m6 y5 |$ g
gaimianyanshe::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox:ialogTypeError, ex.what());
- q# Y$ t( I, ]: c# }}* L$ G( n: u' a4 C
return errorCode;
# i4 |, G4 F- s( P  ?6 g: X5 r( a}9 F; [" d% {+ x# @6 o" d3 W
2 M9 E& D& z, ^- `# d
. S4 i2 P( K5 s
; q! p" @- a- K2 H% Q2 `
下面是  button 下面的代码,点击却没有用,为什么呢?' p4 z- K$ P' Y( I8 J  _: N
int gaimianyanshe::update_cb(NXOpen::BlockStyler::UIBlock* block)7 V% h9 M  E4 C7 ?: u  X
{
" p* I6 }  E# z! c) c6 s    try
% \3 r, B* i5 X( B8 j: i    {" i% d! y! Y0 ~# F
        if(block == face_select0)9 {( V4 X# D/ L
        {' e0 m) M7 ]- u* ?7 y* q! e; i
. J/ b: l  ~, @1 u0 c! r; K- {0 Z
        }4 r. C# ]3 ~. U3 C
        else if(block == button01)
3 j- t$ r1 F& ^! a. w1 ?. c; ^        {4 k3 i1 X# C/ {/ A& ]
       " E1 V+ ]" \" u" _5 ~( c
                DisplayModification *displayModification1;
6 \5 F; h% @  Y2 e- M                displayModification1 = theSession->DisplayManager()->NewDisplayModification();
5 @8 a3 f, E8 {1 y% b4 u                displayModification1->SetApplyToAllFaces(false);8 x, m9 k! s' u8 O1 \8 V
                displayModification1->SetApplyToOwningParts(false);  d; O6 r' t& f* O. U7 \) z
                displayModification1->SetNewColor(28);( F& d7 X. l8 S: Q$ @: _. b1 {
3 M+ s; |& D  g4 s2 [8 A4 h
% {3 Q) l1 m7 _; D2 N4 e* U6 Z# l
                vector<TaggedObject *> faceobjtss=face_select0->GetSelectedObjects() ;2 K( Z! a- Z) u7 w6 u3 f
                vector<DisplayableObject *> objects1;
- j; n* `( E4 B8 Q7 ]3 t
; L2 _" }, g3 _7 D
+ d- k3 m% G4 P; W, G) W1 @$ E8 L- x, R
                for(int i=0;i<faceobjtss.size();i++)" ]+ w# j) F* f3 P% }
                {  s8 `1 x, W* e+ _+ A
                objects1.push_back(dynamic_cast<Face *>(faceobjtss));# `5 J; i3 N' N9 f5 v3 `
                };5 Z, a7 U# p+ R& B+ U9 u+ {9 `: V
                displayModification1->Apply(objects1);
* x5 C) ]4 K% g' l                objects1.clear();
6 ~8 a! _/ }" p7 \                delete displayModification1;
* v. m& C9 A7 f8 p4 x- n, j                displayModification1 = NULL;
  R5 j2 W/ v- d2 J7 O3 s# U! H+ V) f% n+ Q6 P( q& L
; v4 O+ Y  f3 s1 v
        }
( k9 k0 ]- `! D7 b; \9 |
" R6 _: _9 T- R1 p# e- k+ V  ^    }
& S3 q/ o. ~( j    catch(exception& ex)- _6 a* m1 \% q0 o" m0 o
    {
' E  V& ~8 s" T& f" o$ g  G. S        //---- Enter your exception handling code here -----
. g% u' x7 K# V        gaimianyanshe::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox:ialogTypeError, ex.what());+ ]$ |7 W5 v4 C! D0 K
    }; a- d# `7 B  i5 N9 z0 d% ?) I2 p
    return 0;3 Z- b" {/ ?( q) z
}5 l3 A8 s9 l" i/ p- O0 U& a/ w
: `+ C- ~! s( _
) r# L4 u$ m1 ^5 u& Y! g+ U7 t& a) I

4 i3 m; F" _4 W( R2 G4 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

楼主这个问题解决了吗?# O# y: R, B8 ?+ j! w! ~0 }7 f

$ V0 z! |; o, f3 }/ J" C: A: {解决了话,分享一下是怎么弄的,也遇到这个问题......
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了