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

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

积分
82168
QQ
发表于 2023-3-6 11:55:57 | 显示全部楼层 |阅读模式

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

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

x
# ~! U! Q) A7 c. x7 c- G

1 ]2 K6 Q1 f& [- \- o6 F; d
: j8 Z7 X+ A& b5 }$ ~& G+ z. V一种自定义颜色条的方法,直接可以用,可以作为CAE后处理! X: A, Z! ~% ^, P
5 e  `% k& r4 O5 X
QQ截图20230306115545.png % q7 u5 M- C% V
2 ~! C/ |6 t- o0 w* N! e; h
  1. 8 O8 W) R: p+ V: B) \3 g

  2. 1 O  C3 ^6 E  f  V& }* r, _

  3. * {( I5 _; j( [- G: e8 r7 {

  4. ' }4 o5 S5 K- j, P) M: m% x* U! q
  5. void UI_ColorRangeUDB::UI_ShowColorMapBlocks()4 C' s  U4 L( A
  6. {6 m# G3 @1 w7 r
  7.         int colorNum = integerColorNum->Value();
    ) W) @, O# t! M$ L/ o/ \( V
  8.         vector<BlockStyler::UIBlock*> hiddenGroup;
    - s3 |( ]$ ?% y8 B4 j6 `
  9.         hiddenGroup.clear();& }) ~6 w' e( G1 p4 i9 L5 W
  10.         vector<BlockStyler::UIBlock*> shownGroup;
    4 f/ E- p2 [5 Q: O3 t
  11.         shownGroup.clear();. W4 \- b: B; p9 {
  12.         string groupPreStr = "groupColorRange";
    ( ~8 x3 ^1 i; T/ N9 A
  13.         string doubleUPreStr = "doubleU";
    0 |1 S3 G% k7 R: J  s  l
  14.         string doubleLPreStr = "doubleL";) }- J) q7 Z+ Q1 D
  15.         //get all the groups with the name str //groupColorRange6
    ' Z# r" j# a- V$ u" J4 Y
  16.         vector<BlockStyler::UIBlock*> allBlocks = theUserDefinedUIBlock->TopBlock()->GetBlocks();
    ! [" Y4 o) q4 g( c, J* o
  17.         //type: Group          name : groupColorRange
    6 Y' l! x3 c* ^1 I
  18.         //type : Group          name : groupColorRange1
    5 @4 b1 y, l( r0 G1 l
  19.         //type : Group          name : groupColorRange10
    * k* f7 X: h4 \
  20.         //type : Group          name : groupColorRange11$ L, P; Y. P. a; G8 X
  21.         //type : Group          name : groupColorRange121 s* k% p" q* d' y7 V' T3 A9 {/ r
  22.         //type : Group          name : groupColorRange2
    & X+ [- ~9 X# w
  23.         //type : Group          name : groupColorRange33 u" D, {: ]* `. Q
  24.         //type : Group          name : groupColorRange43 x# K- \- I. j
  25.         //type : Group          name : groupColorRange5' u- W) Q* z6 K. `9 E* ?8 c
  26.         //type : Group          name : groupColorRange6& E) S8 ?- k7 P2 L5 {. b% ^
  27.         //type : Group          name : groupColorRange7( L4 B1 ^1 K' W& x( g
  28.         //type : Group          name : groupColorRange8
    : B! X3 M, y  n3 |6 E  d3 |
  29.         //type : Group          name : groupColorRange94 p* X# w) \0 X$ B( K8 Q; S2 @

  30. " \1 z& a7 ^6 E5 W) r
  31.         for (int i = 0; i < allBlocks.size(); i++)
    5 E& T" c$ S6 o* K7 }
  32.         {+ E. A3 C1 D/ o& ?/ f: a
  33.                 BlockStyler::UIBlock* tempBlock = allBlocks[i];
    - {+ J8 Z& u* z# B
  34.                 if (isSameNXString("Group", tempBlock->Type().GetText()))
    # C/ o) H+ l2 y" R0 V4 I3 ^4 `( c) r
  35.                 {
    ' l0 j5 Z( y( z9 _) c" d5 Z4 a
  36.                         string blockNameStr = tempBlock->Name().GetLocaleText();2 w# n* N% Y  w7 W7 ]+ X: v
  37.                         size_t findIndex = blockNameStr.find("groupColorRange");
    - j) O, n# A. i" s
  38.                         if (findIndex != string::npos)
    ' {3 ]" A% L" T3 {
  39.                         {
    + Q, ^2 c: \- X" u8 W
  40.                                 string subStr = blockNameStr.substr(groupPreStr.length());
    * i& A% A+ H; ]) N
  41.                                 // Echo("%s", subStr.c_str());
    % A* f2 p+ B6 Y/ T( p: r: o4 R
  42.          //Echo("%d -- %d", atoi(subStr.c_str()), colorNum);4 e& D$ ^3 n9 j0 \' r
  43.                                 if (colorNum >= atoi(subStr.c_str()))2 \9 [7 `& @4 q, e4 V7 T
  44.                                 {
    $ {# O: F5 n: M- m, R. _6 c  B
  45.                                         shownGroup.push_back(tempBlock);2 m  V1 C# K0 _- M
  46.                                 }
    / E. r2 h4 i% f! N& A% a+ ]! u, ?
  47.                                 else
    4 O: Z) L9 ]% }
  48.                                 {
    9 \  E5 X  t) ?3 g
  49.                                         hiddenGroup.push_back(tempBlock);
    ( k# M( E# N; ?, [9 _% h
  50.                                 }# l+ P# r. A" e
  51.                         }
    ) x- q" d* p7 ^1 U! n: U9 S
  52.                 }/ _, p, a  p6 ?) a$ S
  53.         }
    * Z% Z8 a4 V. ?; t. A  U0 R
  54.         if (!shownGroup.empty())
    2 q% @8 i& ~' g) p( j
  55.         {+ s' j5 {: J$ i  ^  z, C% H+ b
  56.                 for (auto a : shownGroup)7 I% |5 c& j% U* f
  57.                 {
    7 B) Z( ~* b+ r% t; R, d/ q/ S) H0 |
  58.                         a->SetShow(true);7 W1 z6 b" f% k# n: j1 D9 W4 ?
  59. ) b  h' ?( t9 Y
  60.                 }* _* Q. `2 Z9 W  r" [8 x3 ?8 R
  61.         }
    0 q4 F8 c1 E: d* O! _
  62.         if (!hiddenGroup.empty()): j- r: v* U! [! d: M& `8 w
  63.         {
    3 M% W8 C) d% A; A- }% {1 S
  64.                 for (auto a : hiddenGroup)
      V( K; }0 o, G# b: T6 F: {0 s
  65.                 {' Q/ V' v) k+ v+ g4 ^3 [0 |6 z: D
  66.                         a->SetShow(false);
      J  m7 w+ S: x5 _  y0 z
  67.                 }
    2 u; o3 R/ c5 x9 g
  68.         }  w8 R$ N/ h1 T; K' R8 T; M
  69. ( f3 J* ?1 j1 b
  70.     //实时更新显示6 f4 C- Z/ U* @0 H- I1 X
  71. 6 H* `! Y! W: S" O1 ^
  72.     UI_UpdateDoubleRangeValue();
    6 c' M1 v1 b& o7 _* [% }
  73. }
复制代码
: n- W6 a- o/ g  n

' ]* F2 y5 p/ P9 H) z
1 J( f7 V( I" J, w
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了