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

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

[复制链接]

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

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

admin 楼主

2023-3-6 11:55:57

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

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

x

6 E) s8 c' w3 G# b% q/ l' H* {- b
6 Q9 N: H4 `2 K! [: r! |/ n
一种自定义颜色条的方法,直接可以用,可以作为CAE后处理
1 J6 T4 _7 L. D9 q
8 l4 Y7 d" j" v  ` QQ截图20230306115545.png " _) n9 M4 z, T$ ?; t5 }

  L# l/ D0 J3 n4 {- K6 h
  1. 9 k3 T" M9 Q0 l
  2. 8 b- E  H. N: S: t
  3. ; W3 |' Y- |" H# N
  4. 2 @5 N* y  m; z1 A0 a' G6 X% g; j
  5. void UI_ColorRangeUDB::UI_ShowColorMapBlocks()
      g9 Z: m7 I4 K/ K. W
  6. {3 X0 w! p3 P$ W( u$ k
  7.         int colorNum = integerColorNum->Value();2 X5 |# u! ]. g9 L/ Q
  8.         vector<BlockStyler::UIBlock*> hiddenGroup;
    + o4 p3 j0 l8 a# d7 S/ k
  9.         hiddenGroup.clear();
    2 `9 {5 Q) G% p7 U0 b2 _8 t
  10.         vector<BlockStyler::UIBlock*> shownGroup;& e0 c3 ?5 }! \# V9 ~/ T6 d, S& v
  11.         shownGroup.clear();
    0 d! R6 c# m# l5 L
  12.         string groupPreStr = "groupColorRange";) p$ Q" c  q( T5 x% L+ J. ~9 e
  13.         string doubleUPreStr = "doubleU";
    / J, q9 l1 R6 q5 D
  14.         string doubleLPreStr = "doubleL";
    - ?8 ~! Y: e5 z7 V' @
  15.         //get all the groups with the name str //groupColorRange65 O5 l; v- v4 z5 _* t. H( p2 d
  16.         vector<BlockStyler::UIBlock*> allBlocks = theUserDefinedUIBlock->TopBlock()->GetBlocks();
    / j* w: P1 A/ B$ Q- Q; d
  17.         //type: Group          name : groupColorRange
    & f* ]' T* I+ l+ ~0 b+ J8 Z4 V
  18.         //type : Group          name : groupColorRange1
    $ ?, c0 a2 G& K1 P+ ]; B
  19.         //type : Group          name : groupColorRange10
      y6 B) `& ]1 M$ ^2 \. _9 G
  20.         //type : Group          name : groupColorRange11
    ) A% S, g2 b, D8 i; R6 T
  21.         //type : Group          name : groupColorRange12( X9 V/ T5 |: M3 M% D
  22.         //type : Group          name : groupColorRange2
      `! |7 ~& W* l2 x6 F. Q
  23.         //type : Group          name : groupColorRange3( ^% ?& C, G; s+ P  R
  24.         //type : Group          name : groupColorRange45 T; g0 S3 f0 y/ n4 \8 {
  25.         //type : Group          name : groupColorRange5' m3 u6 Z1 N& A' d; M
  26.         //type : Group          name : groupColorRange6
    8 e' V$ C& k7 K; a2 X
  27.         //type : Group          name : groupColorRange7
    2 [  Y& a* S* B# A% ~5 v
  28.         //type : Group          name : groupColorRange8$ _& w2 j+ t7 R; k8 Y& }) d! E
  29.         //type : Group          name : groupColorRange9( M7 n$ U' @# T: \0 q
  30. / b/ J; Q. c4 [! ^
  31.         for (int i = 0; i < allBlocks.size(); i++): [, ~  O5 a: b' q( C
  32.         {# J" t' M5 X5 L4 W
  33.                 BlockStyler::UIBlock* tempBlock = allBlocks[i];
    0 d9 U2 d* {( N8 J; s6 ^8 I/ p
  34.                 if (isSameNXString("Group", tempBlock->Type().GetText()))
    * M1 `* @9 _( @6 Y0 Y
  35.                 {# |/ s9 I6 o& o, o" M. \, I
  36.                         string blockNameStr = tempBlock->Name().GetLocaleText();
    , s) l) p' }  Q8 M: R2 [
  37.                         size_t findIndex = blockNameStr.find("groupColorRange");! U3 N+ L4 ]# u3 I( N: X- v( `
  38.                         if (findIndex != string::npos)0 g& K/ ~6 c0 x5 d) Q  B
  39.                         {
    ( V; V! m& m, l. B
  40.                                 string subStr = blockNameStr.substr(groupPreStr.length());
    * z* V& O+ {7 _9 }- k9 p
  41.                                 // Echo("%s", subStr.c_str());  g3 K+ [; C* f& a3 z; L9 o# `
  42.          //Echo("%d -- %d", atoi(subStr.c_str()), colorNum);
    . F2 I, t( i$ Q; ^
  43.                                 if (colorNum >= atoi(subStr.c_str()))
    , J5 ^8 U; A! G  ^+ J4 M
  44.                                 {
    # q. U; D, G- A1 M% q, q: X; G
  45.                                         shownGroup.push_back(tempBlock);+ {3 X: L- ?8 X  Q3 R/ m9 a9 a* @
  46.                                 }
    . ^& K* u* E( j" f8 p) |
  47.                                 else
    , n6 R9 p  @+ u  T' K% }* y
  48.                                 {
    9 ]! v; r' A6 C: F6 K) U
  49.                                         hiddenGroup.push_back(tempBlock);+ a0 ^" Y4 @1 z9 e2 E8 h
  50.                                 }
    9 o9 _, p8 H9 z% U  k  e
  51.                         }
    % r# R# {: w9 p9 l- A7 y" F
  52.                 }
    2 d6 t$ P. f1 ?: P  c
  53.         }
    / \9 T" l( Q% J0 T+ R" t2 L
  54.         if (!shownGroup.empty())
    & S: K: s/ L( Y4 J2 ~/ T
  55.         {
    8 h; _7 f3 q9 x* ~, l9 _
  56.                 for (auto a : shownGroup)0 M' V: Q: E  W) m4 e$ i
  57.                 {
    : E' i- }, C* n# @
  58.                         a->SetShow(true);2 y5 ?( Y# t) y# z4 o( W* G% N
  59. " z3 [( V% c4 Y9 z# }# |0 }* o! n
  60.                 }
    8 x& b0 [' A$ k; b
  61.         }
    / v: U- {4 g9 u# T8 Y- B
  62.         if (!hiddenGroup.empty())) l( |% Q8 D$ }# }0 K
  63.         {
    6 J) {* v9 u& u8 c. {
  64.                 for (auto a : hiddenGroup)
    % s$ q# V  |& `
  65.                 {  |, _: z% s- L0 ~9 v$ K$ O
  66.                         a->SetShow(false);3 e3 K( v6 Y5 e
  67.                 }
    5 M8 T1 @, ^5 U7 y6 o( Y4 c
  68.         }# k1 o6 ]' h4 _0 o* N0 C

  69. 1 \/ {; g4 }2 l% O4 y
  70.     //实时更新显示
    8 k$ X/ O/ r  B  x0 _( n& A0 U
  71. , d6 a4 o4 X4 D+ x
  72.     UI_UpdateDoubleRangeValue();
    % z% Q1 s' F3 f: A7 q# a$ _
  73. }
复制代码

/ i4 H, H/ H3 n
! \3 U" @) \# l6 A
7 P0 C. x  x3 O6 h- d# J6 g2 G
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了