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

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x

6 ^2 S3 L. v/ n
% P6 ^. \. s4 w1 w0 U% @3 a0 W- D, H0 q  {! {+ m% R2 M; O7 h
一种自定义颜色条的方法,直接可以用,可以作为CAE后处理
( o6 J7 W+ n3 C+ S. T& X' b+ k2 f$ k! P9 z
QQ截图20230306115545.png
. B- V9 L; O  v; y+ z! s; X
, c+ {6 h% d4 t' {

  1. ; _. ^; O3 ^3 I* \- }: h' E

  2. 1 S( @- {/ l4 c' Y7 F: g

  3. * S1 ?0 e1 r* A- k. z/ O

  4. " ^7 j2 y0 U6 l" k1 G/ \
  5. void UI_ColorRangeUDB::UI_ShowColorMapBlocks()/ D& k8 W( L8 s( A% F
  6. {$ c/ v/ T2 x0 m
  7.         int colorNum = integerColorNum->Value();4 R0 Q. W' p7 R# c; S1 J0 |
  8.         vector<BlockStyler::UIBlock*> hiddenGroup;
    9 d/ W) L4 Z: w' f. W) E
  9.         hiddenGroup.clear();5 f- I+ ~' f% J. e$ E4 ~
  10.         vector<BlockStyler::UIBlock*> shownGroup;/ U$ x$ _! @9 e# H2 k, H
  11.         shownGroup.clear();: x+ U% a- |* n4 a" m
  12.         string groupPreStr = "groupColorRange";+ S# _  r" U/ z* x* T8 @4 r, C
  13.         string doubleUPreStr = "doubleU";& g; K% w1 i, x+ Z0 V' z- v
  14.         string doubleLPreStr = "doubleL";) y0 y- J* K) t0 T
  15.         //get all the groups with the name str //groupColorRange6; @9 I7 m: I2 {
  16.         vector<BlockStyler::UIBlock*> allBlocks = theUserDefinedUIBlock->TopBlock()->GetBlocks();
    ! ?5 ^, I) b' B2 x' L3 _) B4 P
  17.         //type: Group          name : groupColorRange
    ( J7 N- r, v" I7 N. _7 x& X0 v4 i
  18.         //type : Group          name : groupColorRange1
      _3 ~) D: z1 d0 b
  19.         //type : Group          name : groupColorRange10
    3 e( @- x9 f8 i$ f
  20.         //type : Group          name : groupColorRange11
    " M5 S7 M* c/ ^0 B- a' i, `/ i
  21.         //type : Group          name : groupColorRange12
    " P2 r: u" u. F' x: S/ ]! O& {
  22.         //type : Group          name : groupColorRange2
    ! n1 C7 ~. x0 U, I) b, z7 q
  23.         //type : Group          name : groupColorRange3
    - h7 Z: k- U- [4 Y; J" u* `
  24.         //type : Group          name : groupColorRange47 t4 [0 I$ U# R! e" u/ F7 A
  25.         //type : Group          name : groupColorRange5
    4 L! l# v; O. ?8 s+ n' C
  26.         //type : Group          name : groupColorRange6/ r. v; g3 R: g  H1 |
  27.         //type : Group          name : groupColorRange7
    0 J5 V; g" B) E8 j* `" f! H
  28.         //type : Group          name : groupColorRange8; w' p4 H3 M& v" Q
  29.         //type : Group          name : groupColorRange9; j- y% q1 Z  E/ P2 I

  30. 5 G8 R5 d1 X: Z9 p
  31.         for (int i = 0; i < allBlocks.size(); i++)
    1 Z& C7 w* \0 G" K
  32.         {, s$ g/ ]7 s! l1 p. A; T+ H* `
  33.                 BlockStyler::UIBlock* tempBlock = allBlocks[i];
    % w: J( p, R; c; M; i: W
  34.                 if (isSameNXString("Group", tempBlock->Type().GetText())), E" B2 s# A& V
  35.                 {! X- e3 |/ A0 b' x
  36.                         string blockNameStr = tempBlock->Name().GetLocaleText();# S( h1 c- W/ \& v% K/ v5 K
  37.                         size_t findIndex = blockNameStr.find("groupColorRange");
    3 V  [* B5 K! o  l/ W
  38.                         if (findIndex != string::npos)5 s0 E1 w) b1 }
  39.                         {8 ?& C3 U5 e" A3 b. S8 N" h1 E
  40.                                 string subStr = blockNameStr.substr(groupPreStr.length());
    0 i2 ^: X) q; ~; E  T
  41.                                 // Echo("%s", subStr.c_str());
    # e" R% \5 J9 i6 @, d# g' h( ?
  42.          //Echo("%d -- %d", atoi(subStr.c_str()), colorNum);+ C# |& {1 a. P3 R" {; L- v9 [
  43.                                 if (colorNum >= atoi(subStr.c_str()))
    3 H7 S3 }1 p8 |6 U2 \8 Z  Y% H
  44.                                 {
    ! C9 t. G/ Z4 J+ ]6 `+ a3 s
  45.                                         shownGroup.push_back(tempBlock);
    + V5 n0 F( {* y" b2 A
  46.                                 }- y, h- v: X/ r2 ?+ G
  47.                                 else7 l: H& U3 G' K1 \8 {4 ^2 P
  48.                                 {- a& \7 f- w+ B9 X1 m4 l( n& S
  49.                                         hiddenGroup.push_back(tempBlock);
    0 r& C3 S. ]8 y, ~# ?' Y7 O' }$ g
  50.                                 }
    & W. B, `; P' y' x, L
  51.                         }
    4 r: Y4 K3 B% }. F
  52.                 }* L0 }4 e! J; g. u! a
  53.         }
    * T: @) V; e2 M+ }* Q& x
  54.         if (!shownGroup.empty())
    & I% N& O$ R8 F0 f5 J3 P( J8 D
  55.         {
    + q: {0 K: L) ]
  56.                 for (auto a : shownGroup)- w1 b  S6 U: \: J! T- d5 B
  57.                 {
      `& K+ h7 k/ H
  58.                         a->SetShow(true);5 ^/ M( L8 ?3 i# Y
  59. 8 @/ y0 F. L# D" b
  60.                 }+ v# ^6 F; ~; o7 F3 h* M
  61.         }
    ' T2 C( c) Y( Z. N5 h
  62.         if (!hiddenGroup.empty())
    ' S* f/ p- L) T$ v' l$ c0 j
  63.         {
    ' V- ]7 ]4 F1 Z4 m/ o4 N5 o" j0 C$ k
  64.                 for (auto a : hiddenGroup)5 |% ^. a$ ~; h% r. h/ d
  65.                 {
    ) t! ]! O4 f' m8 ~, M) s
  66.                         a->SetShow(false);
    + D! `4 A% [. l" A
  67.                 }
    . p) |- a, j; h$ F  q
  68.         }8 z2 f" r9 L) \( j3 U2 f

  69. ( W/ K! U; o3 x  [* x9 ]
  70.     //实时更新显示
    & D- G" m+ t- ~
  71. " V" r0 d% Y0 b7 u+ X* L7 l, ?
  72.     UI_UpdateDoubleRangeValue();
    $ I) {3 j8 u6 C  f4 X
  73. }
复制代码

- _, T/ b- D  p  L9 X8 m5 ^
) A( ^; d! @, q! @/ G: r
- c& M8 I4 ]  j1 B0 v" C2 I$ `- B
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了