PLM之家PLMHome-工业软件与AI结合践行者

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

[复制链接]

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

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

admin 楼主

2023-3-6 11:55:57

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

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

x

0 g: {, r5 V: Z; b& }5 h5 m+ V0 ^- _
7 K! o9 y3 w8 a/ R
一种自定义颜色条的方法,直接可以用,可以作为CAE后处理
* b1 |' Z% }/ d% T/ W' L7 @9 ?+ A" V- M" C) |1 U7 y" t
QQ截图20230306115545.png ) J9 i" p. q: A' `& G7 B
4 s. f" a7 w% {* b2 w. D7 ^, _
  1. , u* M- ^7 a7 i! Z
  2. / Q/ |/ B1 L( l
  3. ) h6 Y8 p3 u7 r/ N$ U+ @
  4. & b$ k# C. E- b3 m; y- `0 o
  5. void UI_ColorRangeUDB::UI_ShowColorMapBlocks(): F/ t( Z4 \! T, q: _7 S& i- o
  6. {
    8 M3 w5 W) u$ Z: f# [- t( t' _
  7.         int colorNum = integerColorNum->Value();4 l8 w" l8 z6 K1 C+ R
  8.         vector<BlockStyler::UIBlock*> hiddenGroup;8 ^1 k3 U8 Z; D1 s+ F0 x
  9.         hiddenGroup.clear();+ ?5 h0 `+ l6 V0 `
  10.         vector<BlockStyler::UIBlock*> shownGroup;
    , x, F$ z9 u& I4 y" W
  11.         shownGroup.clear();
    * O6 E4 i% p/ c
  12.         string groupPreStr = "groupColorRange";
    9 X# A) ?. C- S' E6 `
  13.         string doubleUPreStr = "doubleU";
    8 P+ r2 a$ M; e  @
  14.         string doubleLPreStr = "doubleL";
    # \+ x7 C7 a& ]" [! p2 q/ Q
  15.         //get all the groups with the name str //groupColorRange68 k' G" P4 Q$ g+ Q3 ?- J
  16.         vector<BlockStyler::UIBlock*> allBlocks = theUserDefinedUIBlock->TopBlock()->GetBlocks();
    8 e1 m! \" O% ]+ _
  17.         //type: Group          name : groupColorRange
    ) g( ^! m8 X# d; S; X% h9 \
  18.         //type : Group          name : groupColorRange1( J! j6 Z: b& G
  19.         //type : Group          name : groupColorRange10' j, W. h% @0 Y  k8 W; c9 K/ p- U
  20.         //type : Group          name : groupColorRange116 w4 O, j0 c) _4 R/ G
  21.         //type : Group          name : groupColorRange125 r' B) i" ~: ~$ h7 x
  22.         //type : Group          name : groupColorRange2
    $ T% K0 _3 P5 \. F* u
  23.         //type : Group          name : groupColorRange3
    ; w9 _$ C4 |1 a2 F
  24.         //type : Group          name : groupColorRange4, _0 P! f- t9 `4 J
  25.         //type : Group          name : groupColorRange51 r4 A# c6 E! h; F$ ]4 z3 r
  26.         //type : Group          name : groupColorRange6  r4 l1 R' p& }! A
  27.         //type : Group          name : groupColorRange7
    9 L5 L% ~0 `; y. O
  28.         //type : Group          name : groupColorRange8$ z" m/ O7 ^( d0 x/ {7 W) R
  29.         //type : Group          name : groupColorRange9
    0 ^" ]( b# Q" l- e$ \5 y
  30. 9 w: F$ @; i! [8 @" |% _( m# Y
  31.         for (int i = 0; i < allBlocks.size(); i++)
    + p* K  i. s' p5 v8 C+ d2 O
  32.         {7 _- N: r2 n# f% j: U* `
  33.                 BlockStyler::UIBlock* tempBlock = allBlocks[i];
    : t0 ]- V) A) P
  34.                 if (isSameNXString("Group", tempBlock->Type().GetText()))# F: p* ?1 L5 F9 j/ m
  35.                 {9 B* o( Z/ f# H8 n/ q0 t
  36.                         string blockNameStr = tempBlock->Name().GetLocaleText();
    ( p9 e( w* w) Y+ I* g9 v" g* ]
  37.                         size_t findIndex = blockNameStr.find("groupColorRange");4 K, P. Q1 K/ ~9 I
  38.                         if (findIndex != string::npos)- d# o1 z8 k* t( E3 q) m
  39.                         {
    * k% J$ I) M7 D; Z2 o+ m
  40.                                 string subStr = blockNameStr.substr(groupPreStr.length());( V7 t8 r7 e) Z! i
  41.                                 // Echo("%s", subStr.c_str());1 m! ~1 [/ @# l) {% ]) T/ o
  42.          //Echo("%d -- %d", atoi(subStr.c_str()), colorNum);
    $ {6 v, D1 n3 ]; O
  43.                                 if (colorNum >= atoi(subStr.c_str()))
    * x, w  k& s$ a1 c. n
  44.                                 {
    1 z" X2 `; y& ^) y4 t+ u
  45.                                         shownGroup.push_back(tempBlock);
    % k0 \1 d6 D! E2 v6 Z
  46.                                 }
    . n- T6 o/ D1 ]; `8 \8 O
  47.                                 else/ C6 @: [% t2 H3 T* R! U2 b
  48.                                 {
    ) ]' o* h. f9 c+ F
  49.                                         hiddenGroup.push_back(tempBlock);
    5 S( A6 J: r) }
  50.                                 }" P- G# J2 R3 c+ R) l2 \
  51.                         }
    ( Q- n; Y; W8 l4 Y5 }
  52.                 }% ~* L! Y" O& U4 V8 B' r
  53.         }! M: t. A, e" m& s# u$ {" M
  54.         if (!shownGroup.empty())( i2 T+ V, w* j
  55.         {
    ; W. l$ C+ W% ?; w
  56.                 for (auto a : shownGroup)
    1 o, u/ n1 }5 ?* Q4 m1 Z- b5 N* b& @
  57.                 {
    : c: K  d  _; @, E8 y
  58.                         a->SetShow(true);9 S% T6 l8 H2 y

  59. ! q  D! y- |4 F
  60.                 }/ @' t0 j" Y. X9 Y2 i) \; D
  61.         }
    1 b) p0 t& E/ k& K6 h- {+ u; u
  62.         if (!hiddenGroup.empty())- N/ a" Y& D: f+ v7 c" u) o
  63.         {' Q2 A, i5 v. ]0 D
  64.                 for (auto a : hiddenGroup)
    ( o. t4 U6 G( c" V$ r7 I+ j8 T. A% F
  65.                 {
    ; p$ O. I8 M% Q$ J/ a& C5 L
  66.                         a->SetShow(false);
    / H7 K6 n* e8 ~0 j
  67.                 }
    5 y: _! l% F- Z6 }9 t
  68.         }" q: `, Y) L3 ^  g' s$ O! `9 L1 |- w( J
  69.   i' o9 ^' R4 ?- ]+ q% W  k* G3 r
  70.     //实时更新显示% Y( [8 u! K: }, z4 Z( H- h
  71. # r& [7 X- w/ Z7 Q
  72.     UI_UpdateDoubleRangeValue();$ q+ X6 w' L- X: N. S7 _8 J
  73. }
复制代码

: Z9 t/ H3 M3 ^7 d* b) C
, P" Z/ z3 e% P% @' t
/ C3 f; p0 _0 d; d: ^
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了