PLM之家PLMHome-工业软件与AI结合践行者

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

[复制链接]

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

admin 发表于 2023-3-6 11:55:57 |阅读模式

admin 楼主

2023-3-6 11:55:57

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

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

x
) I7 K1 {0 @+ A$ b, D* {
7 A8 N+ @* w/ D
, N. N* b3 Q! e7 |
一种自定义颜色条的方法,直接可以用,可以作为CAE后处理9 {7 H( B$ Q; f
+ C: i& s8 W! x5 m
QQ截图20230306115545.png ! T; S% Q0 _( l) p5 E
% }5 S0 w8 N  u5 v

  1. 5 z+ p. x! @6 h0 f

  2. . C3 s( v" Q# m/ ^7 \) T3 k
  3. ! b1 v" M7 P( v! [+ d. b/ E
  4. . }0 E  _# ^. d3 @
  5. void UI_ColorRangeUDB::UI_ShowColorMapBlocks()
    . R0 c/ d' m4 a$ j! T% o2 R6 R4 I& ?% c
  6. {# n1 Z. z  I1 B: m+ Q; S& E
  7.         int colorNum = integerColorNum->Value();2 b4 b/ O: P7 x0 i0 ^
  8.         vector<BlockStyler::UIBlock*> hiddenGroup;8 b/ s. A3 a3 p
  9.         hiddenGroup.clear();
    # H8 @" i- V$ X- l
  10.         vector<BlockStyler::UIBlock*> shownGroup;: _, j% a4 h7 D% B( U
  11.         shownGroup.clear();" r8 Z5 \' y7 a8 _; S* ~) }" g
  12.         string groupPreStr = "groupColorRange";/ `9 j( O8 P" U" D8 w
  13.         string doubleUPreStr = "doubleU";
    8 w; z6 a* M4 |# b  k( H
  14.         string doubleLPreStr = "doubleL";
    0 Q- _& _- {+ `$ j
  15.         //get all the groups with the name str //groupColorRange6. _* M/ g- P8 K3 [
  16.         vector<BlockStyler::UIBlock*> allBlocks = theUserDefinedUIBlock->TopBlock()->GetBlocks();
      ?( ~% W1 `) R% q% `! m) s9 Y
  17.         //type: Group          name : groupColorRange
    6 s, Y( {  P# k6 H2 G. B
  18.         //type : Group          name : groupColorRange1
    ' F( L: Q9 y5 e; q( _; F: h+ p; i
  19.         //type : Group          name : groupColorRange106 u7 y0 y2 f2 n/ d& F8 H
  20.         //type : Group          name : groupColorRange11
    5 @/ L' A3 [$ k
  21.         //type : Group          name : groupColorRange12
    9 i6 x1 T  h- r" L7 X# |
  22.         //type : Group          name : groupColorRange2
    4 @( n3 r$ m( U% X
  23.         //type : Group          name : groupColorRange3
    6 A1 o; P- k2 k
  24.         //type : Group          name : groupColorRange4
    $ p; P& E: v5 B; A) e' o
  25.         //type : Group          name : groupColorRange56 f; T; [, Y: ?  S( ^4 ]/ J' P7 y/ b
  26.         //type : Group          name : groupColorRange6
    ' B% q, d+ s* R% C* A3 C" Y$ k
  27.         //type : Group          name : groupColorRange7* K/ o$ [4 w/ y, `5 M7 n( ?
  28.         //type : Group          name : groupColorRange8& c* x# i$ Z3 m  D
  29.         //type : Group          name : groupColorRange9
    " c# }, y$ O3 w. r
  30. % N) z$ H, @$ f! f" R
  31.         for (int i = 0; i < allBlocks.size(); i++)) [% ]* f' V, {( t2 v6 O
  32.         {: {( m3 p& C: \' F7 h
  33.                 BlockStyler::UIBlock* tempBlock = allBlocks[i];
    6 z0 F# A) J  v, y, ~' {
  34.                 if (isSameNXString("Group", tempBlock->Type().GetText()))
    ' u, y9 z( z$ t% S
  35.                 {
    7 \3 y/ {3 T" }
  36.                         string blockNameStr = tempBlock->Name().GetLocaleText();
    $ W6 A) G$ o. R/ n
  37.                         size_t findIndex = blockNameStr.find("groupColorRange");/ k* x  p) D/ p, N/ X
  38.                         if (findIndex != string::npos)
    . {) y/ H- R5 t$ f* q: v
  39.                         {4 J* s" s$ G% b
  40.                                 string subStr = blockNameStr.substr(groupPreStr.length());; M! I1 u8 G4 F% S- v+ A
  41.                                 // Echo("%s", subStr.c_str());
    # z9 D+ N/ \; A/ Z  U( K2 y3 {+ b
  42.          //Echo("%d -- %d", atoi(subStr.c_str()), colorNum);
    * T) Z' y4 I2 i$ w1 R
  43.                                 if (colorNum >= atoi(subStr.c_str()))
    ) T$ b# g5 G4 i: @2 B: n
  44.                                 {. s. c) N" R: G3 S5 s' {
  45.                                         shownGroup.push_back(tempBlock);. O; R) e/ d. p+ D2 N- }& m
  46.                                 }& \7 f% Z9 R- |9 |
  47.                                 else" o! }4 o: u4 w- T* J* E" X+ O! D
  48.                                 {
    - Y. I( H4 F" |% x! L5 u& w
  49.                                         hiddenGroup.push_back(tempBlock);
    / `" |5 n7 w/ [$ a
  50.                                 }8 I  p: ?9 Y5 P& F; j: y) M0 B
  51.                         }
    ! {. X2 \% c7 _  ^
  52.                 }- ?$ |" s4 j& s) J3 ~" e0 u
  53.         }
    " Q) w% z$ A% j! `' @* `5 M3 C
  54.         if (!shownGroup.empty())
    ' h  B: v) h/ |" e9 R
  55.         {! B: U5 Y/ ~5 K! `$ W
  56.                 for (auto a : shownGroup)
    4 Q& F: N1 ?+ q/ U# {
  57.                 {7 b1 w% [- E( V! b/ q; w
  58.                         a->SetShow(true);( _5 q8 S6 P" U

  59. " s3 t* K7 {; H# C" W
  60.                 }
    3 t, b$ R$ [1 \% m3 _. f2 C
  61.         }
    . {$ a; ?# P! n& D/ f4 X
  62.         if (!hiddenGroup.empty())" a* G" {' b& \' C" l
  63.         {
      H$ i9 \; N, l) N* }
  64.                 for (auto a : hiddenGroup)1 D0 t5 h& g$ V; p
  65.                 {
    $ A- U& m8 I4 K
  66.                         a->SetShow(false);
    6 u, ]5 o- r  J! G  Z8 T
  67.                 }( [, w8 T4 |& i
  68.         }2 F5 `; y: l/ x$ e4 K
  69. * J% H. |0 E# a! Y9 T: A4 n$ H; y
  70.     //实时更新显示
    3 I* x% p$ z& s" Z- O; e! A
  71. 0 h. `; Y3 A% z0 T% V0 n0 k$ k% g
  72.     UI_UpdateDoubleRangeValue();
    " A$ p4 a' h) h, Z
  73. }
复制代码
" w0 W, H6 v6 u- C
8 H  ]2 H, a9 s0 x0 M2 l' h
$ H; E" K! \5 Q9 c& S1 r
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了