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

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

cosn 楼主

2015-12-18 12:38:28

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

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

x
本帖最后由 cosn 于 2015-12-18 12:49 编辑
! y' w8 B+ P, C" I# E' x  J  t& o8 w" k
我做了个对话框,用面收集器选择面,然后修改颜色,下面的代码是在选择后,我点击应用之后,面的颜色会修改成功,是正常的。但是我在对话框上面加了一个 button 按钮,想通过我点击这个按钮来修改选择的面的颜色,而不是点击应用修改,我直接把 apply_cb() 下面的代码复制到 button 下面,点击这个 button 按钮来修改却没有反应,是怎么回事呢?/ C" w4 [2 U7 Q
/ h  J' v% T; p! t3 d: w
下面是点击对话框 “应用”按钮的代码,正常的。' x0 J  }) m# v+ a7 ^# T/ `
  {( P9 ?0 d% i& M' Y
wint gaimianyanshe::apply_cb(). X) R  v/ t+ D* q
{! o8 A& g( a& r/ K3 {
int errorCode = 0;
+ v1 ~7 T  D) L. {0 e; gtry: ]" B( H8 y% e4 p8 r
{8 {4 i0 d# `* N; a4 v

% `. c8 p/ }4 r. t7 X: ?0 IDisplayModification *displayModification1;4 X' ~6 M9 `$ a: F
displayModification1 = theSession->DisplayManager()->NewDisplayModification();
7 |& n( y. B2 a) UdisplayModification1->SetApplyToAllFaces(false);
+ ^5 }+ [( }" F2 i$ D( YdisplayModification1->SetApplyToOwningParts(false);
. A! c, q& q2 YdisplayModification1->SetNewColor(28);
' L2 c- ?4 W+ G& S! B7 d* Y3 b
: }( |/ D9 Y$ V5 `  ?
% C6 j% s5 o$ V" `- l- I
vector<TaggedObject *> faceobjtss=face_select0->GetSelectedObjects() ;
; O! ?) c; Z: N4 s0 ^vector<DisplayableObject *> objects1;
$ F; [& `8 {; E8 W& q1 g$ w  d# m4 t; A: n
9 T' x* J# b5 A. j; ^* N
for(int i=0;i<faceobjtss.size();i++)
+ x& f, y* b7 g+ E- @- Z: ~7 B+ n{
6 X3 g( N; G* U, lobjects1.push_back(dynamic_cast<Face *>(faceobjtss));
  O: [# t! m% a- B% B};
* R7 h7 M! x7 d: |8 M9 W8 G. O! [- u- LdisplayModification1->Apply(objects1);! ]* x: w; _- I. j( s" }
objects1.clear();1 P# X( h7 G. `4 p% Z$ X
delete displayModification1;
* H' S% ]. R8 H% Y* F$ s5 rdisplayModification1 = NULL;
( F; T5 l+ h, e6 B
7 q  @1 ^: L& k" K/ T' E: I  x}
/ G) s$ ?- B, W0 g- ScaTCh(exception& ex)
2 v5 @3 J4 L5 v2 H% i{$ E! b0 _$ z: s& Q2 p& h) a5 u5 Y
//---- Enter your exception handling code here -----9 v8 R; K! \0 t& G, y2 b# @6 {
errorCode = 1;
9 a% Z: {. ?5 a  c/ W" N4 jgaimianyanshe::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox:ialogTypeError, ex.what());0 b9 t- ]) |' f; E/ E0 k+ @* S
}  Q6 g, \, [  G
return errorCode;
. D7 h, ^2 U( W: j# T}
1 D# g- T$ U& @+ u7 w% Y" c3 {. Z" p' z1 p, n/ B# R+ ?- V, G
9 L5 t/ T3 ]7 z0 X) L4 B

7 l+ g. s) f1 u5 X- _8 f下面是  button 下面的代码,点击却没有用,为什么呢?
- t* F; v$ ~6 [1 j, Mint gaimianyanshe::update_cb(NXOpen::BlockStyler::UIBlock* block)+ m, S8 p$ f6 W( x$ Z' Z# y0 _9 f' [- D
{. H$ F! X1 n& i/ Z
    try0 H& r$ l+ x1 W" F$ e: E. i
    {* W. B' C5 R  ~! W, I. O9 ~
        if(block == face_select0)* d* G  B7 e% x3 N! `( t" @$ {
        {( o9 Y- d7 s8 z2 e/ v
9 M6 H8 _1 C: H  ]- Z
        }/ S. u. M9 i  m; b
        else if(block == button01)* h3 t) S& f# [& b" W; g1 l% N
        {
. k" Q7 o# E, s) H, f  q5 b. d       : A" D. e2 \1 X
                DisplayModification *displayModification1;
) q/ k8 q  i+ _; Y- J& P( p7 O- S7 R                displayModification1 = theSession->DisplayManager()->NewDisplayModification();
, E1 w4 L1 ]3 T3 x% K, u1 U                displayModification1->SetApplyToAllFaces(false);
1 m/ b: X+ [. S/ n( `                displayModification1->SetApplyToOwningParts(false);- x4 m% n0 p' q. l( Z" j
                displayModification1->SetNewColor(28);& I5 E  Y5 {* [: A3 i; }  c; p

9 a8 x$ u) W% K$ a7 \0 j# I9 D: o& @* X
1 y# m& i9 s! U) Q
                vector<TaggedObject *> faceobjtss=face_select0->GetSelectedObjects() ;2 e& J' |( ]4 m9 p7 L7 f% o! f
                vector<DisplayableObject *> objects1;; d2 Y; d9 J! ]2 b! ^

1 I( l4 ~6 c4 I* q+ D; U8 B# V

8 Z9 M3 x1 A: u8 |, r5 g                for(int i=0;i<faceobjtss.size();i++)$ m# q7 K8 m% l: s
                {$ x1 \0 y3 K- _. Q+ ~9 d  v
                objects1.push_back(dynamic_cast<Face *>(faceobjtss));) f8 e# ?9 C9 a5 l6 U
                };) K6 W) w! c- Y8 h! Y
                displayModification1->Apply(objects1);$ P9 {' K6 O6 k) U9 U6 a" z
                objects1.clear();
, q* N) k% ~& h, Z* j4 Y, s( m2 a                delete displayModification1;
7 ^4 k- I2 r- \( G8 j' V                displayModification1 = NULL;
+ h. X% X7 t- A' }
! ^7 ]( |: U; Z4 G8 s% q% L
0 a8 B9 @! |( m. H
        }( |. N) O0 J6 K& K

8 Z( {/ L+ ?. e! W; ?& c& y' ?    }
4 X- h, x  P2 t  T) F" M    catch(exception& ex)
- R# D! N$ ^. Y/ x0 \4 C    {* \6 C- q9 y( k) x
        //---- Enter your exception handling code here -----
8 U) i* I9 [: s. E+ }        gaimianyanshe::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox:ialogTypeError, ex.what());$ K6 |9 Z, W: h9 q! }: l& y
    }* d" h+ d. `+ c' |; e% Q
    return 0;
2 R! s) ^7 Y/ F' I" p: I}7 Q1 B. }+ Y& g9 q2 h

' V+ Z6 u- b# n4 O
1 ~3 |+ P+ n: E5 \1 U& R' \* _- k. ^- O: B3 A1 K
上海点团信息科技有限公司,承接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 j" s6 O3 C" B$ s* Y
2 ~& \3 o2 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二次开发专题模块培训报名开始啦

    我知道了