查看: 1410|回复: 0

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

[复制链接]

4

主题

4

回帖

52

积分

管理员

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

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

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

×

4 n  z9 \* Y2 q! L+ v2 V% r; j1 u; _- _! k: ~8 c9 E, S

8 X) z3 c2 ?& ^, p' c- A一种自定义颜色条的方法,直接可以用,可以作为CAE后处理
$ i3 r7 `! _+ x& U6 y- U( V4 y: I' Q% M" y
QQ截图20230306115545.png 7 D5 K# c" U! G& ~  w, v' o) t
/ G$ i1 B; m' y! s/ D0 S$ r

  1. / d% k) r3 B' i
  2. . K, g+ ~' `* V. ]7 a. n' c
  3. & S9 P6 `0 c* K/ A2 D  ?
  4. 9 o' F# o) l+ \% g2 \9 K% ^* ?
  5. void UI_ColorRangeUDB::UI_ShowColorMapBlocks()
    " I6 {7 n$ @$ X! t$ `3 S2 O8 y& L
  6. {6 h) M4 C- v% j+ ]& R
  7.         int colorNum = integerColorNum->Value();
    ' D+ A. k$ [4 W5 p( {4 G% W/ b* O
  8.         vector<BlockStyler::UIBlock*> hiddenGroup;
    - t9 C5 u6 E! f) v- B+ j
  9.         hiddenGroup.clear();  m6 v5 z& @1 A& w
  10.         vector<BlockStyler::UIBlock*> shownGroup;
    0 R) _3 {, g' a- O" h
  11.         shownGroup.clear();" T& u# v# a0 E
  12.         string groupPreStr = "groupColorRange";% I, P6 ~( e5 }, I( u6 J
  13.         string doubleUPreStr = "doubleU";* r+ |& W& v( b- v" L/ j
  14.         string doubleLPreStr = "doubleL";1 H& D7 k0 `9 h( k0 u* i( f
  15.         //get all the groups with the name str //groupColorRange6
    * D" u/ y' b- {( t
  16.         vector<BlockStyler::UIBlock*> allBlocks = theUserDefinedUIBlock->TopBlock()->GetBlocks();
    7 }7 V5 C% L5 t& [5 q2 A# [
  17.         //type: Group          name : groupColorRange! X+ ~8 D5 J. _1 Z
  18.         //type : Group          name : groupColorRange1# K2 P) \! S1 q9 T( G$ ?) w+ E
  19.         //type : Group          name : groupColorRange10& {, g1 B6 {9 H; `4 g, O3 ]/ `) d% k8 l
  20.         //type : Group          name : groupColorRange110 {) |1 ^0 k' k. |+ q# N9 R3 e
  21.         //type : Group          name : groupColorRange12
    : `  i+ x  J# r0 q* S+ \
  22.         //type : Group          name : groupColorRange2
    ' t% ~! n; Z' Z* R( f* V
  23.         //type : Group          name : groupColorRange3: [; \! v5 A6 {5 E0 h
  24.         //type : Group          name : groupColorRange4
    ; s2 X5 ^* g/ b% f* F( ?  a! l
  25.         //type : Group          name : groupColorRange5
    ; }: w8 o8 s* |. D
  26.         //type : Group          name : groupColorRange6& _( A/ s- y9 }1 `- Z7 Z
  27.         //type : Group          name : groupColorRange7. F0 \' @2 t# V- c- L
  28.         //type : Group          name : groupColorRange8+ }0 c+ R2 p% r7 u
  29.         //type : Group          name : groupColorRange9
    0 z# M2 K& `7 b! A
  30. , k7 {) _- s, C' R3 p
  31.         for (int i = 0; i < allBlocks.size(); i++)7 O9 C* P" l6 z5 k( c
  32.         {1 R. W3 t* @. }) _7 G
  33.                 BlockStyler::UIBlock* tempBlock = allBlocks[i];
    ! Y7 z. i" N+ W! D7 j! F- C4 C  s
  34.                 if (isSameNXString("Group", tempBlock->Type().GetText()))
    ( |* u# j  c- d# I0 S0 \5 P
  35.                 {
    ; o& A2 G- O- Y5 ~
  36.                         string blockNameStr = tempBlock->Name().GetLocaleText();" t$ z* n. F2 a
  37.                         size_t findIndex = blockNameStr.find("groupColorRange");
    / H9 M; V7 _) [+ x
  38.                         if (findIndex != string::npos)0 n; s4 h! U. {" q. m
  39.                         {
      h; G- r9 b7 |, Z: D
  40.                                 string subStr = blockNameStr.substr(groupPreStr.length());
    , c- _/ g# X) C& X. m6 z+ A
  41.                                 // Echo("%s", subStr.c_str());2 |" P+ ^: E9 t/ ]
  42.          //Echo("%d -- %d", atoi(subStr.c_str()), colorNum);! S& d+ S/ J& \  v' R' X
  43.                                 if (colorNum >= atoi(subStr.c_str()))
    5 n$ u9 y& d2 M7 ~& k& W
  44.                                 {# l. `+ s+ i5 G: ?
  45.                                         shownGroup.push_back(tempBlock);
    ( p9 _; s6 @5 j5 w1 \
  46.                                 }4 n/ w# ?* ~& ^; t9 p2 B
  47.                                 else
    7 V+ H  t( N6 O
  48.                                 {! ^3 n& ]% T$ B5 a& g6 R0 B
  49.                                         hiddenGroup.push_back(tempBlock);
    ( {& J& s8 K, i3 p& J5 }) o
  50.                                 }2 J6 x! x2 ?- Y, a0 c
  51.                         }
    4 p" d0 {2 ^( ?9 N$ v6 F
  52.                 }% L! F2 A; S; v6 k) m
  53.         }
    , e! i1 A" _0 i+ s- Z. |
  54.         if (!shownGroup.empty())
    0 J; F7 P" S8 U' [. |$ E9 J* M
  55.         {- j( n1 H" `; ?' H( ^* o# v; c
  56.                 for (auto a : shownGroup)- Q+ F3 j$ r9 i7 ?2 j/ ^7 A8 m
  57.                 {
    3 p, b( O' O2 W: W
  58.                         a->SetShow(true);8 d: @' n) L; z" _
  59. . W( N- S7 \+ z8 X4 X) M5 a& _' I/ ~
  60.                 }, N* z$ `! T) \, e+ d
  61.         }! ?+ L9 w) h1 X' U
  62.         if (!hiddenGroup.empty())
    7 l; @( T+ I$ E( z4 I
  63.         {* f; e! s9 H( m  ]8 E
  64.                 for (auto a : hiddenGroup)
    * @1 D' L7 s. K8 e0 P
  65.                 {
    + ]  q1 f- Y- Y5 D
  66.                         a->SetShow(false);
    3 _2 w  b1 _- N6 F& I& u6 _6 n5 Q
  67.                 }3 O, x; G$ v% l( M; _! B2 @( g* z
  68.         }' q, g, L. K. G: Z  H9 E

  69. . D3 U( p& k; H2 J) @2 m
  70.     //实时更新显示6 x* z% B, n; Q( k( m; d) M' q0 p' C
  71. 2 X: q5 s% Q* w6 ?% X9 y. @+ x$ r3 S4 E" r
  72.     UI_UpdateDoubleRangeValue();
    0 H4 j/ `$ d2 A' b6 Q1 v
  73. }
复制代码
0 S5 z1 {9 U( v7 z
2 i* w( q# \' a

4 \2 _- N. ^* y
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

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

本版积分规则

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