查看: 1561|回复: 0

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

[复制链接]

2477

主题

1280

回帖

8万

积分

管理员

PLM之家站长

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

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

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

×
/ R. [0 L! q) ~+ ^! O
5 G: B6 v  y2 x" y0 g# h
  Z% G" l/ @$ g5 S
一种自定义颜色条的方法,直接可以用,可以作为CAE后处理( a- g" }& q; F( m2 B2 y: Z

5 a3 L" a( ^# {6 j: q3 E3 q QQ截图20230306115545.png - ]: @0 h( a/ b

! L# ]7 ~6 \  t& [
  1. ' t" r  H" [4 v" `
  2. ( ~$ e: n  {8 E& F& \
  3. 8 x& o# x4 T" ]
  4. ( i/ f5 s  F1 l+ c  y' v
  5. void UI_ColorRangeUDB::UI_ShowColorMapBlocks(). v0 T. D. e2 f- A0 q
  6. {
    - C' b9 r5 [+ L
  7.         int colorNum = integerColorNum->Value();1 `+ a- {' P  u
  8.         vector<BlockStyler::UIBlock*> hiddenGroup;' ^! s- ~. o* e8 b+ R! ?
  9.         hiddenGroup.clear();
    7 v$ L8 R( t" Z) ~
  10.         vector<BlockStyler::UIBlock*> shownGroup;, z' M: Q' S6 e
  11.         shownGroup.clear();3 Z; C% K8 V% @" h
  12.         string groupPreStr = "groupColorRange";7 X& m. F. g, V4 n8 v3 r
  13.         string doubleUPreStr = "doubleU";: t7 G8 m! v, A5 i4 d2 h: v
  14.         string doubleLPreStr = "doubleL";7 p# O; _( Z: m3 I/ H0 a
  15.         //get all the groups with the name str //groupColorRange6
    2 F( o; ]# |7 L
  16.         vector<BlockStyler::UIBlock*> allBlocks = theUserDefinedUIBlock->TopBlock()->GetBlocks();7 A( [5 ?5 B* c) L+ r; y
  17.         //type: Group          name : groupColorRange  G) ]. g) s" |$ p
  18.         //type : Group          name : groupColorRange1' v- M6 m0 Q8 K. q3 M5 C% ~
  19.         //type : Group          name : groupColorRange10
    - r3 O" q5 Y# O5 C1 ~. M  m3 {5 T
  20.         //type : Group          name : groupColorRange11# l- U7 z1 P% q( c8 p
  21.         //type : Group          name : groupColorRange12$ X8 f0 a+ S8 h! ?7 D- y
  22.         //type : Group          name : groupColorRange2! P3 N9 F! G3 y9 O8 v2 C
  23.         //type : Group          name : groupColorRange33 d$ z) }2 i2 K1 U. y
  24.         //type : Group          name : groupColorRange4
    # M  y7 w9 N3 h) m5 B* W
  25.         //type : Group          name : groupColorRange5
    / x# |. J) f+ J
  26.         //type : Group          name : groupColorRange68 `8 R# c, m4 B- Q' u
  27.         //type : Group          name : groupColorRange7/ m8 D" {- q) p* H) k
  28.         //type : Group          name : groupColorRange8
    , y8 t' O! E) h1 t* G
  29.         //type : Group          name : groupColorRange9
    * s* P( M1 L2 `9 Y0 F

  30. : I0 R" `( s5 h
  31.         for (int i = 0; i < allBlocks.size(); i++)
    1 M; R/ T7 ]3 n) Q% g3 P" P4 I
  32.         {
    ! [- I3 Z, D' V" i
  33.                 BlockStyler::UIBlock* tempBlock = allBlocks[i];
    " _6 L6 U" l0 H% f. G/ u4 Y1 e7 u1 ?
  34.                 if (isSameNXString("Group", tempBlock->Type().GetText()))
    0 `) L* d6 a5 i
  35.                 {5 b) A# {  j0 ]( [. c
  36.                         string blockNameStr = tempBlock->Name().GetLocaleText();3 H( m0 P: @! @. s# p$ ^8 H
  37.                         size_t findIndex = blockNameStr.find("groupColorRange");
    : Y. e3 o  Z: {. H! \, f7 }
  38.                         if (findIndex != string::npos)
    5 Y$ y+ i  b! Z
  39.                         {
    ; X4 }, w, L* j  t# X+ C' H- w
  40.                                 string subStr = blockNameStr.substr(groupPreStr.length());
    $ \5 a" h  k6 o2 a1 ^
  41.                                 // Echo("%s", subStr.c_str());
    * Z2 k4 z. J  b% C) q; [
  42.          //Echo("%d -- %d", atoi(subStr.c_str()), colorNum);
    8 n  b" T$ s3 b) }0 G  q; P$ h1 c8 ]
  43.                                 if (colorNum >= atoi(subStr.c_str()))
    - Q" A9 w: J/ [, N1 G- c
  44.                                 {/ r; @2 w/ W1 M! a& C0 p) Q, v
  45.                                         shownGroup.push_back(tempBlock);
      f! P3 h" A; z$ y4 [+ v3 |. }- z
  46.                                 }
    / s: K8 j1 l+ f
  47.                                 else
    4 q1 T% W  Q& `. t
  48.                                 {
    2 u# C2 i) U  e2 U! ~
  49.                                         hiddenGroup.push_back(tempBlock);) `2 I3 l6 N; ?# D" d( r' }1 w9 l
  50.                                 }' |$ [' j3 J8 l; a# q1 j+ N: s7 G
  51.                         }: T6 L0 y% {4 K' r7 L# t* }4 A
  52.                 }
    3 \$ B0 ]8 B( f  z" F3 e
  53.         }5 S7 i7 N6 E. |8 n9 L$ m* V
  54.         if (!shownGroup.empty())+ W8 N8 N  g5 i" Q6 W
  55.         {& @; e* r! ~* _. G" J$ T1 M
  56.                 for (auto a : shownGroup)
    " i$ V* X/ K! _8 g! Q$ f
  57.                 {
    - e1 D7 `) _) B; x7 ^1 V
  58.                         a->SetShow(true);
    6 a4 }$ @$ G+ D/ P( V
  59. " Q( I# V8 i' |- P: w$ u
  60.                 }
    8 J! b: a' p" X
  61.         }
    ! N6 s' u$ {9 u" k8 d
  62.         if (!hiddenGroup.empty())! ~$ T" @% B6 ?0 R" D$ ~
  63.         {
    ! I5 O% l- s# f( `$ y- R% D, b3 _; M8 {
  64.                 for (auto a : hiddenGroup)1 K: d: p" \4 W! `! s
  65.                 {
    # w  g- }1 Q1 {7 u( [
  66.                         a->SetShow(false);( \, s2 ^7 p- Y# B( `4 m
  67.                 }
    8 l: O2 l  P" t0 _" T& X: H1 H# c; E
  68.         }' i( Y2 X3 {5 }* V; n$ y" h

  69. - E% q% n* f0 O, y- w# x3 L9 {: j
  70.     //实时更新显示
    9 i7 Z) w' V+ ]. x: y

  71. + w, v% I- C4 Q% N  Q
  72.     UI_UpdateDoubleRangeValue();
    / L9 e: N, L; N- i- l, k
  73. }
复制代码

. m9 W: t! e6 _6 P6 k( X
- \) ?8 a" B" Q" v+ Y; V0 F* s! l
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

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

本版积分规则

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