查看: 1344|回复: 0

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

[复制链接]

4

主题

3

回帖

40

积分

管理员

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

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

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

×
' t7 e, ]& I3 v2 C
- f$ G* `7 f  t. p

7 j  e0 ?+ i* g5 A8 _- Z$ o9 U一种自定义颜色条的方法,直接可以用,可以作为CAE后处理
+ ^- c4 B1 t0 E& B( t3 E
. {0 R5 k! h2 Z2 a( {' w# H QQ截图20230306115545.png . w0 N$ f1 `& ~

$ `3 M0 \# a: T: ^. @2 |/ L* ?/ t4 s

  1. ' I, Y! ^4 S6 u' ^
  2. 9 O$ F) P& c- t* @& Z/ p
  3. - l3 m' A! l* O) d

  4. 9 g0 g. p" ?) q% i' R6 u: ~. X
  5. void UI_ColorRangeUDB::UI_ShowColorMapBlocks()5 E) ]" }# z/ P9 D( [! d: j5 g
  6. {
    3 s$ ]! v3 }+ K( z
  7.         int colorNum = integerColorNum->Value();
    : }# z0 Y3 f/ ~% P) u/ t! G
  8.         vector<BlockStyler::UIBlock*> hiddenGroup;$ U: c4 W/ a; a8 J
  9.         hiddenGroup.clear();3 [  Z1 [$ X  n
  10.         vector<BlockStyler::UIBlock*> shownGroup;! k' y8 C+ n1 C6 y" R6 c2 a
  11.         shownGroup.clear();; B8 V. n5 `4 p2 F9 _2 ]
  12.         string groupPreStr = "groupColorRange";
    ) X9 j% G, X& A/ o: h( Z
  13.         string doubleUPreStr = "doubleU";2 }1 x0 A8 {* x" Z# @6 a) _) U2 R& K
  14.         string doubleLPreStr = "doubleL";3 V+ ?" g! H; j% f+ `9 ^
  15.         //get all the groups with the name str //groupColorRange6& p" W, s5 l5 j; G  R
  16.         vector<BlockStyler::UIBlock*> allBlocks = theUserDefinedUIBlock->TopBlock()->GetBlocks();
    / I9 O2 _4 V* v1 z$ [
  17.         //type: Group          name : groupColorRange
    ! m9 ~( m8 k( H' e5 o
  18.         //type : Group          name : groupColorRange14 n6 D8 {5 K4 i7 f7 N$ K' U
  19.         //type : Group          name : groupColorRange10; {) _- ], N% T0 Y( s; _, v! m
  20.         //type : Group          name : groupColorRange11
    / S! r2 S/ G4 }9 W& Y, ?3 z
  21.         //type : Group          name : groupColorRange12
    2 @! S1 P, d/ {* F1 W0 u9 Y+ _$ P
  22.         //type : Group          name : groupColorRange22 B  S: t5 m, u, J/ J
  23.         //type : Group          name : groupColorRange3
    9 k5 Q! k4 `! _- l2 v
  24.         //type : Group          name : groupColorRange4
    3 p; s: j: s6 |& s' a. u
  25.         //type : Group          name : groupColorRange5
    ' m, n4 r7 p0 m' E
  26.         //type : Group          name : groupColorRange6
    : h! |% @* D4 F+ @$ ^. r
  27.         //type : Group          name : groupColorRange7
    / u6 B0 L/ I) o: w6 {: i: b4 }' b
  28.         //type : Group          name : groupColorRange8
    + E( A8 }% A( p  @; y* W7 |
  29.         //type : Group          name : groupColorRange9
    3 v# r6 v, Y2 c' g

  30. 5 B' J7 P  B3 q* a2 \& w
  31.         for (int i = 0; i < allBlocks.size(); i++)
    ! a0 G8 w2 ^9 x6 ^  N" c% M
  32.         {
    , O& i, O! _  n7 I4 D$ _5 R; l
  33.                 BlockStyler::UIBlock* tempBlock = allBlocks[i];
    * y! E  v% k; l/ w9 N
  34.                 if (isSameNXString("Group", tempBlock->Type().GetText()))) m4 s- c* q" ~
  35.                 {3 ?9 M$ A5 d8 F: A1 c
  36.                         string blockNameStr = tempBlock->Name().GetLocaleText();8 R0 G9 E6 L0 q" a5 u
  37.                         size_t findIndex = blockNameStr.find("groupColorRange");, z. G4 W8 p$ e: u4 K3 a
  38.                         if (findIndex != string::npos)
    , s* J1 d3 z. g5 T2 w% ?- a  m5 J
  39.                         {) A- y4 g6 @# w9 V3 |# h
  40.                                 string subStr = blockNameStr.substr(groupPreStr.length());; R& [" Q3 ?6 S7 Q( s
  41.                                 // Echo("%s", subStr.c_str());5 c  l( V4 S- p0 N+ o/ a* p
  42.          //Echo("%d -- %d", atoi(subStr.c_str()), colorNum);
    6 N2 B0 o/ p  u! T$ `: r9 |
  43.                                 if (colorNum >= atoi(subStr.c_str()))# M8 l, `; R: e2 m( g
  44.                                 {( g# c2 W& g) ?0 Z7 I0 q
  45.                                         shownGroup.push_back(tempBlock);
    ! D, _$ S+ ~6 A3 w3 p; C
  46.                                 }
    6 X0 R  [3 ]1 _) G
  47.                                 else
    ( u+ `8 @  H) \
  48.                                 {
    : P% G2 V3 `# C4 P' z
  49.                                         hiddenGroup.push_back(tempBlock);
    ! {0 Q+ ^8 H; J$ v$ A! l5 A5 j
  50.                                 }) A9 k0 G8 z  @5 q  |  ]( {% u
  51.                         }- B0 T+ J4 F; U
  52.                 }9 \  A. j8 K5 `' u
  53.         }
    # c8 z. c# J, p6 S% E  N* T7 U
  54.         if (!shownGroup.empty())2 }- F! k8 h' G
  55.         {- M7 v6 x. m  p, ~. L- B: M/ T
  56.                 for (auto a : shownGroup)
    8 i( T6 J8 V. }) h/ g
  57.                 {
    4 w# L) C5 r/ Q! c, {% z( d3 E- X/ C
  58.                         a->SetShow(true);
    ( ^5 ^& j5 Y2 L& V

  59. 8 P) }. S# g! b# u& V
  60.                 }
    + i# ?, Q$ u+ T! q
  61.         }
    , N4 [" ]. D6 y& W- L9 j5 @: O# ~: ^/ ?
  62.         if (!hiddenGroup.empty())8 I6 r. {5 a7 ]' P
  63.         {
    , Q# [3 J  |3 o3 t. \% p
  64.                 for (auto a : hiddenGroup)' C2 `8 V& V. o# o- L% j9 T
  65.                 {
    : t+ P8 a3 |+ B* D( g0 Z6 p3 X3 I
  66.                         a->SetShow(false);
    . A2 s& v, o  ?
  67.                 }$ Z0 S: K5 g5 N
  68.         }
    % m8 o6 p$ s8 \8 A" F8 f

  69. ) n3 x- J% p* X- x: q% S- X4 X/ f8 S
  70.     //实时更新显示( ~9 A( U; ]6 U, l# X: \

  71. . k6 M  j1 c( A. d* @$ p  d
  72.     UI_UpdateDoubleRangeValue();: F+ S- v8 x( ?% K( _. _* g
  73. }
复制代码

8 W: N$ z$ S# b( |
/ \( l" _+ V8 h2 W. `# F$ e* v: B4 M0 z* e2 M0 i& |, B# ]
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

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

本版积分规则

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