PLM之家PLMHome-工业软件与AI结合践行者

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

[复制链接]

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

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

admin 楼主

2023-3-6 11:55:57

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

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

x
0 r& j* x- E0 v, }" H1 g$ v

7 h: Y+ ?% |, _2 D; Q# W) ?) \& v) N6 `5 D6 x
一种自定义颜色条的方法,直接可以用,可以作为CAE后处理; c$ Q( E" [0 }7 p7 N0 N
+ P$ u. T4 |* O* p3 K; q
QQ截图20230306115545.png 7 p! i. @0 s9 Q8 q/ r, s* a

* |1 a# ]; ?* n

  1. ' Y3 D( Y; s/ f" b
  2. , _- s" A0 E0 f. m# K& u( N+ }
  3. 1 a- `- i3 g# E& s9 X/ R& K
  4. 7 q* ~( B- {7 l" L
  5. void UI_ColorRangeUDB::UI_ShowColorMapBlocks()7 o. n! y) j( j) T1 s4 ]& ]
  6. {. ~) G$ O+ N$ k) E& C# j) B
  7.         int colorNum = integerColorNum->Value();
    + p" C5 e% A8 L$ W
  8.         vector<BlockStyler::UIBlock*> hiddenGroup;
    3 a; E* \: v, n! a0 h% g
  9.         hiddenGroup.clear();
    ( \9 U# T0 v2 J0 ?# M! B6 n
  10.         vector<BlockStyler::UIBlock*> shownGroup;0 {1 T0 Q( K9 P$ r2 K
  11.         shownGroup.clear();
    6 l% j- p. ?: ]  q
  12.         string groupPreStr = "groupColorRange";
    - |- O9 E4 |1 i1 }8 e0 h
  13.         string doubleUPreStr = "doubleU";
    $ P8 b& W7 ?7 O* L6 m' v  a
  14.         string doubleLPreStr = "doubleL";
    1 }9 J" G3 c: z& d9 r
  15.         //get all the groups with the name str //groupColorRange6
    3 [9 B% v! H( s- o5 k
  16.         vector<BlockStyler::UIBlock*> allBlocks = theUserDefinedUIBlock->TopBlock()->GetBlocks();/ U3 n0 p/ E+ j. S8 R
  17.         //type: Group          name : groupColorRange! B( n: f1 X% r2 C1 O. e
  18.         //type : Group          name : groupColorRange1
    8 j2 V4 V, w( n4 d; N* `) m
  19.         //type : Group          name : groupColorRange10( }9 w. r) b3 |
  20.         //type : Group          name : groupColorRange11
    . B& _, U6 x  N* Z) F+ h
  21.         //type : Group          name : groupColorRange12# e0 B# Z8 b% Y( T
  22.         //type : Group          name : groupColorRange2  T7 f1 X, \! |; c' D0 u' P
  23.         //type : Group          name : groupColorRange3; U7 K2 Q8 K# @! {" ?4 X
  24.         //type : Group          name : groupColorRange4' i2 G9 f7 u1 O9 l
  25.         //type : Group          name : groupColorRange5
    6 I+ `: ]; y7 a' {
  26.         //type : Group          name : groupColorRange6- p0 O% c5 ~( O0 J. @* [
  27.         //type : Group          name : groupColorRange7# }  L. ^: D& o( a) U# p1 ]- _
  28.         //type : Group          name : groupColorRange88 j7 [1 J1 }- W. T6 [
  29.         //type : Group          name : groupColorRange9$ t* P4 c( l4 `
  30. 1 i6 z: ~2 ]/ Y9 ~# T9 J
  31.         for (int i = 0; i < allBlocks.size(); i++); {5 f4 r; f0 s3 }
  32.         {  U* [, B" J5 G( G
  33.                 BlockStyler::UIBlock* tempBlock = allBlocks[i];
    8 K: @; ^+ v# t2 E
  34.                 if (isSameNXString("Group", tempBlock->Type().GetText()))
    6 ^6 [5 ^& g4 Y$ Q) S" b5 q
  35.                 {7 [- R: u  h  {- ~
  36.                         string blockNameStr = tempBlock->Name().GetLocaleText();
    % ]: g# }% H9 g% w
  37.                         size_t findIndex = blockNameStr.find("groupColorRange");
    5 R9 j+ G& d" _. @. r# i+ v5 X# e
  38.                         if (findIndex != string::npos)1 x# C7 L9 t; o! O( l! d: a
  39.                         {1 ]  {& c5 p7 p4 g3 }
  40.                                 string subStr = blockNameStr.substr(groupPreStr.length());# x- x0 o& I& F7 e8 x- T% H. I
  41.                                 // Echo("%s", subStr.c_str());
    5 u! i$ |- O$ S5 l/ e
  42.          //Echo("%d -- %d", atoi(subStr.c_str()), colorNum);2 t3 v. y8 F* I! Q0 Q& q& R
  43.                                 if (colorNum >= atoi(subStr.c_str()))
    * M$ Z' @  K, n: O* r8 \2 P6 f! u4 t
  44.                                 {
    + G0 ]" j; e) A+ n9 z7 G
  45.                                         shownGroup.push_back(tempBlock);1 V5 p+ U$ U% E( R4 f3 D! G. ]. A2 W
  46.                                 }5 v' l- z' F$ b7 {/ T5 z5 i
  47.                                 else0 ]( I8 X7 g0 J
  48.                                 {
    * J" l- k. W. c  y
  49.                                         hiddenGroup.push_back(tempBlock);! I% c1 a$ m. |& L5 A+ j
  50.                                 }2 f# [7 |7 i+ u9 y& p: x
  51.                         }. a% |- |9 p7 ?/ L; o$ i  y# ^
  52.                 }$ x& t! @" g8 a5 w3 l1 K
  53.         }$ \& _: V* e4 g
  54.         if (!shownGroup.empty())
    " Z+ Q  F4 W5 A5 x4 B% z( [
  55.         {
    4 |! r  I. V5 T9 O& a* S% k
  56.                 for (auto a : shownGroup)
    + n* D2 s1 V; z3 A) m
  57.                 {
    . ~$ c- _% Z  e2 M7 D5 K
  58.                         a->SetShow(true);
    ) h; l. t# N, F6 |
  59. ! F0 r) E. {- D
  60.                 }
    % U0 K  u  F; m$ C- [0 X* R
  61.         }
    $ ^1 D2 E2 b: g: H% `
  62.         if (!hiddenGroup.empty())0 \, P& }" k6 {0 _) y. }$ ~
  63.         {
    / H7 M6 `0 g$ i2 q
  64.                 for (auto a : hiddenGroup)
      B" A' j* P0 ~4 M  B
  65.                 {
    6 h  E8 l* U" M' T  p1 {1 H4 T
  66.                         a->SetShow(false);
    : b) a6 z( r" {% z/ \
  67.                 }
    - F( D+ o# y6 X2 H* V. b: d
  68.         }
    ! V2 F7 l# A; K  {6 e$ `
  69.   ~2 C$ w0 U( [: J+ d
  70.     //实时更新显示
    3 i8 y1 Y1 [  ^/ L% b' ]) n$ H

  71. 6 ^, Z8 g7 M. y4 @5 B& P7 g4 f
  72.     UI_UpdateDoubleRangeValue();
    ) P1 A/ R9 H1 [5 @+ t! \
  73. }
复制代码
% C6 o9 l& {1 _* l
! ]1 D" ?' w  L) K2 i$ U
+ d1 r( u0 B7 G9 U
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了