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

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

[复制链接]

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

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

admin 楼主

2023-3-6 11:55:57

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

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

x
- W  C0 k$ J1 |) `

, A2 C$ U# L5 Y/ ?5 h/ s% a
$ V* }! t+ K, O7 `5 n* d1 M0 @一种自定义颜色条的方法,直接可以用,可以作为CAE后处理
: V9 v5 p1 `: k* R
7 B2 u0 X# v9 m4 r  D QQ截图20230306115545.png $ M/ R3 s3 a% ]& D
! C* G5 x' ~8 {
  1. ) [+ z  f, W4 z; ^( l: s0 A. Y

  2. ; a9 g3 w- `3 |

  3. 2 f( Y/ Q* q( J8 G  e6 S" Y
  4. 3 w* U6 m! A& l, @  x# W& Q: o1 X! d
  5. void UI_ColorRangeUDB::UI_ShowColorMapBlocks()+ B8 ?0 ^- @1 \; l
  6. {
    ! L% H( h, B* E+ ]/ u. H
  7.         int colorNum = integerColorNum->Value();" O8 e+ k" ~+ h. {- E" E
  8.         vector<BlockStyler::UIBlock*> hiddenGroup;
      |: A4 e% e4 u* }; r% l
  9.         hiddenGroup.clear();; @; p5 x5 C# F5 r" M; X" i
  10.         vector<BlockStyler::UIBlock*> shownGroup;3 L% a1 f: e# Y. ^( ]
  11.         shownGroup.clear();
    ( k% D" V1 g: l9 Z$ X4 c
  12.         string groupPreStr = "groupColorRange";
    + Y% F" S9 n) r( d
  13.         string doubleUPreStr = "doubleU";- x  N" U7 m* t2 _3 @  @- y
  14.         string doubleLPreStr = "doubleL";0 r' H+ h7 [' R# v. r! T
  15.         //get all the groups with the name str //groupColorRange6% Q& s& L9 f5 R, ^5 D/ j
  16.         vector<BlockStyler::UIBlock*> allBlocks = theUserDefinedUIBlock->TopBlock()->GetBlocks();: b/ |& d4 {+ {9 a/ L" V
  17.         //type: Group          name : groupColorRange
    " e0 a+ T" G! ?  x7 @/ F3 \
  18.         //type : Group          name : groupColorRange1
    # _% L5 ?# i3 w# c+ R! r
  19.         //type : Group          name : groupColorRange10
    ! A8 C8 x. O8 N; ^' |) s. t$ q( k7 g
  20.         //type : Group          name : groupColorRange11
    * v5 B$ s9 {' y; L+ z( l/ s
  21.         //type : Group          name : groupColorRange12/ I8 y" d- x8 _2 A3 ^% Y
  22.         //type : Group          name : groupColorRange2( _: B5 X8 |/ T6 u
  23.         //type : Group          name : groupColorRange3
    2 k# P& L3 ^6 v
  24.         //type : Group          name : groupColorRange4  v: X! R9 f: z' m' p3 @6 f. {
  25.         //type : Group          name : groupColorRange5
    4 I8 C. l/ l, v1 \/ |) S4 t  I
  26.         //type : Group          name : groupColorRange69 \& C' X2 i3 P5 K+ O
  27.         //type : Group          name : groupColorRange7
    6 @. v3 Y1 p6 G5 {# k, Y
  28.         //type : Group          name : groupColorRange8, K* J# }4 b. @
  29.         //type : Group          name : groupColorRange9& V$ d7 R0 t2 [
  30. % P8 N8 Q2 R1 p* @9 q  P% w4 T
  31.         for (int i = 0; i < allBlocks.size(); i++)/ V6 K6 G, X, P  X4 d( y
  32.         {1 n. ^2 _$ ^( o
  33.                 BlockStyler::UIBlock* tempBlock = allBlocks[i];, R+ H3 }/ J1 w3 W; T
  34.                 if (isSameNXString("Group", tempBlock->Type().GetText())). ?8 |; o/ A1 @' Y4 W6 O. t) ~
  35.                 {
      p7 E4 f7 c, ]4 a% Z2 y& y
  36.                         string blockNameStr = tempBlock->Name().GetLocaleText();' V8 |! t2 }; m/ J: h# q/ @
  37.                         size_t findIndex = blockNameStr.find("groupColorRange");
    ' C$ \  q: x$ e
  38.                         if (findIndex != string::npos)" g5 K% t, U9 T. {7 h
  39.                         {
    ( K9 W  k% M# {1 o! x
  40.                                 string subStr = blockNameStr.substr(groupPreStr.length());
    . W$ Z4 X! V+ Z/ Y& i
  41.                                 // Echo("%s", subStr.c_str());
    / U' f6 n5 Y- a4 S4 ~" z, A) W# d
  42.          //Echo("%d -- %d", atoi(subStr.c_str()), colorNum);
    8 i8 Q* ]9 j( b0 }3 l! P
  43.                                 if (colorNum >= atoi(subStr.c_str()))2 E: }! L5 i2 a5 d0 n) J- I% F
  44.                                 {  G" e& A: f7 b) [
  45.                                         shownGroup.push_back(tempBlock);
    ' I( N; R7 C" P" K3 H" N: U4 h& x
  46.                                 }: R$ l9 N- R& \0 T0 f+ r# C8 U
  47.                                 else
    6 h" h+ @# g+ ?+ s8 h1 M* `1 ^
  48.                                 {" B+ C  R2 ^) t" b  y7 n( @( T4 F& w
  49.                                         hiddenGroup.push_back(tempBlock);
    ) V0 b- \+ {9 l, A  }
  50.                                 }9 k" G  T1 ^% R1 I- C- i$ z. k
  51.                         }
    6 E$ U" f0 J' O4 z* _/ A7 C5 r
  52.                 }
    ! E# [# Z( Z4 S  ~. p/ w
  53.         }& w+ Q" x: ?  I, [5 ?& m, C: K
  54.         if (!shownGroup.empty())
    6 r/ e6 V% X9 ^0 \
  55.         {
    6 K9 F0 I3 J6 u5 l; s9 {
  56.                 for (auto a : shownGroup)& X( V7 f* W8 h
  57.                 {
    9 p* Y7 q; g" K, \- |+ S) k7 Z) b
  58.                         a->SetShow(true);& z1 |- n: r; m0 L6 l# ~0 ~" ^3 N
  59. . ]$ J/ }+ V% a  ^" A: g& Z8 Y' N
  60.                 }; C% K( f7 s3 g" s
  61.         }3 f5 s- ^/ e. o! T
  62.         if (!hiddenGroup.empty())1 _- y8 i0 {+ u$ v, b
  63.         {
      ^# }4 A$ F1 N/ ?2 e
  64.                 for (auto a : hiddenGroup)
    + M6 D( g1 |3 h) P% ?8 c
  65.                 {
    ! ~5 M" M- ?% L/ d2 T$ c* Y) a
  66.                         a->SetShow(false);. e4 j9 ~! p- ~
  67.                 }
    - @. ?1 `3 W( X8 n' V4 n/ r6 p
  68.         }7 Q$ L! ~" l: g' [3 f: G1 \$ w
  69. ! E3 p7 ^" }  H, E3 j- m
  70.     //实时更新显示
    5 T9 C7 G; [3 \/ ~

  71. 9 y6 ^% ?, |  {4 s* ]2 p! K
  72.     UI_UpdateDoubleRangeValue();
    0 R, N3 W/ G9 s9 z
  73. }
复制代码

& t, c. b" p: N3 E4 z2 i5 H; t2 ?; O6 {/ W
: K3 j* E% \" U2 v
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了