查看: 1535|回复: 0

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

[复制链接]

6

主题

4

回帖

60

积分

管理员

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

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

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

×
' S+ Z, `( ]2 V5 Z! i
( @- _/ y# W2 g2 d& G/ @0 j3 K
7 M& f0 l' g! h: K& S
一种自定义颜色条的方法,直接可以用,可以作为CAE后处理! }( i" l7 Q  i& q) p  \
; e- Q( j) c  O' h8 o6 _
QQ截图20230306115545.png 9 u& h  b6 |6 @) N  X4 M1 O7 k( a
6 o# N. f% o2 J: y

  1. + w" o% H" g& V$ p% p

  2.   [6 [; W! F! u

  3. % L# i6 }  _' W1 t; t7 V
  4. , M' c% i- t4 w8 R
  5. void UI_ColorRangeUDB::UI_ShowColorMapBlocks()
    . p3 u: b" A: `: o7 V
  6. {
    6 m" B0 Y# F- A: q# U( k
  7.         int colorNum = integerColorNum->Value();- B, j& l7 O' _& Y* `0 P: z5 {
  8.         vector<BlockStyler::UIBlock*> hiddenGroup;- }7 H4 u9 Q( c- M  A7 w
  9.         hiddenGroup.clear();( D4 W( R0 g& ^
  10.         vector<BlockStyler::UIBlock*> shownGroup;' r9 v& G/ b% S2 @3 u# X
  11.         shownGroup.clear();) |9 ^) k2 C* }
  12.         string groupPreStr = "groupColorRange";
    / S* e7 }8 m1 q$ [, G
  13.         string doubleUPreStr = "doubleU";
    , V) N" \. U5 i
  14.         string doubleLPreStr = "doubleL";
    , M# u% ?; J# l; t& k
  15.         //get all the groups with the name str //groupColorRange67 ]) M+ R' \, C9 d& |. d
  16.         vector<BlockStyler::UIBlock*> allBlocks = theUserDefinedUIBlock->TopBlock()->GetBlocks();  b4 ~% g- e0 @% @* D, x" \
  17.         //type: Group          name : groupColorRange: N# u/ L. P, V/ x: j# D
  18.         //type : Group          name : groupColorRange1, b/ _4 ?* J: o6 c! [
  19.         //type : Group          name : groupColorRange10
    ' B! N; S" I% N2 a* g- e
  20.         //type : Group          name : groupColorRange11
    ' a. ^( h: o2 \3 s7 X7 K4 D* e
  21.         //type : Group          name : groupColorRange12
    / l& T! G; L1 |
  22.         //type : Group          name : groupColorRange20 \& ~1 f- U6 x$ V- `
  23.         //type : Group          name : groupColorRange3* e" e# }* g8 V4 T9 k
  24.         //type : Group          name : groupColorRange4
    ) ?& |% m' n9 Z, f. z( ~! @
  25.         //type : Group          name : groupColorRange5( A. w' h2 s: l# \5 `3 m! [
  26.         //type : Group          name : groupColorRange6
    7 t/ u$ ~2 Z* M" ~6 a, u5 I
  27.         //type : Group          name : groupColorRange7# a2 Q# Z8 s/ U, `8 O( f/ r( s
  28.         //type : Group          name : groupColorRange8
    ! c" f5 I4 N% `. l
  29.         //type : Group          name : groupColorRange9. ]* [7 s6 B' j3 p

  30. 4 ]' }  A  Z  k4 h  M& q. U
  31.         for (int i = 0; i < allBlocks.size(); i++)
    5 A! K8 f+ o/ B0 X& ^
  32.         {
    ! o- \& [( N. E) E
  33.                 BlockStyler::UIBlock* tempBlock = allBlocks[i];, V1 Z  Q( {# |  D# s: u7 K
  34.                 if (isSameNXString("Group", tempBlock->Type().GetText()))
    $ u# j6 e8 L2 g  B5 E
  35.                 {- k1 C2 X' ?) Z* P: E+ S
  36.                         string blockNameStr = tempBlock->Name().GetLocaleText();2 c% m- m9 X" M# H9 [
  37.                         size_t findIndex = blockNameStr.find("groupColorRange");1 l; X% Y2 A: j! e  \. H6 E" |
  38.                         if (findIndex != string::npos)
    & A# b# \# t3 C' v( L$ [
  39.                         {
    $ a  [1 C* ^4 n/ t3 M% F
  40.                                 string subStr = blockNameStr.substr(groupPreStr.length());
    : K4 c+ `: m6 |1 R3 O
  41.                                 // Echo("%s", subStr.c_str());* G/ [+ ]) A' q% c
  42.          //Echo("%d -- %d", atoi(subStr.c_str()), colorNum);5 L: w, F( E  B: I* ~0 O3 Z) B
  43.                                 if (colorNum >= atoi(subStr.c_str()))! L% `0 |3 v: l) l
  44.                                 {" h' `6 q  V$ {0 C/ T/ U5 Y  Q
  45.                                         shownGroup.push_back(tempBlock);8 L7 Y3 [/ L: G! R
  46.                                 }3 X, F/ M, q, M! `0 _. }! ~5 t
  47.                                 else3 K7 N  J5 l: Z8 A6 M: e2 A; j/ V
  48.                                 {, n' P' v0 y3 o6 @( V
  49.                                         hiddenGroup.push_back(tempBlock);
    * b! e5 n+ i% p) |5 S
  50.                                 }
    6 |- b: F' N' Q1 H& H5 M
  51.                         }+ x1 @9 C: y' ^' X' `) T" i
  52.                 }
    . l/ \* I, m4 t3 A8 |
  53.         }
    % L6 }+ \$ Z. k9 }- y) J
  54.         if (!shownGroup.empty())! k1 [8 T) K' `& \, Z; a
  55.         {
    2 F6 z7 Y  c9 t
  56.                 for (auto a : shownGroup)
    ( K( O& ~2 a0 V& s
  57.                 {
    5 N: s- X0 O  F* }9 u$ r5 V
  58.                         a->SetShow(true);
    7 E4 o" }; F$ q) L( o7 R) b* R
  59. ; S. c5 I' y, s
  60.                 }! \& C7 ^" t( x( r! `( ^9 U
  61.         }
    6 F4 K7 ]- i" _1 f4 f! N
  62.         if (!hiddenGroup.empty())0 N! Y) W' G7 P
  63.         {
    8 H3 Z, H+ P1 b& N( g0 j7 G% o
  64.                 for (auto a : hiddenGroup)
    5 T# G6 [( ~  B( Y* Y! V0 \3 u' x
  65.                 {) y: p0 ~. V( J4 b, r2 T$ j
  66.                         a->SetShow(false);* {' B. E, X# e2 O' @' a. F
  67.                 }! Z( @/ G0 U8 g0 z0 a( {
  68.         }
    $ g: e" r) d2 J3 E0 V# w* M; j
  69. 1 e- x: p! _* d9 S& I9 \& R6 b6 m
  70.     //实时更新显示
      k9 k: |! ^8 j% V! Z8 {& {5 z
  71. 1 n% e% [0 B* O( O+ Z& V6 m; I
  72.     UI_UpdateDoubleRangeValue();
    # ~0 U2 I# G. B8 t2 T8 ]0 e
  73. }
复制代码

) _" u/ k% P* h% v# m
8 t0 P) i& R% X& q9 C; s1 K
: d6 H; n( @& V1 w" `- Y2 [
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

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

本版积分规则

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