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

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

[复制链接]

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

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

admin 楼主

2023-3-6 11:55:57

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

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

x
; \  `; y% ?- N  ^3 [$ o
, M: i4 R$ k" V9 ^
; c& C+ A+ S! i/ r; A9 ^- P, X8 `
一种自定义颜色条的方法,直接可以用,可以作为CAE后处理7 K; I2 R5 _& C" a

% s( Z  F" h& @6 j- R& H+ E9 m QQ截图20230306115545.png 1 i. _9 Y2 i# R

4 C: ~, R$ x5 s  a: @3 _5 I/ w
  1. ! r6 T+ o% g) y

  2. / ~' \) N+ |  ?0 L
  3. 2 w0 D0 p& o# p
  4.   x6 k8 H' M, o) g& B
  5. void UI_ColorRangeUDB::UI_ShowColorMapBlocks()2 i  N' X7 H3 v% W
  6. {9 p2 W7 z; z. X7 A! M
  7.         int colorNum = integerColorNum->Value();+ _- [! a( x# }5 |
  8.         vector<BlockStyler::UIBlock*> hiddenGroup;
    6 h9 I; M' }9 ]5 j% i2 x6 d/ V# K4 N
  9.         hiddenGroup.clear();9 m- ~; Z9 n' h& ]$ g& B
  10.         vector<BlockStyler::UIBlock*> shownGroup;
    2 Y+ N- [. h  p$ m
  11.         shownGroup.clear();8 d: Y7 N7 L: g" O
  12.         string groupPreStr = "groupColorRange";
    & k$ t6 V6 h7 Q. `. T
  13.         string doubleUPreStr = "doubleU";
    & i/ Q( F1 J  p9 H& q2 w+ Y
  14.         string doubleLPreStr = "doubleL";5 E  \7 W% E+ @
  15.         //get all the groups with the name str //groupColorRange6
    # F+ S( ?/ M. S: l5 r9 d
  16.         vector<BlockStyler::UIBlock*> allBlocks = theUserDefinedUIBlock->TopBlock()->GetBlocks();9 h6 v( ?7 Q% D; i, ^3 A: X
  17.         //type: Group          name : groupColorRange, h9 E8 o: [) `3 L3 w! q. x
  18.         //type : Group          name : groupColorRange1
    0 t, O1 J0 A1 w8 I
  19.         //type : Group          name : groupColorRange10
    * p3 u9 T! r2 s/ ~0 s& g
  20.         //type : Group          name : groupColorRange11. Y9 `  F& x. O/ a) u" |6 i
  21.         //type : Group          name : groupColorRange120 h, S- E; p" g; z- O9 d
  22.         //type : Group          name : groupColorRange2
    ; F1 I( I& m! C+ k2 c7 D& n
  23.         //type : Group          name : groupColorRange3! b# w: u& Y$ F, F' d5 w1 J
  24.         //type : Group          name : groupColorRange48 ]' S; S: }( I% I) O  A5 a! E
  25.         //type : Group          name : groupColorRange56 [, U. _! D' f+ B
  26.         //type : Group          name : groupColorRange6
    * U4 ^+ n$ X3 }4 ~8 P9 E
  27.         //type : Group          name : groupColorRange7/ A4 ^0 i" ~, L' p
  28.         //type : Group          name : groupColorRange8  b& n: m/ n6 U5 x2 V
  29.         //type : Group          name : groupColorRange95 J7 H  D8 C' C2 X7 c6 |+ k
  30. - M7 n& O, g/ E, h4 K, i& l' U
  31.         for (int i = 0; i < allBlocks.size(); i++)
    9 k: _: _8 ~0 L4 F( e# w
  32.         {
    5 k8 h6 K1 _1 d' w4 ]4 x: l
  33.                 BlockStyler::UIBlock* tempBlock = allBlocks[i];
    8 ]2 L$ R+ G# F+ o0 X0 w9 N
  34.                 if (isSameNXString("Group", tempBlock->Type().GetText()))
    $ U7 V1 j9 C% v/ A* R
  35.                 {
    ) p. d$ v7 Y4 O+ B
  36.                         string blockNameStr = tempBlock->Name().GetLocaleText();. T  q" r) X+ c
  37.                         size_t findIndex = blockNameStr.find("groupColorRange");1 U2 K. j' M0 U) n: Y( v
  38.                         if (findIndex != string::npos)
    , B. T; i6 Z, a* ^  ]5 f
  39.                         {' ?, b0 j$ b, @9 W4 ~) e; f% J( m# R
  40.                                 string subStr = blockNameStr.substr(groupPreStr.length());
    ' l( `8 X/ F" J; I$ b
  41.                                 // Echo("%s", subStr.c_str());
    9 k9 }  `6 {6 l7 G% O) ~  |- {) L
  42.          //Echo("%d -- %d", atoi(subStr.c_str()), colorNum);
    ; N2 [9 z6 |7 o! k8 R2 ?$ O
  43.                                 if (colorNum >= atoi(subStr.c_str()))3 p6 c0 ]! C' Y+ s' V
  44.                                 {
    . b4 `1 ^7 {3 q
  45.                                         shownGroup.push_back(tempBlock);
    ( n' W; z2 m: s1 w3 i  g
  46.                                 }5 `# X9 Z8 ^/ q0 x
  47.                                 else
    - h4 v- k1 \! I
  48.                                 {9 |" U; q( H" G. i; j' r. ~8 `
  49.                                         hiddenGroup.push_back(tempBlock);1 _" o7 Z" t3 {( N1 m1 v9 `$ U, U
  50.                                 }- Z) o1 r& l8 ~: [- y5 O7 x: N! I
  51.                         }
    8 K5 t6 Y) T( O/ P  k+ N
  52.                 }
    5 P- q0 x! w6 O5 Z( B
  53.         }7 e2 j% q7 _& O1 [4 Y) p
  54.         if (!shownGroup.empty())0 ^' [! m* u/ a
  55.         {
    + o3 S2 p8 s/ x* r' s% y
  56.                 for (auto a : shownGroup)2 r- V& W3 w6 O5 j, z2 C4 V- g. _
  57.                 {
    - ~, V, @" l" z: l. q' }
  58.                         a->SetShow(true);
    9 Q; n: V/ I. a

  59. 0 J, @6 o# \5 K5 D, ]
  60.                 }
    ' K$ v2 e( I% P. o' T. t% j
  61.         }( Q/ A" D" R8 d
  62.         if (!hiddenGroup.empty())9 o/ g7 D2 x) K/ a
  63.         {
    * F5 ~* ?( r7 R2 q5 z6 Q! G( b
  64.                 for (auto a : hiddenGroup)( g. \. N6 D( `4 w: O, P
  65.                 {
    : ], C( x+ \* E2 H) ~
  66.                         a->SetShow(false);) I! S2 ~8 `! _2 `# u/ R
  67.                 }" k1 H4 I& j7 L6 L# K4 z; _: h
  68.         }
    & y+ n# t, U9 Z5 S
  69. 9 H3 \- n" R; ~" |# y
  70.     //实时更新显示
    6 ]3 a/ [3 Y  `( o, T5 Y

  71. ( t9 {' D, Q1 @' Z+ [) p
  72.     UI_UpdateDoubleRangeValue();7 j) H4 A( L2 P+ f; [
  73. }
复制代码
6 Q5 j4 F( y: L( i. V
, b- p( J) }( I3 R

7 z/ C' z/ B) w. \0 {5 q
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了