查看: 1391|回复: 0

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

[复制链接]

4

主题

3

回帖

46

积分

管理员

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

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

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

×
4 q. \" d0 C1 m1 c) t
7 ^- T, E: z2 \7 }

/ [0 M7 E9 d" V0 w' Z5 H# `一种自定义颜色条的方法,直接可以用,可以作为CAE后处理
( Y  u/ ], y! O
* x0 s8 X1 j' x8 l# B' ` QQ截图20230306115545.png
: Y. `4 a( d9 ^0 Q# T" Y, X# E6 ~
  1. 3 z, O9 y- c# I$ Y) _

  2. $ y5 N7 e9 s; v8 N
  3. 4 h# J7 ?9 j. `! K" A

  4. - `& g9 B9 Y; W7 s$ m3 g
  5. void UI_ColorRangeUDB::UI_ShowColorMapBlocks()
    3 p) y, O- l0 Z5 _- G
  6. {
    / u2 U* Z8 M, g  o* Q1 k
  7.         int colorNum = integerColorNum->Value();" @0 V4 V* M( @1 J( G7 [
  8.         vector<BlockStyler::UIBlock*> hiddenGroup;% e" f6 G" [8 j. k8 m- `* O) }
  9.         hiddenGroup.clear();
    ! K6 D% o9 k- d$ R1 m, h5 F0 X! I
  10.         vector<BlockStyler::UIBlock*> shownGroup;/ J' i% Y4 `, ~8 Y0 Z1 `# U
  11.         shownGroup.clear();
    & w; h9 E( X7 O+ f& q* h  i
  12.         string groupPreStr = "groupColorRange";
    ! b' z9 v9 `# n5 D  a4 {
  13.         string doubleUPreStr = "doubleU";
    - k/ k! o  W  ]2 j+ S% c
  14.         string doubleLPreStr = "doubleL";
    - W6 o1 o* y: V8 B0 j( L8 O; U
  15.         //get all the groups with the name str //groupColorRange62 _& `0 k; L3 o
  16.         vector<BlockStyler::UIBlock*> allBlocks = theUserDefinedUIBlock->TopBlock()->GetBlocks();
    - F7 p9 l, r5 k$ V
  17.         //type: Group          name : groupColorRange
    ) c! G) ^- w# E' o
  18.         //type : Group          name : groupColorRange1
    4 o4 h% T  l! \
  19.         //type : Group          name : groupColorRange10% X2 c" q# Q% S' Q) D. ?
  20.         //type : Group          name : groupColorRange11
    5 h! {+ H/ J. N& v' S1 h/ V
  21.         //type : Group          name : groupColorRange12
    & H' l3 f/ B! S+ H. ^
  22.         //type : Group          name : groupColorRange2
    " c1 g# m# J, J" A- u1 U/ ~
  23.         //type : Group          name : groupColorRange3& w5 }/ c0 ]  G' t' r6 M! |
  24.         //type : Group          name : groupColorRange4
    , d8 k: `* r( K
  25.         //type : Group          name : groupColorRange51 o: R2 R3 |% ?  ~: Y! ]
  26.         //type : Group          name : groupColorRange62 X3 k+ G4 K- h% L
  27.         //type : Group          name : groupColorRange7+ v- i% \+ f6 F/ \
  28.         //type : Group          name : groupColorRange8' K9 R; T8 d  e9 S- ^
  29.         //type : Group          name : groupColorRange9
    7 _0 t$ O) D: Z0 E$ ^  c
  30. 4 b" \) n: |& M
  31.         for (int i = 0; i < allBlocks.size(); i++): j' F# U) Q" ~6 F; J/ ^$ s: w
  32.         {1 n- H4 y1 ~6 J; s" [
  33.                 BlockStyler::UIBlock* tempBlock = allBlocks[i];) D9 {9 Z; o. k  @( P6 ^) H4 r! A
  34.                 if (isSameNXString("Group", tempBlock->Type().GetText()))5 d, {* M( g( A) R4 x% V, ^6 ?* r
  35.                 {
      m$ j( L6 p0 r" F( W2 z6 }
  36.                         string blockNameStr = tempBlock->Name().GetLocaleText();8 L0 T2 `( a6 G0 \2 M$ w6 c" F
  37.                         size_t findIndex = blockNameStr.find("groupColorRange");
    . n" X* p4 B4 X3 m
  38.                         if (findIndex != string::npos)
    & ]/ v4 B+ U& A6 }" j  K' P
  39.                         {- K  S/ Q0 T: j0 v
  40.                                 string subStr = blockNameStr.substr(groupPreStr.length());
    3 d; h6 P- A! l
  41.                                 // Echo("%s", subStr.c_str());, d: N7 @9 v) A# j, I) b1 m& N
  42.          //Echo("%d -- %d", atoi(subStr.c_str()), colorNum);( x; d% s, R: y' p4 M
  43.                                 if (colorNum >= atoi(subStr.c_str()))
    1 s, s$ g3 @) @/ {4 g: I
  44.                                 {& F+ g$ G8 W) W, k
  45.                                         shownGroup.push_back(tempBlock);
    9 t+ M# f, _! S1 ~. s2 U
  46.                                 }
    + P8 q% H% m1 o) Y2 N
  47.                                 else
    + S$ s  b5 T* ]$ ~
  48.                                 {4 f. p' l- ~9 o) j
  49.                                         hiddenGroup.push_back(tempBlock);$ u' U( `, `) J5 T( {, p/ ~) f
  50.                                 }8 M( F) Y$ i8 X* u0 a
  51.                         }& {" T: @% E- Z6 f* Y0 R
  52.                 }' z& F' v; Z: q4 U% j1 R
  53.         }
    3 {1 M- a; ], X& M0 _
  54.         if (!shownGroup.empty())
    : [8 _! s$ I2 E5 L; U5 A* J' m
  55.         {0 G! X' h, z) c# v6 T$ E
  56.                 for (auto a : shownGroup)0 Y3 y5 o& ^+ S" X; H* V" c6 s
  57.                 {
    2 T7 z3 Y" X. [) M9 N, x% s4 j( B+ [
  58.                         a->SetShow(true);" X- c8 O* @$ c! B: x* P+ D

  59. 2 r) q- L7 [* u, u8 R4 c, o
  60.                 }
    ' w+ ~" c; u' V
  61.         }# A; z6 F$ V6 e8 h" M( N/ e
  62.         if (!hiddenGroup.empty())
    3 N! l0 m$ q! M, @( \& ~+ [
  63.         {9 c' t7 E' ]1 q8 T
  64.                 for (auto a : hiddenGroup)% `. M: I; ?( e$ O
  65.                 {
    " X0 N( q2 e- z% c4 `
  66.                         a->SetShow(false);9 \6 ]. W) n" k& u. J  y, r" X
  67.                 }
    + \- t; [7 N( j$ f
  68.         }+ B% I: ~# Q( y! W/ G! S4 w

  69. 0 M1 S$ n) }) g  R
  70.     //实时更新显示
    # R, ?- v. T$ f! f  S( \4 t6 r; K
  71. ( Y+ m* Y6 M( ?6 c+ O+ m6 V
  72.     UI_UpdateDoubleRangeValue();$ q4 q* P" G3 Z9 L, c
  73. }
复制代码
* ]2 O3 z# a! ]: d7 d3 t9 M2 Y
  f8 V2 I( z# g

, V3 q+ z: H$ F1 f9 N% w0 F
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

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

本版积分规则

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