PLM之家PLMHome-国产软件践行者

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

[复制链接]

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

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

admin 楼主

2023-3-6 11:55:57

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

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

x
1 K. w0 d: _& u8 r6 l

  L* Z3 j  q0 X2 p- [. N, d8 e. z+ `
一种自定义颜色条的方法,直接可以用,可以作为CAE后处理; G( V/ m. E5 o/ s& |4 D) J9 L
8 C$ Y6 {" q3 [; B# @' t" ~- a
QQ截图20230306115545.png , g' `* N9 }) h7 g3 I4 R: U
5 u8 [" j& Z4 C3 A% X0 `7 P$ A

  1. * b& f( ]5 X% W! _7 @
  2. ) P! _7 ?5 O) M6 O) r+ r* t6 V
  3. : X0 j& H0 |7 C6 t
  4. 4 A( e) L! O. M$ r% S5 q0 `
  5. void UI_ColorRangeUDB::UI_ShowColorMapBlocks()' {7 b/ g' a1 r: ~, M8 u& ^
  6. {8 P0 D8 {$ _8 u
  7.         int colorNum = integerColorNum->Value();8 R) p. }7 a! ^
  8.         vector<BlockStyler::UIBlock*> hiddenGroup;
    9 T) b$ ~' u3 y2 h* F' N9 A- I2 z
  9.         hiddenGroup.clear();
    % ^1 N$ j; d8 X/ i, r; w1 R% y
  10.         vector<BlockStyler::UIBlock*> shownGroup;% p; G8 U; w" ]
  11.         shownGroup.clear();! \2 u9 Y; J, e7 s" V9 g9 ~
  12.         string groupPreStr = "groupColorRange";
    9 Y+ x" V* ~# m4 I
  13.         string doubleUPreStr = "doubleU";& x! }8 @0 X8 [  ^! I$ D6 ?' P" X* [
  14.         string doubleLPreStr = "doubleL";9 |" h, H5 I/ d& K) [5 u7 S6 K! q
  15.         //get all the groups with the name str //groupColorRange6* |! ]7 T2 v& a( J+ E9 E% M5 @
  16.         vector<BlockStyler::UIBlock*> allBlocks = theUserDefinedUIBlock->TopBlock()->GetBlocks();
    , k: ]( F& x# S( \0 Y) ~* p
  17.         //type: Group          name : groupColorRange
    . U; \1 E$ c0 R9 T/ ^7 Z
  18.         //type : Group          name : groupColorRange1& p7 ?! O; M2 I+ i) D
  19.         //type : Group          name : groupColorRange10
    0 N4 C1 J! c! @+ M; R+ r- ]- Y
  20.         //type : Group          name : groupColorRange11
    3 @% h8 j5 O6 {
  21.         //type : Group          name : groupColorRange12
    8 p& S, Z  I" H7 \) v
  22.         //type : Group          name : groupColorRange2
    ) ~* M! f6 T2 X4 B* a; w- R
  23.         //type : Group          name : groupColorRange3$ c  D% ~/ O7 \' r/ r
  24.         //type : Group          name : groupColorRange4
    - Z1 L* K9 m/ ]) ]7 y8 b! {
  25.         //type : Group          name : groupColorRange5
    4 O& h* D& R2 z% w  }
  26.         //type : Group          name : groupColorRange6
    $ N. c$ }* p* L+ A$ |1 Z7 q
  27.         //type : Group          name : groupColorRange7/ J1 R) `5 M& F, i9 I
  28.         //type : Group          name : groupColorRange8
    & `7 u9 |6 @& t9 y
  29.         //type : Group          name : groupColorRange9" d9 z7 L8 ?0 G' L4 m: Y& R
  30. 6 b; h) ?% R1 q. i7 W- T+ O
  31.         for (int i = 0; i < allBlocks.size(); i++)* N/ w; L  S3 }9 p
  32.         {
    ) ?' W9 H4 b9 s2 i0 Y2 Q
  33.                 BlockStyler::UIBlock* tempBlock = allBlocks[i];" j, H+ f  h" s7 K# h
  34.                 if (isSameNXString("Group", tempBlock->Type().GetText())); S3 C: u' T1 Z0 |2 z& O- q+ |
  35.                 {. u$ s0 t& G0 i! i. Z  d! j
  36.                         string blockNameStr = tempBlock->Name().GetLocaleText();/ D5 h+ g  s0 w# {
  37.                         size_t findIndex = blockNameStr.find("groupColorRange");
    ) F& E  i2 P9 C3 \% S& V  s9 ~3 Z, I
  38.                         if (findIndex != string::npos); W+ q) Q2 p) {; w
  39.                         {
    0 o- m9 ?% W! j1 d: H( C2 X% d- e& j6 B
  40.                                 string subStr = blockNameStr.substr(groupPreStr.length());% N0 {  h! B+ k' v" s8 S$ m) A
  41.                                 // Echo("%s", subStr.c_str());
    4 o/ l% [  ^) t7 H; k; a* Y3 I
  42.          //Echo("%d -- %d", atoi(subStr.c_str()), colorNum);
    7 e- a1 I; x" K
  43.                                 if (colorNum >= atoi(subStr.c_str()))
    2 Y& _# ~/ ~) ^. a, W
  44.                                 {) a& |7 p# B) m1 @
  45.                                         shownGroup.push_back(tempBlock);8 \" ~0 G# \* O: i
  46.                                 }
    8 [- s# H' e  Z2 [& |
  47.                                 else
    8 {2 ~/ f1 q) A4 f
  48.                                 {9 j* m* L% B, n
  49.                                         hiddenGroup.push_back(tempBlock);. v( h7 W( x( i" U5 F+ t, p4 f
  50.                                 }
    9 x5 n, r5 `: z, u* ~' Y7 R; Q
  51.                         }
    ! Q) _; ^9 b0 w% K. |8 R
  52.                 }
    + R$ k" {; Q) s, K
  53.         }
    & {) Q: ~/ C2 m
  54.         if (!shownGroup.empty())8 @5 E) X* a( ]2 X8 _9 X* V, A' ?
  55.         {
    ! \7 ^* @; h$ J+ g* F# b) F
  56.                 for (auto a : shownGroup)6 Y1 Z* o; o, I3 H4 m2 ?: }
  57.                 {) E! X8 u9 B) W2 A; w
  58.                         a->SetShow(true);
    + d! j& W# O9 T. j9 p9 f5 h+ j. ?

  59. - j' ~0 J5 g# l7 |8 f
  60.                 }9 _. z+ l$ Y& M0 h. z2 j: I% d
  61.         }" ^" Z& @8 b/ h$ s3 g& d
  62.         if (!hiddenGroup.empty())3 D& P5 Y  r) y: y. s7 |( }
  63.         {
    & a* ]% i( M% c8 X
  64.                 for (auto a : hiddenGroup)' g+ ^# f+ F3 i2 {6 Y
  65.                 {4 _4 N2 b1 E7 o
  66.                         a->SetShow(false);
    6 x# @! z9 v, Z/ N8 D
  67.                 }& C$ M4 E5 I5 t" \3 b' b* ~/ j
  68.         }
    , R: q0 d5 M! Q( X, N

  69. 6 C5 k! N* U- @5 a1 d
  70.     //实时更新显示
    0 Q4 _: S3 U% V( x
  71. * C* T( ^- S9 Y; Q, I: m
  72.     UI_UpdateDoubleRangeValue();
    : h6 i5 E/ _" r" i
  73. }
复制代码
6 u0 ^8 N+ z1 c- p% D4 t) z' X1 e. G
, D$ A) \# X* Y! N3 T) I
$ H) l6 @: d: A
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了