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

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

cosn 楼主

2015-12-18 12:38:28

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

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

x
本帖最后由 cosn 于 2015-12-18 12:49 编辑
: I& H9 b6 `, p3 z: i7 G
' D! @9 x) I( g2 K+ Q! S我做了个对话框,用面收集器选择面,然后修改颜色,下面的代码是在选择后,我点击应用之后,面的颜色会修改成功,是正常的。但是我在对话框上面加了一个 button 按钮,想通过我点击这个按钮来修改选择的面的颜色,而不是点击应用修改,我直接把 apply_cb() 下面的代码复制到 button 下面,点击这个 button 按钮来修改却没有反应,是怎么回事呢?; }; G) L+ E7 S( Q3 u

4 l; i( U) M9 |7 t: u' a6 r; q下面是点击对话框 “应用”按钮的代码,正常的。
- x: a) [5 \$ e3 Y; N8 B& ~
0 W! I# U( w8 K) r  g4 awint gaimianyanshe::apply_cb()
8 T+ \0 h5 m4 e{: d7 P0 U& ^: b% w- _
int errorCode = 0;7 l  ^/ s2 T& j
try6 D% L" k0 D1 s6 M
{
- ?2 P0 P2 m# L$ ^% @' e! @" A# }  V+ ]: X8 y+ F
DisplayModification *displayModification1;  x/ Z( m: M/ K& l" g+ |; Y) @* L
displayModification1 = theSession->DisplayManager()->NewDisplayModification();  C/ u' O! F* `' v0 B
displayModification1->SetApplyToAllFaces(false);
$ {8 l& P/ L$ h! A+ \$ CdisplayModification1->SetApplyToOwningParts(false);& j& \, Z/ v9 E# d$ T, ^
displayModification1->SetNewColor(28);
7 o: P' m& Y" p' P, j+ M8 F3 x
5 J% W* i" _$ M, y! U0 D

' {' |6 x! G  S! b. h  g7 svector<TaggedObject *> faceobjtss=face_select0->GetSelectedObjects() ;& K$ w; o$ n# [. h( C8 b) P
vector<DisplayableObject *> objects1;; K* D5 q+ f  f( w; Q% [; Z9 F$ j9 D
, A% T( [+ p/ i# z& M

6 r/ b7 K2 v' Pfor(int i=0;i<faceobjtss.size();i++)
' ~% ^/ B# H& A- {7 x{+ E7 [! r  y1 N
objects1.push_back(dynamic_cast<Face *>(faceobjtss));8 V4 q+ w7 u* L6 i; k
};
! p1 |5 W& M! \9 o5 mdisplayModification1->Apply(objects1);
8 V3 T7 ?2 Q- A" ~& `8 Nobjects1.clear();2 |7 Q& i) s# B8 ^; p
delete displayModification1;3 d, V* d9 |9 y) q/ \
displayModification1 = NULL;4 v  v! L5 J8 E- A9 @; k! g
6 B' J7 Z# o% W* |, C% o
}. I3 U4 R. r; p9 \& B
caTCh(exception& ex)
: _2 {1 J/ z9 i6 S, K  m0 ^7 m{
6 W: R2 m4 G6 v2 x- |7 t6 G//---- Enter your exception handling code here -----6 F/ c. i% c6 O; z7 Z
errorCode = 1;
" V8 H1 K# e" ]gaimianyanshe::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox:ialogTypeError, ex.what());
2 U9 O( q2 }6 F}
( |$ w. @( v0 b/ o7 ]return errorCode;
3 Q( d; ?* L9 S/ C}' D8 I0 v7 J3 i: |4 u
6 m3 l  G' n' @' k/ G! k: X

! H$ @* @' ?- ~  l5 n3 s; s  {# X" `7 ^8 {3 J
下面是  button 下面的代码,点击却没有用,为什么呢?
* n( s! Q* f% A' J* F( K% _5 e  m/ `int gaimianyanshe::update_cb(NXOpen::BlockStyler::UIBlock* block)
2 c: M6 w+ O$ x8 x! d3 R{
3 m- f8 J' \& o    try
& Y; j! a3 g! b6 i0 z6 m    {9 p9 R# h/ N3 F( }- b* ~
        if(block == face_select0)
0 l/ d6 X7 y' b2 E$ _; v( J& V        {' M2 p9 W, I" u- Y5 ]- d7 A. Q" R

  U4 k7 `4 ]1 U7 \        }
+ s5 {2 _7 b* o  `        else if(block == button01)6 `: X3 ~) R+ q( b7 @) B
        {
8 c& I  Q0 k7 X' F* r" \      
5 R# [* q" q( S- E% L& y8 C! H                DisplayModification *displayModification1;
) a* }6 D$ W, A                displayModification1 = theSession->DisplayManager()->NewDisplayModification();
$ M0 J% u! z" |! F# h                displayModification1->SetApplyToAllFaces(false);
$ o. a: r. h5 {+ e& V* N# O                displayModification1->SetApplyToOwningParts(false);
) Z; K  N, P9 K% w% `5 ~                displayModification1->SetNewColor(28);3 a% _' `6 O) t5 w8 \0 b1 }
2 P& C7 ~" n! Z0 X$ z

$ ]/ i) f) Q3 ]/ k9 r; |0 H                vector<TaggedObject *> faceobjtss=face_select0->GetSelectedObjects() ;
! J3 G9 U3 p! i4 P                vector<DisplayableObject *> objects1;
  y9 ]  S$ g4 `
% M8 H) @/ q' c' z1 @  \% f" [9 p

! f; S3 I' k$ R, u                for(int i=0;i<faceobjtss.size();i++)! ^# X* Y/ x% W5 f, i
                {. S: }1 Q9 n, S8 p) W2 `* \
                objects1.push_back(dynamic_cast<Face *>(faceobjtss));+ z9 ]: `4 P" M7 y( b1 E: A
                };
. K: C$ F$ _+ Y2 a2 _                displayModification1->Apply(objects1);6 j, x" S8 p& a- p- W8 M
                objects1.clear();
/ I( S3 I3 \; P* `* M1 }+ g                delete displayModification1;
0 w, P% T, b; q- O+ C* |                displayModification1 = NULL;
" T: X# ~: j  f2 s" O7 {
+ W  r% g5 _* H' G. Z

% C$ ~  A: k4 b+ [( X5 ~# A4 e8 z        }
( N: \. }: L7 s( O. b' N1 v3 q5 O6 Y2 f* Y) V
    }; l- z$ L) M7 X* [1 u
    catch(exception& ex)" \/ e+ \9 J) P, V' B8 v
    {
/ P+ o- C/ V& t        //---- Enter your exception handling code here -----
& m+ R+ z2 d6 Q# o6 Y2 Z: l) p        gaimianyanshe::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox:ialogTypeError, ex.what());
) j3 C8 t/ R0 m$ \' Y* [0 _; W. }    }
/ E- Q. w6 a" g    return 0;
- C# ?6 D5 q/ H9 V' ]}
6 r- j! ?  ?! m  m4 E( U6 ^6 ^& u3 \( ~. a2 s* m9 f
3 x9 I0 e9 r! P7 w& O

' h+ [0 a, E( l# Z
上海点团信息科技有限公司,承接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

楼主这个问题解决了吗?) N- L% v8 E* g0 l! V, a2 s' T
) e5 T7 L  t% }! b  p
解决了话,分享一下是怎么弄的,也遇到这个问题......
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了