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

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x

3 t4 M' c6 y- h1 l5 Q2 U. g% `4 q* n( K  E
9 y! a9 c/ J9 K+ A. `" m
一种自定义颜色条的方法,直接可以用,可以作为CAE后处理
( ?0 W# b$ R, S" d% k
% C8 U1 p" ~4 I, v( G QQ截图20230306115545.png 5 A0 A# W$ _3 ?( [  i' k

& W. e# ^2 {3 j) o
  1. ) x) w* L' h  l/ e& o/ _1 q: N: _( C
  2. : |! h# u' f) T& g8 U; T6 |3 _8 M

  3. 8 E* g! }$ U9 S9 b+ N
  4. 2 ^7 A3 ]& l/ L. D1 l
  5. void UI_ColorRangeUDB::UI_ShowColorMapBlocks()# B6 b8 R$ j& V5 n
  6. {: r" E* F' U0 o) m. E, m
  7.         int colorNum = integerColorNum->Value();
    1 w1 u0 `4 Y* q
  8.         vector<BlockStyler::UIBlock*> hiddenGroup;
    6 o$ D! Z3 q% @0 k! y' ~# v$ ?9 H
  9.         hiddenGroup.clear();/ O# c  A6 i) X* V8 P
  10.         vector<BlockStyler::UIBlock*> shownGroup;9 Y' \' u7 ]% S! C
  11.         shownGroup.clear();$ G- i: x8 Q" j, C) D6 I
  12.         string groupPreStr = "groupColorRange";$ Y/ ^! O( F% s, a6 i
  13.         string doubleUPreStr = "doubleU";
    ( j+ o. u: Y; x2 S  O$ q1 Q
  14.         string doubleLPreStr = "doubleL";' M% u+ p7 s5 J. f; R3 K
  15.         //get all the groups with the name str //groupColorRange60 y; e# \( i& B- a8 S0 o" l
  16.         vector<BlockStyler::UIBlock*> allBlocks = theUserDefinedUIBlock->TopBlock()->GetBlocks();
    0 e3 J1 \  m% C. }# c; c
  17.         //type: Group          name : groupColorRange+ R4 i$ ^$ V0 a; v, B! F
  18.         //type : Group          name : groupColorRange1
    # x( ~# Z" C' {' e# V
  19.         //type : Group          name : groupColorRange107 q: n* d0 w% ~/ @3 B5 J' B
  20.         //type : Group          name : groupColorRange11
    $ r4 Y* @! Z+ k# v) X, u$ l' V3 U
  21.         //type : Group          name : groupColorRange12' s& R: O6 u4 d& q+ z; R
  22.         //type : Group          name : groupColorRange2( \# C2 j5 ]! k
  23.         //type : Group          name : groupColorRange3; R. J: V5 R1 D4 A; \' `
  24.         //type : Group          name : groupColorRange4' s9 Y: a. G: A. Z( t; K5 V
  25.         //type : Group          name : groupColorRange5
    & D' I: x3 r; G0 G4 D
  26.         //type : Group          name : groupColorRange6
    ! a) _/ L5 w4 \, [' ~, [
  27.         //type : Group          name : groupColorRange7# v$ H5 [  d) c/ h% A
  28.         //type : Group          name : groupColorRange8
    ! w; Z; g1 t. s+ V) |4 y
  29.         //type : Group          name : groupColorRange93 g' {7 Y3 G; H' y

  30. ! a8 ]& o  m8 u
  31.         for (int i = 0; i < allBlocks.size(); i++)9 b: j. @. X; _# ]
  32.         {% w9 {9 {. V5 ^, |. ?
  33.                 BlockStyler::UIBlock* tempBlock = allBlocks[i];
    + e+ j% q, Q- l5 x* J" U5 v
  34.                 if (isSameNXString("Group", tempBlock->Type().GetText()))
    % Q+ N; z& `0 h- Y5 N
  35.                 {
    ' y3 a# k' T- q0 E
  36.                         string blockNameStr = tempBlock->Name().GetLocaleText();2 i2 T! R0 ~, t3 @
  37.                         size_t findIndex = blockNameStr.find("groupColorRange");1 y/ G0 j9 s7 q; z% h6 ^
  38.                         if (findIndex != string::npos); c. h' h. R  {; H  F9 M
  39.                         {# ]! T1 s# c- K( {4 \
  40.                                 string subStr = blockNameStr.substr(groupPreStr.length());
    5 k0 o5 e6 ?( X! d. _0 A
  41.                                 // Echo("%s", subStr.c_str());) R/ ]- Q  t! _3 Q
  42.          //Echo("%d -- %d", atoi(subStr.c_str()), colorNum);3 C) r+ T$ n/ ^9 ]5 F8 X
  43.                                 if (colorNum >= atoi(subStr.c_str()))  c* f  c( ?) m5 c3 F' y9 _, Q
  44.                                 {! S' A) s3 P1 s
  45.                                         shownGroup.push_back(tempBlock);+ x) z! {- A5 M7 L
  46.                                 }' F4 w4 d; W) p5 Y  N
  47.                                 else+ G" ]2 z- E3 Z9 I& s7 W
  48.                                 {
    ) M. Z0 Q" d. N/ }
  49.                                         hiddenGroup.push_back(tempBlock);
    2 q& z0 |, a2 g
  50.                                 }
      m1 D5 m3 O* z" P% |) M' D6 _
  51.                         }
    3 c' {8 U* U0 a  c1 u
  52.                 }7 z+ O& E6 W7 U" F
  53.         }' H4 ~9 A+ Q4 C
  54.         if (!shownGroup.empty())
    5 L8 I# ~% Z, {5 r$ g! {
  55.         {5 u, G7 G) i- ^* ^+ W
  56.                 for (auto a : shownGroup)
    ( f$ y$ L4 y8 L$ i% |- o
  57.                 {6 o; |6 N! S- S* t9 Q
  58.                         a->SetShow(true);! Y. o4 S/ b6 C1 u5 S- W; Q

  59. 3 {8 i" f/ Q& k- f6 U+ L
  60.                 }
    ! ?+ Y3 j5 f/ M  n! ^% b
  61.         }
    ) `" R, G7 V0 Z/ ~2 E% K7 I
  62.         if (!hiddenGroup.empty())1 u2 F+ P, Q! R8 h' U; _) x) L$ M
  63.         {
    * ~$ \8 _0 }, k- a+ A7 y3 G1 Q! w) l" b4 ^  h
  64.                 for (auto a : hiddenGroup)
    + K+ y# L7 X- e6 e5 d
  65.                 {# ?% s% c7 a3 \8 P% x6 J+ ]
  66.                         a->SetShow(false);3 R' h$ k/ I4 S, f% C( f* A
  67.                 }6 e% z& u: O3 e1 X
  68.         }/ H) e5 b9 f9 r9 \6 x
  69. : ?% {1 Z( f- ~. h& ~) u# @
  70.     //实时更新显示
    " N7 t. r  @+ x: _8 [

  71. : j7 Y; e( D8 Z9 f7 t
  72.     UI_UpdateDoubleRangeValue();4 f: O# W! ]3 R$ d' e! c  |
  73. }
复制代码
# X' }/ T$ K5 ]9 A
! G: P' X( a2 ]6 u; B1 s4 e+ d+ k
: Q7 x4 d& j5 }" 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二次开发专题模块培训报名开始啦

    我知道了