PLM之家PLMHome-国产软件践行者

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

[复制链接]

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

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

admin 楼主

2023-3-6 11:55:57

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

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

x
" i' w9 G. j! {+ f  L* Y- d7 h" F' u8 i
4 s6 z! ?5 R* M. J9 D0 _' q
! i4 \7 m+ f. R. n3 H
一种自定义颜色条的方法,直接可以用,可以作为CAE后处理
0 c/ a% i, H" b$ u- n+ Q) ^4 \. P7 y  W4 @& G
QQ截图20230306115545.png " P. o; l* R' k' z

# U2 i. d# s' Q0 N

  1. : L5 m! G, |4 m5 l7 q: [. v

  2. 1 ?/ F* I, Y' `

  3. 0 _. L! d2 h1 P6 C" g/ U  M8 t, V. v
  4. ( K2 N1 w2 U6 _  K1 S
  5. void UI_ColorRangeUDB::UI_ShowColorMapBlocks()2 N( E5 ], N4 u0 A- o  H
  6. {
    2 \! i( C& T2 b6 r
  7.         int colorNum = integerColorNum->Value();
    * C: r4 j) V# D; N+ I9 e
  8.         vector<BlockStyler::UIBlock*> hiddenGroup;3 r1 ^% T, D7 l8 o7 ~/ Y
  9.         hiddenGroup.clear();
    % ]" O" R. H" E
  10.         vector<BlockStyler::UIBlock*> shownGroup;5 q9 L  g: W6 f8 e8 |' q
  11.         shownGroup.clear();
    8 y* B) n5 w7 p! N, y5 H7 ]
  12.         string groupPreStr = "groupColorRange";
    & U1 W1 o: ]( v6 @7 L
  13.         string doubleUPreStr = "doubleU";% a9 f9 ]7 t: I. {- q4 w
  14.         string doubleLPreStr = "doubleL";
    # x! K5 ~, w2 n9 m1 l% B
  15.         //get all the groups with the name str //groupColorRange62 `; l0 I9 j: X5 V9 ^
  16.         vector<BlockStyler::UIBlock*> allBlocks = theUserDefinedUIBlock->TopBlock()->GetBlocks();0 U9 B0 P8 ~8 O! l, G
  17.         //type: Group          name : groupColorRange
    2 M) [7 D1 H& C0 U5 S% w8 N2 w
  18.         //type : Group          name : groupColorRange10 _& E5 A" q6 v3 r8 Z5 W$ I8 v
  19.         //type : Group          name : groupColorRange10: O; [) {" G7 n& y
  20.         //type : Group          name : groupColorRange11$ e5 f5 U3 W+ I7 ^
  21.         //type : Group          name : groupColorRange12
      m  c$ I( ^; M/ i3 n! v5 F
  22.         //type : Group          name : groupColorRange27 s/ A- t  @+ M+ O
  23.         //type : Group          name : groupColorRange35 I& b+ a( G1 X7 g' b6 D
  24.         //type : Group          name : groupColorRange4
    3 z3 z* W& G3 X  q1 `: H
  25.         //type : Group          name : groupColorRange5
    5 N/ U, _! \+ k- f; d! H! y
  26.         //type : Group          name : groupColorRange6
    ' N  b5 {1 _# E7 n4 D
  27.         //type : Group          name : groupColorRange7  X, ?& p# W* x2 ]2 i" F: W" D8 T8 o
  28.         //type : Group          name : groupColorRange8" R3 L3 @7 T( S
  29.         //type : Group          name : groupColorRange9+ }3 J; l# ^( {% }" z# T

  30. % h8 @, P6 D) e4 j
  31.         for (int i = 0; i < allBlocks.size(); i++)4 H, E/ O9 _% q! ?
  32.         {
    2 \, N) Z6 ^8 [) M4 p& }% M
  33.                 BlockStyler::UIBlock* tempBlock = allBlocks[i];) @+ }# P: _& m9 W7 C6 a% h
  34.                 if (isSameNXString("Group", tempBlock->Type().GetText()))
    * R. o: d" K: u! T( q* |
  35.                 {
    & J9 o$ I+ U. B; _# C0 V& i
  36.                         string blockNameStr = tempBlock->Name().GetLocaleText();
    $ f4 T/ U, n5 N1 T
  37.                         size_t findIndex = blockNameStr.find("groupColorRange");
    $ @8 k! v9 k6 J
  38.                         if (findIndex != string::npos)4 q$ v/ m  Y7 R$ L7 Z* v
  39.                         {: N7 o3 ^# K) o$ |& W1 p6 j, Q: n6 z
  40.                                 string subStr = blockNameStr.substr(groupPreStr.length());  F. c# c- A% k
  41.                                 // Echo("%s", subStr.c_str());
    6 H$ c3 J0 u" Q3 G" Z
  42.          //Echo("%d -- %d", atoi(subStr.c_str()), colorNum);
    ( a- Y( v( h3 a0 q1 b/ F4 g, \1 n
  43.                                 if (colorNum >= atoi(subStr.c_str()))
    : c/ o' |& f' n6 g+ ]# X2 t' |
  44.                                 {
    3 ]# {4 H2 b0 O2 j
  45.                                         shownGroup.push_back(tempBlock);
    4 x8 n( C& h/ v' j
  46.                                 }
    / I" f- ?1 g; n
  47.                                 else
    6 ]& @2 z; w- y7 R- ^
  48.                                 {
    0 i9 i& T$ {  _' L9 c: x8 U
  49.                                         hiddenGroup.push_back(tempBlock);
    ; E' T2 r. q  l) }$ X+ l1 l+ J
  50.                                 }- e0 J2 P1 Y' W: L( J
  51.                         }
    : V7 ?( Y2 j3 c
  52.                 }
    # m) p  Q9 F- e. a+ ?7 G
  53.         }
    . y- Q& r# z' ]" |3 s) B- V
  54.         if (!shownGroup.empty())9 A$ i- T+ _$ |3 C. a
  55.         {
    3 L. ~) r: r( j
  56.                 for (auto a : shownGroup); J! `; I: W# [7 s1 \: F
  57.                 {# K- |! |3 ^+ a0 t6 q( P
  58.                         a->SetShow(true);
    " k! n" G& u- Y2 r0 {6 [2 K

  59. # n4 t3 i$ C0 f7 p7 w/ Q% M
  60.                 }
    / H( K- E$ P. V; O& c6 L* g
  61.         }2 @0 d) i0 y& y& f2 o: V
  62.         if (!hiddenGroup.empty())
    * N4 @- Y, T2 o
  63.         {
    . \7 ~1 p4 M' t7 `5 p
  64.                 for (auto a : hiddenGroup)# b1 y8 M( x1 o9 V5 ]- o  z6 w! U
  65.                 {  b7 K! s' J( A' t- |# V3 a
  66.                         a->SetShow(false);# ~) d2 h, _0 B8 ]2 L) M; f$ L/ I
  67.                 }( A! r4 m; Y) D8 Y. E2 s
  68.         }1 b: F3 Z) Z/ U2 C: z* t  a; N  k( }4 Q

  69. / v, x# N$ e: l- x
  70.     //实时更新显示/ p7 J6 ]$ C6 W5 [8 `* r
  71. / O/ w; M, @7 C" U5 |# B' V1 H0 w
  72.     UI_UpdateDoubleRangeValue();
    # U# n% {8 n3 Q6 U
  73. }
复制代码
0 b: ]2 C. D8 J0 V) i2 `0 ?# k

8 n1 h  F& u8 H
7 G$ Y  p5 {$ f* Y  I7 o
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了