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

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x

" F4 u' k/ z: c5 |7 D# Y+ D* Q8 i& T" |: |

- J- f7 f% c' t4 ^( t( f0 G% n3 m8 x4 K一种自定义颜色条的方法,直接可以用,可以作为CAE后处理. Q1 t4 E( X( T, ~8 U3 t  m

) |. K5 v6 W, ]. }. o  W QQ截图20230306115545.png 5 U5 [# _" {0 _2 y' r, J
- A; n* M% J9 h! v' v8 d# J
  1. " f0 G; |2 q/ o7 q+ g. K
  2. 1 M7 I# T$ t( w7 e- O- j& U; N* F
  3. - L  p: F! x1 E: Q! d. Q7 k" `
  4. 3 E- g) ?' C* ?0 }' I; Z
  5. void UI_ColorRangeUDB::UI_ShowColorMapBlocks()
    0 [' s2 M! Y  B. k; h
  6. {- q; n$ L7 y3 c% h$ L: Y5 z
  7.         int colorNum = integerColorNum->Value();  F! W( _* s' L* I! C, v
  8.         vector<BlockStyler::UIBlock*> hiddenGroup;
    9 J7 x! E, S3 v2 h# h. K$ \1 P
  9.         hiddenGroup.clear();5 q3 |2 X$ f4 m
  10.         vector<BlockStyler::UIBlock*> shownGroup;
    ! {7 f0 ]; d5 w% }" o  T
  11.         shownGroup.clear();9 |, I) F! J( [8 Y( a3 P. r* K
  12.         string groupPreStr = "groupColorRange";& X, A7 h" l  ^7 }5 b/ ~
  13.         string doubleUPreStr = "doubleU";  Y  h: Q2 I# K0 p+ B' |% _4 C; B
  14.         string doubleLPreStr = "doubleL";
    : \! M5 S& z6 l
  15.         //get all the groups with the name str //groupColorRange6
    9 I* o# i! d$ b! I* e# ?
  16.         vector<BlockStyler::UIBlock*> allBlocks = theUserDefinedUIBlock->TopBlock()->GetBlocks();
    9 p! T/ k* k/ {' k
  17.         //type: Group          name : groupColorRange
    7 m7 h" g' Q+ |: t" `
  18.         //type : Group          name : groupColorRange13 K6 T' u7 {/ i0 a$ C5 y; P7 K
  19.         //type : Group          name : groupColorRange10
    ' `6 K0 Z- y  J) B( a
  20.         //type : Group          name : groupColorRange11
      H' y; K  P' O
  21.         //type : Group          name : groupColorRange12
    8 r: ^: g3 H0 U& J' n+ I% `
  22.         //type : Group          name : groupColorRange20 Y9 a5 S/ ], U  V; e; `' \
  23.         //type : Group          name : groupColorRange3* H& D( I+ B, U$ K& w4 U8 B, S
  24.         //type : Group          name : groupColorRange4
    , }9 I0 s( F. H2 V+ w* t
  25.         //type : Group          name : groupColorRange5
    " ]5 c: r/ q+ Z; S
  26.         //type : Group          name : groupColorRange6
    - k0 b  s$ h7 l: N3 x
  27.         //type : Group          name : groupColorRange7# v. [9 x* N& @3 f* x. p4 o
  28.         //type : Group          name : groupColorRange8( n* n; r, ~6 T7 s1 b8 D
  29.         //type : Group          name : groupColorRange9' c( ]0 M5 A/ C; {# J
  30. $ S1 x* T' B/ Q
  31.         for (int i = 0; i < allBlocks.size(); i++)! |' @. [/ t% M
  32.         {
    8 ?1 ]( X1 a. p
  33.                 BlockStyler::UIBlock* tempBlock = allBlocks[i];
    * Z9 f) j! Z, b5 I; D$ |
  34.                 if (isSameNXString("Group", tempBlock->Type().GetText()))
    6 O( b' Q. A( y
  35.                 {& {: ^6 j3 i7 u& L- q# m
  36.                         string blockNameStr = tempBlock->Name().GetLocaleText();
    6 E" A8 k2 m/ ~$ o; m
  37.                         size_t findIndex = blockNameStr.find("groupColorRange");
    4 C* u+ |; r7 R. r4 x5 W1 v
  38.                         if (findIndex != string::npos)* }- ^/ F9 u( v" s
  39.                         {& I) k& r. e; R9 K* B' V2 h& N
  40.                                 string subStr = blockNameStr.substr(groupPreStr.length());
      y0 U7 v& |% Z
  41.                                 // Echo("%s", subStr.c_str());4 C2 j' C- X& M1 Y3 h- H: R% H
  42.          //Echo("%d -- %d", atoi(subStr.c_str()), colorNum);
    2 K" J  m5 v  Q* b7 u
  43.                                 if (colorNum >= atoi(subStr.c_str()))
    ( j3 ^3 u& A1 P, s) x
  44.                                 {
    : z+ o2 D' n; K# a" {
  45.                                         shownGroup.push_back(tempBlock);7 n) V- q- T0 P
  46.                                 }
    + Y0 K) c) v# D. t0 c
  47.                                 else
    : V4 ]* r) l! w8 |, Z' O# B7 v+ w
  48.                                 {' Z. ]) m8 i7 s: _
  49.                                         hiddenGroup.push_back(tempBlock);
    , m/ E4 S* n7 G, |5 S
  50.                                 }( q2 Q- r6 x1 u5 Q7 T
  51.                         }
    % L0 s% ^7 R0 f9 f9 C) R# i) Q
  52.                 }
    8 I7 U: r& N8 Z: u4 _7 H6 ?
  53.         }
    5 x* T! |. X9 x- ?. z
  54.         if (!shownGroup.empty())5 d! N! l: H0 I' d" o
  55.         {: L9 S  {! M+ W+ A/ t8 Y$ y
  56.                 for (auto a : shownGroup)" t& Y+ [$ D- r
  57.                 {+ c) b3 f. \: y, W! X: m  j
  58.                         a->SetShow(true);
    6 L6 C! n) q, y) o7 x; Q8 f" i
  59. . q  N% u& a1 A- f" A+ K" k
  60.                 }# G' R- M+ a: @, Z0 t; c
  61.         }
    " B% V, a2 W' v$ F, F+ C3 L$ G
  62.         if (!hiddenGroup.empty())
    . T. D$ r' a  E
  63.         {  w( Q% U' |* G& b7 a3 {
  64.                 for (auto a : hiddenGroup)- X- {* W0 [$ P7 t" u' i' G
  65.                 {* j3 P5 F8 \: V. c/ N/ P
  66.                         a->SetShow(false);9 g+ ]( l5 A2 d# t+ x; y% T
  67.                 }- r  s8 Z3 t/ I  ^- o3 f4 z
  68.         }
    & i- B2 U/ ~, D  W% x

  69. 0 f+ F3 [# X- M4 X0 g' C' R
  70.     //实时更新显示+ z" t: u, A; @& B+ b# n

  71. / h2 s& k9 d1 O2 f( w) [
  72.     UI_UpdateDoubleRangeValue();
    / h5 y3 u( ]  c. L" O" o; _
  73. }
复制代码

. h$ Y, ]1 M& h! Q& T% Q% z7 J! i# x8 h% P/ |4 B0 i1 S3 b* U

5 Q8 q' ?& h) ~" l* M& r7 Z
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了