查看: 1567|回复: 0

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

[复制链接]

2477

主题

1280

回帖

8万

积分

管理员

PLM之家站长

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

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

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

×

, U/ p  d% c9 B2 J$ f: N
# {0 F9 t; |0 k# U7 e- n
# @$ I1 k6 a0 }! s一种自定义颜色条的方法,直接可以用,可以作为CAE后处理' O( K/ y2 {5 ]( U
* Q! n- f; p- j! O
QQ截图20230306115545.png - M3 h. x7 ?7 T7 R. e
" [4 w0 [& {! M3 {, ^

  1. ( }* B( Z% r1 p+ \2 h

  2. 7 d) S% [( k& j

  3. 9 F! E% d. G' r+ S) Y
  4. * {" }! i6 G5 l+ _8 W
  5. void UI_ColorRangeUDB::UI_ShowColorMapBlocks()
    7 X( f; Y! O6 V# `4 d7 h
  6. {
    0 z  h4 F: x2 b6 J: y; Y
  7.         int colorNum = integerColorNum->Value();. C( S; w$ \$ B* T/ D2 z
  8.         vector<BlockStyler::UIBlock*> hiddenGroup;2 y( R. y, O. X: x3 y
  9.         hiddenGroup.clear();
    2 I3 O0 x% P6 W! f
  10.         vector<BlockStyler::UIBlock*> shownGroup;- Q) b8 C  W+ Z  C" c
  11.         shownGroup.clear();
    3 Z. Z, d7 D) J9 M8 B) U
  12.         string groupPreStr = "groupColorRange";
    8 L# p* @. |# Q" @5 U
  13.         string doubleUPreStr = "doubleU";; Y3 w) W1 ~7 t7 l+ ]8 n
  14.         string doubleLPreStr = "doubleL";
    9 }9 O% Y* k2 Z3 s' O
  15.         //get all the groups with the name str //groupColorRange6. z* {! o% G! E4 |) i$ ?9 I
  16.         vector<BlockStyler::UIBlock*> allBlocks = theUserDefinedUIBlock->TopBlock()->GetBlocks();
    8 R0 \5 L6 q+ m( r
  17.         //type: Group          name : groupColorRange
    $ b0 N, U; o5 y0 A
  18.         //type : Group          name : groupColorRange14 _- o% m7 Z( z! a4 m! }- ~3 R
  19.         //type : Group          name : groupColorRange102 V* E4 t! ]. u: v( f, u6 k) G
  20.         //type : Group          name : groupColorRange11
    $ ?0 O, g0 B9 z. v& n% z  _6 f% K
  21.         //type : Group          name : groupColorRange129 O0 m, }" d7 d- _4 O+ y3 @
  22.         //type : Group          name : groupColorRange2+ N' M* U3 m/ h2 S/ e, g7 [
  23.         //type : Group          name : groupColorRange3
    ( a) p1 G  A: z' b; V
  24.         //type : Group          name : groupColorRange4
    ( J7 {2 S+ k7 m8 G5 r
  25.         //type : Group          name : groupColorRange5
    + Y5 [/ i' C" J: T* O+ {  }% @
  26.         //type : Group          name : groupColorRange6
    " C9 F# k2 ^' j7 Y: O6 P- Y
  27.         //type : Group          name : groupColorRange7" r/ v! |4 X9 ^
  28.         //type : Group          name : groupColorRange8
    ' I- O+ q, D" a# X& O
  29.         //type : Group          name : groupColorRange9
    $ ?6 P' [1 K3 \" l' q+ ]0 [% f& d
  30. 3 \& z$ {2 f# I/ w; N, Q
  31.         for (int i = 0; i < allBlocks.size(); i++)
    ; E4 K7 H. s1 N4 r' \2 E% Q+ K: ~
  32.         {
      e+ f4 A  b! P- t3 y( G# o+ k
  33.                 BlockStyler::UIBlock* tempBlock = allBlocks[i];
    9 K1 X. `3 y9 G6 n  n. }
  34.                 if (isSameNXString("Group", tempBlock->Type().GetText()))* v( {  p, o  y7 J5 _: q4 U
  35.                 {
    0 h7 K; N0 c; H" |1 W  V; Y
  36.                         string blockNameStr = tempBlock->Name().GetLocaleText();- A( y' R9 R: C1 Z# b1 O" u- L
  37.                         size_t findIndex = blockNameStr.find("groupColorRange");2 H" j+ M% c% G3 \; H) U5 ]5 D
  38.                         if (findIndex != string::npos)
    # ?/ |3 `8 M0 T' ]3 o
  39.                         {
    5 l2 ~. ~% l, g  H+ p. f5 t
  40.                                 string subStr = blockNameStr.substr(groupPreStr.length());8 U. Y4 H" X; b1 Z8 H$ R
  41.                                 // Echo("%s", subStr.c_str());9 c6 w/ e8 J* L* l
  42.          //Echo("%d -- %d", atoi(subStr.c_str()), colorNum);" z+ m: B" C8 q& }, \5 _3 g
  43.                                 if (colorNum >= atoi(subStr.c_str()))
    + f" U* v. D& A9 Y9 F7 o0 C3 I
  44.                                 {
    8 @1 [; F5 ~8 e1 j
  45.                                         shownGroup.push_back(tempBlock);% ~# g, a3 P* a- g" F
  46.                                 }( ?5 Q8 U5 U, v5 r7 j6 ?
  47.                                 else
    7 b4 c- N0 y. ]1 {% f: Z) I' ^
  48.                                 {& d% O+ s7 \; ]4 ^# G
  49.                                         hiddenGroup.push_back(tempBlock);. @+ R6 H# t8 F" y
  50.                                 }2 X. K7 r, S! j6 `' e6 p, l
  51.                         }
    ! o# A  k' [& _
  52.                 }6 O: J- N1 b* m, L
  53.         }% p  v1 m# ?) e1 k1 Z$ m* {! W6 X
  54.         if (!shownGroup.empty())
    ( A, L" H1 c5 `$ E
  55.         {8 ~4 A  `/ C  X! P% {- j1 Z! L
  56.                 for (auto a : shownGroup)
    5 j6 E* Q9 Q0 q/ y9 X1 M
  57.                 {, h+ X6 k& m6 y2 Z! S( e
  58.                         a->SetShow(true);
    / _2 O# R/ ]" Q6 M! e/ ~" _/ o1 H
  59. / Z  L8 @# B/ \  B
  60.                 }* p8 n1 A! S3 w! S& d. L; [
  61.         }
    6 R5 v% y6 Y. u& O
  62.         if (!hiddenGroup.empty())" R: B& k; r0 j' y2 A: N
  63.         {
    , H0 Y8 [. S* [3 H9 K
  64.                 for (auto a : hiddenGroup)1 w$ K6 b* J1 t; |$ O
  65.                 {& `' G( R7 e. `" s- A* f- W
  66.                         a->SetShow(false);
    + q# \4 h+ l5 h3 a! U
  67.                 }
    & V0 d) a# v* u, v
  68.         }
    - t8 k+ [8 |7 g+ I- `
  69. 1 w, w2 ?' p$ o2 [* z
  70.     //实时更新显示5 e3 e9 g$ `5 |+ u
  71. ' t# [5 L, C2 x$ x' ~
  72.     UI_UpdateDoubleRangeValue();  c/ l) o3 {7 T/ X) q& }: h& C
  73. }
复制代码

) y% [, {+ j/ c7 d6 ^- F5 _0 C4 R6 r" {  f
% Q8 s2 n% J+ g/ j/ i
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

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

本版积分规则

在本版发帖
关注公众号
QQ客服返回顶部