PLM之家PLMHome-工业软件践行者

[资料分享] 一种自定义颜色条的方法,直接可以用,可以作为CAE后处理

[复制链接]

2023-3-6 11:55:57 1068 0

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

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

x
8 Z8 s' T/ s7 Z+ |9 ]: R' R

! y% _7 X. S- X3 R
, U4 w# ~, Z, s( g) P一种自定义颜色条的方法,直接可以用,可以作为CAE后处理
. S  l7 w8 V$ E, z
/ M/ r  B9 d' g* F QQ截图20230306115545.png
" J9 c+ x4 q: C- p" ~( ]. P( C# w8 X7 L8 D* b

  1. ) g' J9 u7 \4 a1 V% `9 X1 V9 z% j
  2. / g0 I8 o% @' V- |% |' ?
  3. ' V0 O: W" }8 P9 J1 P% f0 W+ j" u; i5 E

  4. ' R! U- M: [$ g% p. v# x% `
  5. void UI_ColorRangeUDB::UI_ShowColorMapBlocks()( k3 ]0 _  S7 N- u
  6. {2 x$ s7 a& n! y9 [1 M
  7.         int colorNum = integerColorNum->Value();
    ! A/ c. c- e: B7 J  @
  8.         vector<BlockStyler::UIBlock*> hiddenGroup;5 \  e/ `  l6 {) }9 K2 x; \; \
  9.         hiddenGroup.clear();
    ' ]1 s, A1 L8 x+ |- b
  10.         vector<BlockStyler::UIBlock*> shownGroup;, a9 m+ A6 q3 h0 G
  11.         shownGroup.clear();
    # K* f9 X; ~" o0 o( Q7 X
  12.         string groupPreStr = "groupColorRange";0 K% m- A5 @0 E3 D7 W4 F
  13.         string doubleUPreStr = "doubleU";
    % \: d( s2 K% N* X. {$ v
  14.         string doubleLPreStr = "doubleL";9 Q. m- C7 t6 W3 r$ t' P
  15.         //get all the groups with the name str //groupColorRange6' R" h; h. o" F3 x
  16.         vector<BlockStyler::UIBlock*> allBlocks = theUserDefinedUIBlock->TopBlock()->GetBlocks();8 k: ~2 w) C- L. L8 i
  17.         //type: Group          name : groupColorRange7 |$ Q  F3 |; M9 f# f1 @" l
  18.         //type : Group          name : groupColorRange1
    ' }  o( B1 ]* d( j
  19.         //type : Group          name : groupColorRange10
    ( i( q3 h4 m; m: O
  20.         //type : Group          name : groupColorRange11! B2 o3 h' K; N# F  ]
  21.         //type : Group          name : groupColorRange125 x. U6 e" ]6 {3 {" A$ y
  22.         //type : Group          name : groupColorRange2
    - @; ^" H  E6 V" U3 g
  23.         //type : Group          name : groupColorRange3
    * V1 |1 m# a$ v1 {4 G
  24.         //type : Group          name : groupColorRange4+ b$ `. r9 Z; M1 L
  25.         //type : Group          name : groupColorRange5
    % ?% w) M5 _7 R, z3 @
  26.         //type : Group          name : groupColorRange6
    ' Z: E! Y$ |) J5 m  ]3 s
  27.         //type : Group          name : groupColorRange7& F! B0 n4 N+ a# v0 T
  28.         //type : Group          name : groupColorRange8/ r9 V2 w4 T9 ~+ }# C( t
  29.         //type : Group          name : groupColorRange92 P  k3 u& T4 ]( ~! ^( v3 B

  30. ) \$ [' |5 W$ K$ i
  31.         for (int i = 0; i < allBlocks.size(); i++)# j  A3 _; P3 f+ b6 X. y* o0 x, N. R
  32.         {
    " P: B) D4 G% S; {4 p4 g* S6 @8 D
  33.                 BlockStyler::UIBlock* tempBlock = allBlocks[i];% ?* U$ Y* T+ b. W5 Q
  34.                 if (isSameNXString("Group", tempBlock->Type().GetText()))
    0 \: |6 U/ e5 C
  35.                 {
    % U3 V6 Z3 h; x
  36.                         string blockNameStr = tempBlock->Name().GetLocaleText();
    $ a* v0 l- V# i: ~5 D
  37.                         size_t findIndex = blockNameStr.find("groupColorRange");. g0 s/ @1 e, J6 ?& b
  38.                         if (findIndex != string::npos)
    9 E$ h7 c  w5 A
  39.                         {$ ?8 J- c7 u% ^, s" r# h
  40.                                 string subStr = blockNameStr.substr(groupPreStr.length());
    ! F5 U" k* q5 q, w) p, d% P" q
  41.                                 // Echo("%s", subStr.c_str());
    / V) f+ R& D" k8 Z! B
  42.          //Echo("%d -- %d", atoi(subStr.c_str()), colorNum);
    $ j1 _! ^3 y( w# g( [7 F
  43.                                 if (colorNum >= atoi(subStr.c_str()))  c1 D& ]# ?6 U; z7 @( }& `) T  H
  44.                                 {! i  j4 X$ o# c$ X9 I6 w- }
  45.                                         shownGroup.push_back(tempBlock);
    ) U7 m' b& x! s; U
  46.                                 }, {& g1 ^% @6 H7 G2 b1 S4 i: ?
  47.                                 else
    ) s$ _5 {; `9 r
  48.                                 {
    , u. I* W" O7 S& G( L4 k
  49.                                         hiddenGroup.push_back(tempBlock);
    ; k7 y" N7 [$ _4 \% |" w' d
  50.                                 }
    % r' O* C+ w6 F, d3 |( c
  51.                         }
    ; _0 ~+ t. v* \, t4 Z
  52.                 }
    , Z5 f3 E' p$ F8 E8 I3 }
  53.         }. m$ q2 C' l" ]" P# p9 ^$ v
  54.         if (!shownGroup.empty())
      H$ n: V8 y; `) Z" u
  55.         {- I& v. e) W+ y2 R; ^
  56.                 for (auto a : shownGroup)
      g. v: v8 z7 m
  57.                 {6 V/ X) z) @4 m) E
  58.                         a->SetShow(true);, G. k& K) L* B7 c- S3 p1 T2 G- F
  59. 9 h- O3 y1 X0 d7 e
  60.                 }! i" v( J- t& N; g3 e& S
  61.         }7 Y6 B$ {* G9 `$ M+ ~3 `
  62.         if (!hiddenGroup.empty())% V1 n- I: J+ F1 v" j- W2 M4 [
  63.         {
    0 @) L% r+ W  h$ ^8 W
  64.                 for (auto a : hiddenGroup)9 H+ U5 J: [! u
  65.                 {. x& w# J" B% @( a
  66.                         a->SetShow(false);' a1 P% R3 d3 b) L% ^6 A
  67.                 }# K' e  R1 @* U
  68.         }
    9 m* E! @! Z9 X  T8 B- v" \
  69. + M2 g, {9 B& j6 X& I
  70.     //实时更新显示
    1 N, K+ J& [. Z, k& z+ d/ h6 l! F
  71. 0 u% Q# G+ F/ Z3 N( D4 E
  72.     UI_UpdateDoubleRangeValue();
    # T/ A4 R! g+ t
  73. }
复制代码

, @- A- |0 v9 W3 G3 a( R% }* R
2 b1 A" |5 e6 v- a5 n0 W9 J: x4 X$ c0 @( M, v: P
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了