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

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x
% x& f$ A* E7 ~/ T) a4 h  \% K0 L3 j

6 A- }4 b$ G: w9 J! N5 ~2 P% ]8 n0 F+ V6 y. Y0 R
一种自定义颜色条的方法,直接可以用,可以作为CAE后处理1 i5 R1 K8 u9 r. Z3 j
. r- ?' H, H8 J6 x, B7 A9 \- o
QQ截图20230306115545.png / C; V1 u; ?8 U' |
& p3 O* b( t" H

  1. 7 {$ ~0 D# g. L& t) W2 ^

  2. 6 G, e% s/ K. c5 {  n
  3. ; P5 Y1 @( M) U

  4.   Q8 ~6 ?) `7 P5 ]
  5. void UI_ColorRangeUDB::UI_ShowColorMapBlocks()
    * o4 l' V0 q* s, O9 R
  6. {
    4 E( i1 s5 W2 C* }& V) _+ Z
  7.         int colorNum = integerColorNum->Value();, Y+ Q9 ^1 H8 W+ w# b2 S7 ?" {1 I
  8.         vector<BlockStyler::UIBlock*> hiddenGroup;
    - q% }  [3 a! h8 s6 ?( K
  9.         hiddenGroup.clear();
    ( D  V* z( ~/ K" Q
  10.         vector<BlockStyler::UIBlock*> shownGroup;2 W& F! C8 D4 E% N1 W
  11.         shownGroup.clear();$ B* {. O4 D5 O* g7 V; z9 ^
  12.         string groupPreStr = "groupColorRange";* y# D) J8 F$ G3 v3 J7 J# p
  13.         string doubleUPreStr = "doubleU";1 n7 L2 [7 A9 X8 a- W8 `
  14.         string doubleLPreStr = "doubleL";9 S( Z0 w7 c; `' `: V' n) E
  15.         //get all the groups with the name str //groupColorRange6" a- i9 k7 m: m
  16.         vector<BlockStyler::UIBlock*> allBlocks = theUserDefinedUIBlock->TopBlock()->GetBlocks();+ I% C: P, e) k) N' B1 g3 w
  17.         //type: Group          name : groupColorRange% R+ n" U) Q* m0 W% N$ }
  18.         //type : Group          name : groupColorRange1* ^. n8 M# Z# S! k
  19.         //type : Group          name : groupColorRange10
    ' `5 M& E1 K9 G% o4 C3 Q
  20.         //type : Group          name : groupColorRange11
    8 T1 a# q/ `/ n. K- G6 H, H4 ^( F
  21.         //type : Group          name : groupColorRange127 B7 R7 W* {( `! e( u1 S
  22.         //type : Group          name : groupColorRange29 L. a  n' v, ^* J# F9 E
  23.         //type : Group          name : groupColorRange3
    # o7 Q7 [, W8 ?
  24.         //type : Group          name : groupColorRange4
      O; Q" R! x& w$ p
  25.         //type : Group          name : groupColorRange5
    " I0 p: k; `! B, y% K" @
  26.         //type : Group          name : groupColorRange6
    # @3 r. L1 E' Y$ a$ |
  27.         //type : Group          name : groupColorRange7
    . [% x5 w+ t) M2 W8 D. ]7 l
  28.         //type : Group          name : groupColorRange8
    & S6 M6 \5 a2 {* `; C
  29.         //type : Group          name : groupColorRange9
    : i% H' K* L- J4 N' }$ s. ]

  30. 1 Y- `% u* s, S
  31.         for (int i = 0; i < allBlocks.size(); i++)0 n. o. U) s7 l
  32.         {
    , ~4 p$ w/ b* [; s
  33.                 BlockStyler::UIBlock* tempBlock = allBlocks[i];
    7 [+ i) i8 J6 h( X! ~' Q
  34.                 if (isSameNXString("Group", tempBlock->Type().GetText()))' a2 [. z5 {0 x1 f/ B  j  j/ |
  35.                 {
    4 N9 N4 `8 D5 X, N
  36.                         string blockNameStr = tempBlock->Name().GetLocaleText();# [* b% J0 E9 b" d& u1 t
  37.                         size_t findIndex = blockNameStr.find("groupColorRange");
    0 L, H! T* S  Z* G$ |
  38.                         if (findIndex != string::npos)
    # a; N8 Z4 }& y9 B4 ?8 x
  39.                         {
    & e* p6 Z% ]& ?0 U% z& [- u
  40.                                 string subStr = blockNameStr.substr(groupPreStr.length());
    ! G* q# y, O+ e" n& m& v! ]" p
  41.                                 // Echo("%s", subStr.c_str());) q4 Q) C) w, \7 k
  42.          //Echo("%d -- %d", atoi(subStr.c_str()), colorNum);
    $ b6 o3 w3 o6 J0 h3 V; M
  43.                                 if (colorNum >= atoi(subStr.c_str()))
    0 Z3 M5 r; }! `9 S
  44.                                 {2 Y& h# R  g+ b& M* ~% p: Y
  45.                                         shownGroup.push_back(tempBlock);4 q0 E1 Y& N0 |, H
  46.                                 }
    2 W- v! A6 p5 x0 D& T
  47.                                 else
    7 H( |- _2 b% V/ k: Z# \
  48.                                 {
    ; n- p( U* _; x6 I  f: i
  49.                                         hiddenGroup.push_back(tempBlock);
    / m: V' u) ?/ v7 S, v" l0 _
  50.                                 }
    # _/ x2 c; m( ^, ?" }
  51.                         }5 \, B3 }% G+ [8 Q
  52.                 }
    ( u  B: W: W; l8 P' J' I
  53.         }1 O/ K# _& n' \+ K0 M
  54.         if (!shownGroup.empty())
    : {9 c0 M* d, u4 m. d
  55.         {
    ! T; S, p- u( H% `) i
  56.                 for (auto a : shownGroup)
    5 P2 m# M& u+ M" G# O! s$ w
  57.                 {/ z' Q. ^4 i8 j  Q$ N- C$ ^
  58.                         a->SetShow(true);( Q0 n: r$ ?# @) K; s8 f7 c
  59. 9 H+ E  H3 e9 ?) V
  60.                 }& g0 F5 g# x. S/ W2 f( d9 l
  61.         }
    $ v) s- m$ `4 c$ p0 ?$ @
  62.         if (!hiddenGroup.empty())& Y  u$ z  Z6 Q3 ~. d
  63.         {
    4 g2 D1 g0 r+ T
  64.                 for (auto a : hiddenGroup)
    ( `, [, K) A1 D5 L& z
  65.                 {+ J3 ^2 @) L! I
  66.                         a->SetShow(false);
    ( [* }2 N0 t" L+ t' `
  67.                 }& E: A* E% ^) U! y" l0 p! K
  68.         }
    , c% l, x+ X6 z/ ]
  69. $ `) P; g1 S* \1 D! J8 y' G$ y
  70.     //实时更新显示
    " ~, W6 r+ H% |# g$ f- \+ J0 O

  71. 5 L2 @- B/ G! X9 r  Y
  72.     UI_UpdateDoubleRangeValue();5 D# A+ h" @5 z# J
  73. }
复制代码
* \9 Z( ~& D4 u! G% v

+ j9 b5 h4 L1 |
9 c2 F5 s7 S( l) K7 s$ N* M$ H
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了