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

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x

" `  L1 H( D. M2 H
* ?7 x1 ?3 [  B6 S( N
0 ^$ l* H+ i, [3 z/ @' H/ @一种自定义颜色条的方法,直接可以用,可以作为CAE后处理: n1 w$ I5 F8 T, h6 A, x

: K) M3 a. A' K6 w1 C1 n% Y QQ截图20230306115545.png 0 A6 i- W$ A7 y5 u( G& |

% x; {6 e8 a3 C

  1.   n0 a: M" j% S( r  s
  2. ! J1 k* m3 P( x, S4 }7 s

  3. - v% K8 B: d6 h
  4. + Z% z6 F+ b8 b- H
  5. void UI_ColorRangeUDB::UI_ShowColorMapBlocks()
    , ~. a3 V8 N7 i% T; j
  6. {
    3 R4 @# U# u; ~, I- W
  7.         int colorNum = integerColorNum->Value();
    ( m/ ~5 |# E" B2 o; ~
  8.         vector<BlockStyler::UIBlock*> hiddenGroup;. ], k" z$ _# u% j# J
  9.         hiddenGroup.clear();
    & J3 d8 U6 N; |7 X$ O
  10.         vector<BlockStyler::UIBlock*> shownGroup;; D" N5 |. \/ T+ U2 X9 P* K
  11.         shownGroup.clear();; J( y* \9 g/ v1 n0 G
  12.         string groupPreStr = "groupColorRange";
    : U5 T0 d, ]6 x- s7 s1 S1 T
  13.         string doubleUPreStr = "doubleU";
    ( D: f. ^' g- |( J- |9 m- u  m7 O
  14.         string doubleLPreStr = "doubleL";" @1 c7 z' z( e2 B3 a) W
  15.         //get all the groups with the name str //groupColorRange6. _+ J1 {% i4 x" K
  16.         vector<BlockStyler::UIBlock*> allBlocks = theUserDefinedUIBlock->TopBlock()->GetBlocks();3 e8 q. t, I% a! }$ O, S6 t$ C6 ~8 A* g
  17.         //type: Group          name : groupColorRange4 K" K( h3 W1 c( d2 d
  18.         //type : Group          name : groupColorRange1+ |* X; }: i* d6 m: @2 }$ Y; e% W
  19.         //type : Group          name : groupColorRange105 k3 y& c! D$ G5 W0 C0 @0 @
  20.         //type : Group          name : groupColorRange11
    8 Q) a( U. v2 q
  21.         //type : Group          name : groupColorRange12
    : g+ q& s& a- g/ m3 j* |6 b
  22.         //type : Group          name : groupColorRange25 [$ m7 |1 K8 ?- j( U, S; ~) `" r
  23.         //type : Group          name : groupColorRange3
    $ }# Z* a# P* j5 _& Y( l$ _
  24.         //type : Group          name : groupColorRange4
    5 v7 Y% o* p1 L5 a+ B. X/ f/ m
  25.         //type : Group          name : groupColorRange5
    & Q' [9 ~- {' v4 L/ m! m7 t% g
  26.         //type : Group          name : groupColorRange6
    + H: I& z  l+ a9 M
  27.         //type : Group          name : groupColorRange7
    ! `% P& `4 S* }0 z9 K3 l2 s
  28.         //type : Group          name : groupColorRange8
    % V' C5 r3 J, @! Q
  29.         //type : Group          name : groupColorRange9% N& V* n/ N% U3 F" r" f; D4 \+ I( y

  30. : N# W7 a0 v" u4 Z3 \" b4 V5 X
  31.         for (int i = 0; i < allBlocks.size(); i++)
    1 v+ p8 t2 x( @% T
  32.         {) O) f4 R$ O% ]" E) w: r
  33.                 BlockStyler::UIBlock* tempBlock = allBlocks[i];
    - o/ i- N$ S, u! M( z
  34.                 if (isSameNXString("Group", tempBlock->Type().GetText()))
    & g3 B# f- o" B  Z; z% i" q
  35.                 {& f6 m1 z4 t5 \# \6 ]
  36.                         string blockNameStr = tempBlock->Name().GetLocaleText();
    9 |6 _* {: A- s
  37.                         size_t findIndex = blockNameStr.find("groupColorRange");( b+ g; x0 K9 f5 ?8 {
  38.                         if (findIndex != string::npos): i& i/ ?$ H9 ~
  39.                         {) n5 J' ?5 m& }, X+ u5 ~
  40.                                 string subStr = blockNameStr.substr(groupPreStr.length());
    . j6 s/ m# N/ z5 q1 c9 @
  41.                                 // Echo("%s", subStr.c_str());" b: `: g8 Z) \7 M! u
  42.          //Echo("%d -- %d", atoi(subStr.c_str()), colorNum);" y$ O1 s. _% j7 d4 f. T6 @4 F
  43.                                 if (colorNum >= atoi(subStr.c_str()))
    * n, g( t0 t& T
  44.                                 {+ H1 Q; d1 c, R0 d, F
  45.                                         shownGroup.push_back(tempBlock);! T5 f+ I3 L* ~; L& X. c
  46.                                 }) B4 a1 t. V* J+ q8 V1 h
  47.                                 else
    3 G8 S7 s: z' z" B- {( t
  48.                                 {1 Z- h7 T! m! [* p
  49.                                         hiddenGroup.push_back(tempBlock);
    9 x) d, [% j, T2 J
  50.                                 }
    / h9 A9 F# W9 ], A' N' y& D
  51.                         }  s* k7 K# v7 ^, w; ^4 K( H$ D
  52.                 }
    1 W& t: ]! X' T' s% `# r; [4 w
  53.         }
    1 P$ ~. O" t9 k6 I  E' y3 m
  54.         if (!shownGroup.empty())
    4 a: ^* _; `2 |3 k% Y8 k) \
  55.         {
    $ Z$ j- b- e9 x9 A
  56.                 for (auto a : shownGroup)
    + j- A$ n2 ~) A) J8 K
  57.                 {5 Z  q! A1 u3 L3 m5 x
  58.                         a->SetShow(true);0 w+ {1 n  t& s- S/ C* @% S
  59. 8 P5 M0 |7 d" Z5 f. [! O/ g
  60.                 }! U/ u8 I9 I- e0 J4 S! Y0 ^) Y
  61.         }% T$ X* F" ^# r2 t
  62.         if (!hiddenGroup.empty())
    $ W5 r1 g2 d8 B1 |' m2 r
  63.         {
    ( M4 D% b) w) y8 j( Q( W6 s" ~3 H
  64.                 for (auto a : hiddenGroup)
    ( @; a. W2 @) F6 U
  65.                 {
    5 h! R% _$ F5 Q
  66.                         a->SetShow(false);- m) O) L" L4 c& q* }/ r
  67.                 }
    ) K+ ]& y( o9 D4 }  D; Z- L/ @& J& p
  68.         }
    5 [6 S7 {7 A- a; T8 W  q1 c
  69. ( `" O* y5 G) \( W/ G( |  L" B7 {
  70.     //实时更新显示/ K6 \- M+ W: f/ @2 L
  71. - N6 S0 V+ Y9 V/ E# Z4 k
  72.     UI_UpdateDoubleRangeValue();
    - ~7 @, k- C( i& C( Z
  73. }
复制代码

' x/ ?2 S8 I  u) Q; X" B. J! C' H# x& |4 U; C' g: Q6 G( U

/ `7 I) z& d9 W, r$ O* }
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了