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

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

[复制链接]

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

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

admin 楼主

2023-3-6 11:55:57

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

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

x

* U$ w) H7 c8 q' b1 v9 F! F6 n8 y, J& |: l

* U# F5 E7 e( i9 F* a4 D* ]3 z) ~一种自定义颜色条的方法,直接可以用,可以作为CAE后处理
: u- _% E, ^. @+ d2 A; O
$ \" `+ @3 ^" `8 J( V, v QQ截图20230306115545.png ! v$ f4 ?& R0 K

. \' z! m# S8 I% ]' g
  1. ) i& C0 @1 v1 I- O7 n
  2. - R; j" S0 Y2 t6 ?8 W0 g( ?, n

  3. ) H. d# ]4 D" u3 s: f0 u, h
  4. ( C: T. l5 A( M) [! U- t
  5. void UI_ColorRangeUDB::UI_ShowColorMapBlocks()/ l7 R7 [+ f0 O; H' C6 `' N0 c$ l
  6. {
    ( s1 O$ H* v8 K7 z
  7.         int colorNum = integerColorNum->Value();$ `% Q* r. ~4 X% @* K( D& R
  8.         vector<BlockStyler::UIBlock*> hiddenGroup;
    + x# m* x2 _& v6 c6 h
  9.         hiddenGroup.clear();
    + b; b$ z' K; v9 H
  10.         vector<BlockStyler::UIBlock*> shownGroup;
    7 S: L8 S' o$ Z  ?$ ?. R) n" Q
  11.         shownGroup.clear();
    - i1 j3 t6 Y' b% z. G9 |" o+ a  W
  12.         string groupPreStr = "groupColorRange";
    # P/ v9 _, e/ a" f
  13.         string doubleUPreStr = "doubleU";
    " y" p5 A' m' s' q
  14.         string doubleLPreStr = "doubleL";! f& p0 N( ]: w& m, M
  15.         //get all the groups with the name str //groupColorRange6
    3 j5 k* G! y, f9 {
  16.         vector<BlockStyler::UIBlock*> allBlocks = theUserDefinedUIBlock->TopBlock()->GetBlocks();6 W$ Q6 E& w1 @5 O
  17.         //type: Group          name : groupColorRange: ?3 l  o3 ~3 H) ~
  18.         //type : Group          name : groupColorRange1
    ( e+ u/ Z% o' h) ^
  19.         //type : Group          name : groupColorRange10$ o. R6 g; B5 B
  20.         //type : Group          name : groupColorRange113 c# ]* E. \/ r1 g$ P  ]1 T, F1 J
  21.         //type : Group          name : groupColorRange12( R% ^/ l9 x/ F6 s& T6 ~
  22.         //type : Group          name : groupColorRange2
    5 k* I0 C' R1 u& u
  23.         //type : Group          name : groupColorRange30 H4 j1 _( D. W& H
  24.         //type : Group          name : groupColorRange4
    / ~  t$ l$ B0 u  L* k' {
  25.         //type : Group          name : groupColorRange5/ Z" `. K1 J) j& K* |4 b0 j
  26.         //type : Group          name : groupColorRange6
    ! |$ x! ?  @2 Z  p+ F
  27.         //type : Group          name : groupColorRange7* n9 x0 w% Y* ^  E6 `
  28.         //type : Group          name : groupColorRange8; j0 M4 Y8 y/ e. `1 F6 J
  29.         //type : Group          name : groupColorRange99 f/ z: G  {! f; \- |
  30. / s/ r, _( r% ]( I$ c. v
  31.         for (int i = 0; i < allBlocks.size(); i++)0 [) B  H% q* f( I& b* |
  32.         {
    $ V- k1 }* A, G7 b" |  |4 [9 \" i
  33.                 BlockStyler::UIBlock* tempBlock = allBlocks[i];3 _! M) G- t$ S9 }
  34.                 if (isSameNXString("Group", tempBlock->Type().GetText())), d- h# w( U% M7 {9 h) t$ r4 C8 G
  35.                 {/ w+ [( s' r' Y# J
  36.                         string blockNameStr = tempBlock->Name().GetLocaleText();
    ' I9 {7 W& Z% M( E. I0 J' r' V
  37.                         size_t findIndex = blockNameStr.find("groupColorRange");* _0 F) \: n9 ]. ~& b# Y
  38.                         if (findIndex != string::npos)
    3 f+ z! m3 I, P8 s0 Y& V; s$ g
  39.                         {& W  ]5 T' h/ a- u4 Q6 J
  40.                                 string subStr = blockNameStr.substr(groupPreStr.length());1 a) u2 c' A5 g# B, c. g" ]
  41.                                 // Echo("%s", subStr.c_str());
    ) e# X0 m4 X- v" V
  42.          //Echo("%d -- %d", atoi(subStr.c_str()), colorNum);/ P  z. }1 i: @
  43.                                 if (colorNum >= atoi(subStr.c_str())). E. E' ^# \: w# d
  44.                                 {
    6 `% e2 T% C8 a0 ^, c5 P3 [
  45.                                         shownGroup.push_back(tempBlock);
    $ J5 K2 ?& k1 ~7 @
  46.                                 }- P. K0 k9 T4 H4 `5 I# r( X/ F
  47.                                 else  m; e$ h- v* j+ v5 V, V
  48.                                 {
    $ N; n% e/ Z8 H0 m5 l3 r4 Y
  49.                                         hiddenGroup.push_back(tempBlock);
    9 S& |! E  \3 H1 ~
  50.                                 }
      J: T' r+ \; F1 h9 z
  51.                         }, d  O) _4 S& h; C. V3 b0 v2 K  o
  52.                 }
    ; I5 {# P) ?7 Y/ j. H, N) Y
  53.         }! i. O  F) ~1 _# F; ?
  54.         if (!shownGroup.empty()). X; N# o0 N3 p
  55.         {
    & ?1 a9 x0 w( `+ P4 d
  56.                 for (auto a : shownGroup)
    : H* t7 W0 ]5 X) t
  57.                 {
    % S+ I7 k/ z/ j- l+ g
  58.                         a->SetShow(true);
    # d9 t* u( a8 i& Y  s, J% h
  59. # t" m* E) e4 ?- u% P1 {, K
  60.                 }% t1 |9 [8 ]1 k- c8 [/ M
  61.         }: O7 `8 R1 k: P( P2 f4 r% v; K
  62.         if (!hiddenGroup.empty())) Z/ M1 @  E6 _& B6 i* o$ t
  63.         {
    ' }; @  p  N8 `$ v* a
  64.                 for (auto a : hiddenGroup)' R5 U7 L  h- k) n2 w$ o
  65.                 {- V. W: Q  I8 Y! P3 {# _8 o+ D; M, M
  66.                         a->SetShow(false);6 G" k: W3 F5 \) b+ `
  67.                 }- U: i0 m* A) Y" c
  68.         }/ @8 i/ F1 E. I/ h

  69. 3 x* r5 z( ~% k2 q4 y
  70.     //实时更新显示7 V" }0 X7 I; t, p9 f

  71. ) r8 U! ]4 y( S7 m# z  `
  72.     UI_UpdateDoubleRangeValue();
    , E* u. H$ y7 a3 r# Y3 }* H1 r
  73. }
复制代码

: v( @1 Q( C9 i% x! D' m( N
) w- b, v; b9 |3 k( L1 C( i1 A# O3 C6 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二次开发专题模块培训报名开始啦

    我知道了