PLM之家PLMHome-工业软件践行者

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

[复制链接]

2023-3-6 11:55:57 1050 0

admin 发表于 2023-3-6 11:55:57 |阅读模式

admin 楼主

2023-3-6 11:55:57

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

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

x
: M; a  o% d. g  S/ P  v" W0 _
  p0 M6 m3 C; `- v. e1 j4 f
: U9 n. i1 \/ Z) I( d9 f
一种自定义颜色条的方法,直接可以用,可以作为CAE后处理
. J( b. [  v2 H
- n) j8 N! X% o# L8 h QQ截图20230306115545.png / ^! _/ c) W5 C1 _9 ~4 G* }
1 w5 d4 d' H9 B
  1. ' k0 ]% R- y6 h5 {
  2. % b1 i7 A& L2 N" B
  3. 5 K3 B# e7 j" v- O

  4. 1 _4 B: q7 d1 V5 x+ p; U' B
  5. void UI_ColorRangeUDB::UI_ShowColorMapBlocks()% t) n/ }- ]! z7 K
  6. {
    5 a+ D2 F% C0 B6 u9 r  m
  7.         int colorNum = integerColorNum->Value();
    9 e: a" _) v' M! n2 R
  8.         vector<BlockStyler::UIBlock*> hiddenGroup;
    ( q! k; [3 n( w5 ]& x6 l
  9.         hiddenGroup.clear();
    9 u# }! O# ~+ v. z: s
  10.         vector<BlockStyler::UIBlock*> shownGroup;
    % t4 H5 p9 w4 {5 {6 P2 k
  11.         shownGroup.clear();6 r( [& I9 @1 S
  12.         string groupPreStr = "groupColorRange";
    : ]6 w% u9 n9 `& V
  13.         string doubleUPreStr = "doubleU";
    / p3 v' k% P  R/ l( W
  14.         string doubleLPreStr = "doubleL";8 I  T5 U+ j9 Y& J
  15.         //get all the groups with the name str //groupColorRange6
    - _' u" T! B" ~+ ^6 |2 h) ]
  16.         vector<BlockStyler::UIBlock*> allBlocks = theUserDefinedUIBlock->TopBlock()->GetBlocks();5 e0 i% g- v6 F& J; t
  17.         //type: Group          name : groupColorRange
    2 O7 {0 l% O1 n% |3 A  m
  18.         //type : Group          name : groupColorRange1
    6 E2 v0 O/ |0 x0 a( w
  19.         //type : Group          name : groupColorRange10; f) K% f8 L7 O; x9 U
  20.         //type : Group          name : groupColorRange112 `9 K7 D8 C* f# z
  21.         //type : Group          name : groupColorRange12) U5 y# ^7 g* ~1 h3 b$ O
  22.         //type : Group          name : groupColorRange2: B( S- P6 t& i8 O/ y. G
  23.         //type : Group          name : groupColorRange3
    ; d9 l; ~, g9 ]" x# D. t
  24.         //type : Group          name : groupColorRange4
    2 H! z% Y) D, W$ g0 K% {$ L7 [/ G
  25.         //type : Group          name : groupColorRange59 T1 f. r4 L1 j6 B
  26.         //type : Group          name : groupColorRange6
    3 `- ~' P$ {8 {4 J% ]  P) W
  27.         //type : Group          name : groupColorRange7' A) h3 e: ?$ M) T5 ^
  28.         //type : Group          name : groupColorRange8
    5 g0 [, k9 t/ v
  29.         //type : Group          name : groupColorRange98 {7 z( @8 ~+ A3 V7 h- i

  30. 5 T( r& r; d3 l  z. y$ O' y) T
  31.         for (int i = 0; i < allBlocks.size(); i++)) @2 q7 M/ q3 |: |5 C
  32.         {6 V0 ^2 d9 r- ~9 s2 E7 l3 \) j( W
  33.                 BlockStyler::UIBlock* tempBlock = allBlocks[i];
    7 `  i1 Q5 h* J3 T% V
  34.                 if (isSameNXString("Group", tempBlock->Type().GetText()))& }! V5 x4 Q+ S' B8 U6 Z
  35.                 {
    " P$ k! W- x- f3 `+ h, ]) i/ C5 E' i
  36.                         string blockNameStr = tempBlock->Name().GetLocaleText();
    0 \: W6 k4 R* b+ ?! _& H9 B
  37.                         size_t findIndex = blockNameStr.find("groupColorRange");( W5 _5 Y* L- F  _+ U
  38.                         if (findIndex != string::npos)0 c+ a4 e' d2 r* ~& @' ]
  39.                         {% j. T8 S2 |" K9 Y# v/ j5 c0 n
  40.                                 string subStr = blockNameStr.substr(groupPreStr.length());
    . D' L4 P( S) e: I9 B0 N
  41.                                 // Echo("%s", subStr.c_str());6 m+ D7 E  J& a8 _3 G3 ?
  42.          //Echo("%d -- %d", atoi(subStr.c_str()), colorNum);
    . H. |. @: ^' D5 [! D
  43.                                 if (colorNum >= atoi(subStr.c_str()))
    ; N+ [5 R' o& Q  s: o" ~
  44.                                 {
    $ M) L4 e/ _5 j- a$ g' \& r
  45.                                         shownGroup.push_back(tempBlock);
    7 |' T* }+ ]# h$ a
  46.                                 }
    ) X3 F  {& R7 e0 G, o
  47.                                 else4 I' g; s  {9 Y) k' V
  48.                                 {  q/ {2 L; o8 n) @
  49.                                         hiddenGroup.push_back(tempBlock);5 B4 y' T: t& o$ w5 {( [
  50.                                 }: t1 a6 H1 s. I
  51.                         }7 ]4 V" v' {9 a
  52.                 }" O$ l2 s# \/ d' {( S5 i5 m2 o
  53.         }
    % Y+ K( {! l3 l7 ^
  54.         if (!shownGroup.empty())
    " P6 Q8 @- c" v+ s: ?$ Z& x
  55.         {. r; {- G0 ^+ O# x" Q1 p) P
  56.                 for (auto a : shownGroup)
    " M4 i8 p1 f5 R9 |/ E- ~( L
  57.                 {
    # T$ v5 E: f) D# }8 L
  58.                         a->SetShow(true);& u& P; Q: |& W4 m
  59. 2 ?, J# B7 l1 h3 J1 O# @3 D- o
  60.                 }
    # H3 V6 C7 d# v; }3 `
  61.         }( R9 E, Y5 K" ]7 q  ~5 w8 F
  62.         if (!hiddenGroup.empty())0 A9 S% z) {9 ~! h& D9 ~
  63.         {
    , _  f& d, _6 q* l
  64.                 for (auto a : hiddenGroup); E( q. N7 A- V
  65.                 {
    # q8 U9 U) s$ o0 n5 l& k1 ~* n0 ]
  66.                         a->SetShow(false);: m# ~* }; g, w
  67.                 }8 v7 k+ x# ?* V' g( z2 n
  68.         }
    7 x  b: b% Y1 e1 g
  69. % i  Y% `% X+ }5 E) A1 u
  70.     //实时更新显示  c" n9 i% Y3 n; Y/ T8 \
  71. - I2 i: K7 F1 j' e6 S
  72.     UI_UpdateDoubleRangeValue();
    - ~4 N/ f5 l5 G
  73. }
复制代码

' w  X2 j: ]8 T  F& p
) m, R  w4 w- e2 ?4 @$ X6 O7 g7 a; F7 u8 N3 D  t+ t
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了