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

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

cosn 楼主

2015-12-18 12:38:28

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

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

x
本帖最后由 cosn 于 2015-12-18 12:49 编辑 % e- @' k" T+ X8 T

. E4 k/ c; {$ k我做了个对话框,用面收集器选择面,然后修改颜色,下面的代码是在选择后,我点击应用之后,面的颜色会修改成功,是正常的。但是我在对话框上面加了一个 button 按钮,想通过我点击这个按钮来修改选择的面的颜色,而不是点击应用修改,我直接把 apply_cb() 下面的代码复制到 button 下面,点击这个 button 按钮来修改却没有反应,是怎么回事呢?9 o% `1 ]. `3 R8 W

+ {0 L7 G1 M8 U! o/ S, k下面是点击对话框 “应用”按钮的代码,正常的。
, m, Y" t" D- e; G* }- N- u) q+ }& p# T" f
wint gaimianyanshe::apply_cb()
/ k% C6 C3 ]  I{
1 f; d! W" r8 L$ _; |' Zint errorCode = 0;+ C" o$ G; G0 b- b1 ~6 D. n
try9 W7 ~* n" K5 w* U: Z( l
{
% n( [+ h" A. f
) t1 g- Y4 c- |DisplayModification *displayModification1;. P: F4 f7 ~: |% d% P
displayModification1 = theSession->DisplayManager()->NewDisplayModification();
& ~% [' e1 s8 ^; h( q  T" G' p+ |displayModification1->SetApplyToAllFaces(false);1 ^  Y4 e3 {  ^$ s: c" l5 B0 H
displayModification1->SetApplyToOwningParts(false);
* I  p! U/ @3 e( ^displayModification1->SetNewColor(28);
& t& g  k0 v4 o$ \* v* K+ [0 I7 O' b* X( v" x( P% V$ a

1 b- K* n7 \% ]vector<TaggedObject *> faceobjtss=face_select0->GetSelectedObjects() ;# O2 E3 `' k7 X' N4 @$ O& |
vector<DisplayableObject *> objects1;
* `* o2 s9 y2 e. r
2 y2 ]; o& K3 i# z: F3 z" X
' V- C' a( T/ r. ~
for(int i=0;i<faceobjtss.size();i++)
1 x7 ?4 G+ d. ]3 u) Z: k{& @; e# \# u& ?: m6 N
objects1.push_back(dynamic_cast<Face *>(faceobjtss));& |; p, A5 s, x4 C
};$ v4 t( D. t, ?; ^) n6 C" f7 L
displayModification1->Apply(objects1);: _  f& n0 l0 g0 y6 K* q% j
objects1.clear();  w8 ~& r' ?7 _+ r; H! Y- h
delete displayModification1;# }1 G& G* M& C/ K
displayModification1 = NULL;: N) w( A9 P1 U
7 c/ w  u: s$ x7 ~
}* l: P0 d" J1 C8 ?$ q
caTCh(exception& ex)' P6 y9 i- |# n1 w9 r
{
! A0 _- P/ P" h. L' D. H//---- Enter your exception handling code here -----
* U- `* ?' }5 {. nerrorCode = 1;* p" n* E6 `* D; \5 x4 Q. D& c
gaimianyanshe::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox:ialogTypeError, ex.what());
9 Z7 W& V* C: y% w1 N& [( F}
, U: j8 X3 F- Y& x/ Ireturn errorCode;+ i+ Y# s0 u8 J7 o. P* v
}6 ?  d3 K) |" B6 B& U
, }% S$ m# F$ Y# |
0 l7 P! W1 p3 k0 K* s4 _& _

( _$ n/ z! c; s5 P, c$ K下面是  button 下面的代码,点击却没有用,为什么呢?. l# @9 V  D9 _9 x5 s7 C
int gaimianyanshe::update_cb(NXOpen::BlockStyler::UIBlock* block)4 W' A, g7 i8 ?, r7 [
{
( }1 t3 j( D" x# G: G    try
) b  V- C) s( g7 l. q: T    {, y7 _; ?5 k+ u" n% [2 ]" s$ [
        if(block == face_select0)
$ G% G* c# _* I' b        {
' |, j/ A" j6 F5 }' M# q
+ o! F2 l6 s" g        }
" |/ `! Z* ?( Y' g" G& r; v        else if(block == button01)* p7 Z. c8 u. g
        {+ `0 W/ w5 Y. T8 s7 ], b: T
      
" }1 N0 }) D$ C& V  N" y5 ?                DisplayModification *displayModification1;
: H. G# b( g. e5 r+ w1 Q- d                displayModification1 = theSession->DisplayManager()->NewDisplayModification();
1 y* c" b" `7 L6 o; i( Q                displayModification1->SetApplyToAllFaces(false);
8 s' T7 E$ y6 x                displayModification1->SetApplyToOwningParts(false);9 L; G; A1 A$ @1 d6 S
                displayModification1->SetNewColor(28);
$ C# z% P! h) O) ~$ M3 f: O5 H
% V2 `0 n2 I8 \' X! L
                vector<TaggedObject *> faceobjtss=face_select0->GetSelectedObjects() ;
# A+ y0 n5 Q6 n& @) _+ W                vector<DisplayableObject *> objects1;# U8 }6 \% q+ x* f. n, [- V' w

2 i4 o9 n5 h7 I; @4 o

2 X) k% y$ `. }: _' ?                for(int i=0;i<faceobjtss.size();i++); l8 Y: Y4 ?( N' A
                {
- c4 D; q/ h# g3 _, Z                objects1.push_back(dynamic_cast<Face *>(faceobjtss));* q9 `; C. F2 T( N/ W9 h4 {
                };
* j2 V/ Z$ O9 T- b                displayModification1->Apply(objects1);, m3 E: e: h7 `! \) t
                objects1.clear();
5 x% y; P0 _2 j- f$ U                delete displayModification1;
- V, c; d1 b. \- `                displayModification1 = NULL;
, m3 ^' S' l) {4 T( d
- `: F  N# C5 p

- ]: P2 V0 j1 F        }- G  y; m  [, X0 U' F) q8 x
8 W6 Y% d  [3 U, s/ J3 k
    }
% m/ s" N& |! N# S' y    catch(exception& ex)
' ?( b4 L7 d0 t* h7 s3 K    {
+ g1 ]  N9 F% f        //---- Enter your exception handling code here -----
$ D& w3 @* K# [% i; W; {$ g        gaimianyanshe::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox:ialogTypeError, ex.what());
9 L$ c3 i# k9 i    }
9 _5 A. p& Y0 v3 W. F    return 0;
+ I! q- D: i- u1 R$ H6 }3 k! ~}
% |) R, O2 q+ |9 v. D' h- A6 ~
( w, z4 [' u, L, s* W; o, T( p6 R8 S: Y# c$ n  i& y, a

5 L% j) V, [" v2 r. G
上海点团信息科技有限公司,承接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

楼主这个问题解决了吗?; K: Q- ?' `0 x3 Y

) V- Z; `  O+ I9 Z2 O! T5 [9 W: Q* T3 V解决了话,分享一下是怎么弄的,也遇到这个问题......
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了