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

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

cosn 楼主

2015-12-18 12:38:28

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

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

x
本帖最后由 cosn 于 2015-12-18 12:49 编辑
" _, R( x3 I: @3 `( _
4 g; a8 I* b  A我做了个对话框,用面收集器选择面,然后修改颜色,下面的代码是在选择后,我点击应用之后,面的颜色会修改成功,是正常的。但是我在对话框上面加了一个 button 按钮,想通过我点击这个按钮来修改选择的面的颜色,而不是点击应用修改,我直接把 apply_cb() 下面的代码复制到 button 下面,点击这个 button 按钮来修改却没有反应,是怎么回事呢?
7 F& J" ]$ y7 d! S8 |5 z8 W) I: @
# ?' y( w! L5 q4 X下面是点击对话框 “应用”按钮的代码,正常的。
* r7 r- I0 J- g* ^- ?. _& R' j- ?$ K$ y3 s+ Z- R
wint gaimianyanshe::apply_cb()" a# ~2 M- p! d- u4 F* v4 |
{% I: x( l/ k! D# M
int errorCode = 0;% W! U1 M4 z. i+ u: o: ^$ [9 X! `
try
8 l$ `9 W% ~* x4 J" p) i{1 B; i/ D9 ]5 a+ ~7 u

( K- f3 u3 J, R  ]DisplayModification *displayModification1;
( j. \4 a( f+ D0 h% L8 AdisplayModification1 = theSession->DisplayManager()->NewDisplayModification();& p) G7 S0 B- `+ g" H
displayModification1->SetApplyToAllFaces(false);
7 z5 q; k0 U% A& D/ Y9 {! V: rdisplayModification1->SetApplyToOwningParts(false);
9 e0 r5 r! m5 C0 bdisplayModification1->SetNewColor(28);
. E) N2 n/ Q( S+ H$ E. ]
: x  E0 z6 `1 e; N  ^( g8 e
3 D2 ^# M4 x1 W
vector<TaggedObject *> faceobjtss=face_select0->GetSelectedObjects() ;
+ @. L! k% x: k" v/ Z+ ^vector<DisplayableObject *> objects1;
  C% z( u: X8 z* C$ H' T! |) J9 b3 y" b4 X) B! B* l* Q

$ U* U% N# p4 |1 Afor(int i=0;i<faceobjtss.size();i++)
. U( N, y; [3 ^" W{' k" Q$ s4 n3 s6 K1 W5 Q1 s
objects1.push_back(dynamic_cast<Face *>(faceobjtss));4 q) Z: R6 O3 Z& l" a( Q3 H
};) U- R/ j* F- S( j$ U3 u  [8 j
displayModification1->Apply(objects1);
1 A7 J- s0 N& j9 z+ `objects1.clear();8 {: _/ D' j+ e: o
delete displayModification1;! z' ^. S' Q3 M! `! J
displayModification1 = NULL;
9 u2 [1 U6 \/ Z+ E7 q1 L0 M# Q+ f2 E7 o
}
. c% p7 [6 |9 g6 N% X6 rcaTCh(exception& ex)" |# f7 C& @9 i9 W1 Q1 k% a
{$ A# e/ Q( Y4 f  Y% }1 Q
//---- Enter your exception handling code here -----
' V' f6 b$ q9 D% SerrorCode = 1;. n+ K/ n9 R- }7 k5 w
gaimianyanshe::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox:ialogTypeError, ex.what());
7 {) q% y9 B/ ?1 B+ X5 a" K/ q- q9 m}  ]! W' S6 G# `% \
return errorCode;$ s! e0 K; c: }2 ?
}
& S8 l* B9 w" c' n* s# k' j+ X
3 b8 `7 W0 A  }: o
4 n" C* k$ z2 e( Z" h$ ?6 b  O. h- |8 b3 \
下面是  button 下面的代码,点击却没有用,为什么呢?
1 C7 Z0 }. n! @! k5 k$ M7 vint gaimianyanshe::update_cb(NXOpen::BlockStyler::UIBlock* block)
# e$ Y2 S4 `( e- h' b5 u6 W{
& ^8 d( i6 z: b6 c    try* y8 ?+ `. T* F9 o
    {3 f5 x0 G$ U8 N7 P0 t0 m5 S
        if(block == face_select0)
2 R  r: q0 ^* R, Z' j' C$ M# g  M        {
& Z' u5 ^* u. ]" ]# ], V
) s' o8 n  ?, _        }) {3 {2 C% u( V
        else if(block == button01)
- ^( f' L7 C, H& I) d  @/ g* _        {2 a1 k' j+ K" k6 G9 j/ q+ v
      
) }# u- C: g( w8 I! }                DisplayModification *displayModification1;8 Q( z5 r# }5 a) l; e
                displayModification1 = theSession->DisplayManager()->NewDisplayModification();
; g  l; s) I0 n1 l" \# t                displayModification1->SetApplyToAllFaces(false);  R" t$ u3 l! p0 Q
                displayModification1->SetApplyToOwningParts(false);
+ I1 K+ t0 }' ^, m. V                displayModification1->SetNewColor(28);
9 I! S& X/ M! k- i/ P  w, U: e& G  }7 u
& J, U1 }: w/ m3 G7 B3 s
" p1 |3 v0 H0 w
                vector<TaggedObject *> faceobjtss=face_select0->GetSelectedObjects() ;
$ P* f! f( B0 L7 x+ ?7 t$ I                vector<DisplayableObject *> objects1;$ o. B; ^3 l1 T+ Y/ h! T
% T6 s8 p8 x% L3 O& c3 h
- l- T. ~: Z; O2 c
                for(int i=0;i<faceobjtss.size();i++)
* {6 _" P, @; z2 X                {
* d$ F  v6 S5 z/ b; ^% I                objects1.push_back(dynamic_cast<Face *>(faceobjtss));9 Z: h7 D9 Y, ^6 \3 b8 r
                };( Z9 d# B/ q( b; }( \
                displayModification1->Apply(objects1);
' |1 E. U; H2 C9 ~, T                objects1.clear();
$ K# J  w. W  R4 {3 `/ y  V                delete displayModification1;
3 V9 X! k. r+ M$ e, ~                displayModification1 = NULL;) L8 ~, _' q% E* ?  B. S7 N

1 }' E9 D7 q9 c9 L5 f+ G3 \0 R

" p2 i! t5 r$ f        }
# ?" {3 V; W" q# O1 @( d( S) _) L9 a$ p
    }$ R0 G0 g% I9 M8 C/ q# x
    catch(exception& ex)0 B0 R" A" U; w1 v1 D
    {( Z$ O, K  B3 \% J& B# q
        //---- Enter your exception handling code here -----
) s6 n8 l( J4 D: Z8 U        gaimianyanshe::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox:ialogTypeError, ex.what());
! p: l( d4 d, ~0 T+ g    }
" ^( ~! h  w4 V% K/ g7 l- i7 s    return 0;
7 S1 P; u- h0 `4 [* B2 i, @}- ~/ s2 o6 a  Y( P5 T

! ]5 f1 A/ W' ?% A0 k7 Q- |) T8 y3 r8 K9 C" [

( p8 F  x3 H1 P6 _* i
上海点团信息科技有限公司,承接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 ]2 r. s/ E7 s6 ]* t$ t1 H* ]* T5 ]
解决了话,分享一下是怎么弄的,也遇到这个问题......
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了