查看: 1578|回复: 0

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

[复制链接]

2477

主题

1280

回帖

8万

积分

管理员

PLM之家站长

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

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

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

×
$ T# s! J2 `+ S$ w5 i

( b# K9 x) V( ]
9 t% j1 l* o6 ~一种自定义颜色条的方法,直接可以用,可以作为CAE后处理
3 Q3 V! C: w: P8 j6 F
' T& c( E+ |6 \& I QQ截图20230306115545.png 5 {+ D' e3 Z- g7 a0 d/ u

8 _2 ^, G" Q* U) Y. X8 z- B

  1. * Q( [( P6 Z. t* L' \! M5 u

  2. / Q9 p# `1 A% M8 ]! F# I: }9 ]
  3. ) t; a* }  z; k. d8 p6 l; `' o

  4. + o* N! P( o7 t& P+ s( c1 d' i
  5. void UI_ColorRangeUDB::UI_ShowColorMapBlocks()  Z4 L3 ]* x4 s$ `* i1 H$ L7 V
  6. {0 V5 M1 a* Q( _
  7.         int colorNum = integerColorNum->Value();
    + g* j2 |) Y5 ]4 U+ X& o0 T  P' X
  8.         vector<BlockStyler::UIBlock*> hiddenGroup;  _& V0 }' z! F9 {9 T% q* n# [
  9.         hiddenGroup.clear();
    ; h, L+ o6 l, Q9 p* e' `) J
  10.         vector<BlockStyler::UIBlock*> shownGroup;$ ~( p2 ~6 H' R' o3 Z$ U9 R
  11.         shownGroup.clear();
    / o2 Z3 }/ W, z, p5 z% O) }/ e3 ?
  12.         string groupPreStr = "groupColorRange";0 L( I/ w5 c! d( o! W" x
  13.         string doubleUPreStr = "doubleU";
      {$ k, N1 f; ?9 l7 ^
  14.         string doubleLPreStr = "doubleL";7 X1 ~- |  S- n. }8 Z2 H
  15.         //get all the groups with the name str //groupColorRange6% ]- R% P! Z; j$ b7 j) j
  16.         vector<BlockStyler::UIBlock*> allBlocks = theUserDefinedUIBlock->TopBlock()->GetBlocks();
    2 [' P, k7 s: z. Z
  17.         //type: Group          name : groupColorRange
      w* ^7 _+ G' q8 q
  18.         //type : Group          name : groupColorRange1
    * m, Y( d2 B: X( d
  19.         //type : Group          name : groupColorRange10( W/ u$ b) I2 `9 u) H( q
  20.         //type : Group          name : groupColorRange11
    , k! L, R8 O8 M+ r
  21.         //type : Group          name : groupColorRange12% I9 |# N# x8 g& E
  22.         //type : Group          name : groupColorRange2
    - A; k6 p4 B2 j+ @( q9 Y* y
  23.         //type : Group          name : groupColorRange31 m' ?, C6 `! t# \, j& [0 D
  24.         //type : Group          name : groupColorRange4
    5 {" b/ w, b* M8 ]1 ~
  25.         //type : Group          name : groupColorRange5# M: @0 m( d: F% S- L6 j9 A: T
  26.         //type : Group          name : groupColorRange6" m. z+ w% a; h4 x
  27.         //type : Group          name : groupColorRange7; T% _7 m0 j7 x( i  G$ Y" G% e
  28.         //type : Group          name : groupColorRange8, I' K& Q5 L) O/ ?3 X; ?/ t% g
  29.         //type : Group          name : groupColorRange9
    ' ~9 N7 W6 H$ m1 j+ x

  30. 0 H: i3 }, H2 y0 E
  31.         for (int i = 0; i < allBlocks.size(); i++)3 Q: f# R- h1 I" ?" O! F
  32.         {
    8 U/ c/ T+ B# c! ~
  33.                 BlockStyler::UIBlock* tempBlock = allBlocks[i];
    1 _, B7 }0 d9 [- H
  34.                 if (isSameNXString("Group", tempBlock->Type().GetText()))
    4 p* b9 t# k: H5 U
  35.                 {' t4 t% l1 G; D6 y* y
  36.                         string blockNameStr = tempBlock->Name().GetLocaleText();
    1 i9 Q" f7 D" @' A
  37.                         size_t findIndex = blockNameStr.find("groupColorRange");' t9 d5 ^7 ?0 i
  38.                         if (findIndex != string::npos)$ H3 e5 ]. P7 o. H/ t
  39.                         {
    7 e- j. d$ V) D/ l8 f
  40.                                 string subStr = blockNameStr.substr(groupPreStr.length());
    ; F5 j  s& k% C; D/ M% d
  41.                                 // Echo("%s", subStr.c_str());
    : t! y3 Z. @" T) Z5 c& v: i4 ?
  42.          //Echo("%d -- %d", atoi(subStr.c_str()), colorNum);& }1 e( {7 C# u* J
  43.                                 if (colorNum >= atoi(subStr.c_str()))# W' W! ]8 U' v4 `3 U+ e6 y* t
  44.                                 {& D/ ?3 U4 I; n& C) [3 i% `' p
  45.                                         shownGroup.push_back(tempBlock);5 r1 Y. r& O$ P9 f+ t8 q
  46.                                 }
    $ Y- M& J/ {  U
  47.                                 else
    / h7 D# h6 P% I4 G: F* m5 y
  48.                                 {
    - ], Y7 y8 j+ K1 o
  49.                                         hiddenGroup.push_back(tempBlock);, i- f0 n! n3 X% w. Y
  50.                                 }
    - n5 t% V  I+ `8 k$ `
  51.                         }7 L0 j2 r  F# [
  52.                 }0 A  v: S# G0 b$ O  m: |0 }
  53.         }* A$ [: s; m" u/ N" s
  54.         if (!shownGroup.empty())
    1 T5 K# S; E* k1 H8 q, ^
  55.         {3 [' j' _: }3 j3 b2 O
  56.                 for (auto a : shownGroup)3 h4 L7 T! k( _7 {6 q7 i
  57.                 {$ K; O- o( ^. i! @
  58.                         a->SetShow(true);- b2 T" K' {' X# r/ v0 Q$ J

  59. 9 V8 r2 Z; \$ E7 v+ c8 V
  60.                 }5 r( q) b% u9 x/ D" t
  61.         }& h. W3 r/ T' |( R. B
  62.         if (!hiddenGroup.empty())4 ^+ X- i5 J. V# b) E" M7 |4 B
  63.         {/ C4 A5 y6 j6 S) ~+ F) K
  64.                 for (auto a : hiddenGroup); S4 o6 Q8 z3 h9 {0 ]% b- ]
  65.                 {% S1 b* L; j# r- d- `- v
  66.                         a->SetShow(false);$ l/ z" b  r7 U* n: j* {, G! v% W
  67.                 }2 Q. r: X$ m: x9 V1 x
  68.         }
    / B4 D/ O9 {- K& R
  69. 6 L- U1 k/ |: P' f7 O& s1 I# p! h3 V
  70.     //实时更新显示
    % i$ W2 G  \4 l& x/ O

  71. 4 M$ y, p4 y4 `+ P) l5 j
  72.     UI_UpdateDoubleRangeValue();
    ) {" q3 x. ~( Y4 X
  73. }
复制代码

. l* m8 ?5 T, j7 V- M# y
( f+ E, ^; N- }' k" Q6 z5 \! p/ C* \- U( w  M
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

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

本版积分规则

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