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

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

[复制链接]

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

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

admin 楼主

2023-3-6 11:55:57

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

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

x

$ Y3 h% J3 S1 S. _$ f" J; m/ Q! T6 d( Y  o4 ?) V4 |
; J, d1 h1 A2 R7 f/ W
一种自定义颜色条的方法,直接可以用,可以作为CAE后处理
$ P5 ~/ b4 T; n6 Q2 v; M2 l  j5 n) m! t; {7 l9 h  q: q
QQ截图20230306115545.png
3 T) c. z' I5 r  u: q& k0 W# P1 k: P. O* e

  1. ' G6 R' v/ m9 Y2 b! O
  2. . a3 [: X* l9 j7 ^( ~$ S
  3. 0 G. u! v& s& p' }6 N

  4. 3 B3 o. X+ R, f! }2 h3 m  T
  5. void UI_ColorRangeUDB::UI_ShowColorMapBlocks()) c1 p4 B: G; c3 n5 m6 ~4 e: t, p0 ?
  6. {
    0 `1 D- I+ V4 O6 @8 s
  7.         int colorNum = integerColorNum->Value();$ r. r% i& i8 |+ m/ C# g, a$ P
  8.         vector<BlockStyler::UIBlock*> hiddenGroup;
    8 [! `3 B$ a+ X7 N% J: _7 K' w
  9.         hiddenGroup.clear();
    + F6 x/ l9 `+ S/ x5 S
  10.         vector<BlockStyler::UIBlock*> shownGroup;
    - x0 @) I  `3 |6 L. ]) E" V6 @0 S( i
  11.         shownGroup.clear();7 `# P2 p* d/ u: e  `
  12.         string groupPreStr = "groupColorRange";) `( d* Q$ {6 z3 S0 f+ c+ g- v8 S; P; ?
  13.         string doubleUPreStr = "doubleU";) j- W. P/ G3 {* m
  14.         string doubleLPreStr = "doubleL";
    2 {; {9 H0 l8 |( T) U
  15.         //get all the groups with the name str //groupColorRange6
    " r5 Y  v  T3 I- h
  16.         vector<BlockStyler::UIBlock*> allBlocks = theUserDefinedUIBlock->TopBlock()->GetBlocks();
    ! B' c# v  l! F: T5 z# Q
  17.         //type: Group          name : groupColorRange% k; B* a. x- P- E- P+ i' |# i
  18.         //type : Group          name : groupColorRange13 e: l& O  @  G' h& c  _
  19.         //type : Group          name : groupColorRange10
    . I1 z! w: `, }3 M
  20.         //type : Group          name : groupColorRange11$ e- @/ ^; g1 u( P" p/ I/ F  @
  21.         //type : Group          name : groupColorRange12- I5 ]: @! `$ p0 n: K
  22.         //type : Group          name : groupColorRange25 |6 h: i9 d4 G$ O9 p
  23.         //type : Group          name : groupColorRange30 ~: W0 O$ R: z" M9 x- P
  24.         //type : Group          name : groupColorRange45 Q" b% X* k4 x: o* U( p2 j; l- |
  25.         //type : Group          name : groupColorRange52 e& L% Z, h$ {' y
  26.         //type : Group          name : groupColorRange6' A6 G! Y+ |3 G. M+ @. c
  27.         //type : Group          name : groupColorRange7
      q3 P; e" L( E# ~0 Z# Z# ]
  28.         //type : Group          name : groupColorRange89 B% g0 V# v* L6 y! y/ ^
  29.         //type : Group          name : groupColorRange9& T  |7 v* y# B6 d4 ]! i8 z8 t
  30. 4 o" J# E9 M3 D- _
  31.         for (int i = 0; i < allBlocks.size(); i++)# n6 ?$ C) p" B
  32.         {3 T; }4 `& t5 h
  33.                 BlockStyler::UIBlock* tempBlock = allBlocks[i];
    $ M  O  u9 U) `" l" [2 k. N9 `
  34.                 if (isSameNXString("Group", tempBlock->Type().GetText()))
    2 v- r* o8 l6 f( W0 u& M  l3 X  _' w
  35.                 {9 s0 G7 C% N! X- _& v
  36.                         string blockNameStr = tempBlock->Name().GetLocaleText();
    7 Y2 P7 z# h& m' h9 V9 e) I( Z
  37.                         size_t findIndex = blockNameStr.find("groupColorRange");4 Y9 N$ r1 I. U# {% ?
  38.                         if (findIndex != string::npos)  J/ G3 K& Z" p
  39.                         {+ P/ c3 y/ q& }' O( }
  40.                                 string subStr = blockNameStr.substr(groupPreStr.length());$ h* z; n8 t/ {# ^5 ]
  41.                                 // Echo("%s", subStr.c_str());) ^$ K  b/ N2 H5 L( h
  42.          //Echo("%d -- %d", atoi(subStr.c_str()), colorNum);( L! J" a' K& V$ {" \. z/ x. d% x
  43.                                 if (colorNum >= atoi(subStr.c_str()))2 }3 ~4 T1 k* G9 d: [( o
  44.                                 {8 R1 T( @" y  `
  45.                                         shownGroup.push_back(tempBlock);3 [4 x2 ~" d; j' X. \4 u* k
  46.                                 }+ H7 L7 |; N0 L; Q- L* B
  47.                                 else
    5 F: L( S% [% N6 }& b; z( [
  48.                                 {- d* u- b' g% a; H8 ^/ p+ o& g
  49.                                         hiddenGroup.push_back(tempBlock);& B9 E  D% u2 s, x! W$ U
  50.                                 }( D% e, k9 m5 ?, l; X! ]
  51.                         }
    3 R9 I) d+ z( B6 N4 V2 |2 h
  52.                 }+ b+ }! J$ A3 I# r! ?* {7 _; s
  53.         }
    & c& N6 E) a7 }4 w" [7 h
  54.         if (!shownGroup.empty())7 e6 D' t# G( F' O. ]6 l6 d0 i- e
  55.         {
    * H2 I$ |  A$ G
  56.                 for (auto a : shownGroup)
    ( w2 q2 R1 X3 ]1 A. b! l
  57.                 {1 y! K% a" n0 s9 E. _
  58.                         a->SetShow(true);
    ! W" K9 L; l2 s
  59. 7 c% F0 K, @& u
  60.                 }. X  o5 H! A7 u
  61.         }
    " w$ N* i; g( h) v
  62.         if (!hiddenGroup.empty()), S3 m  n, R3 z3 A7 p: G5 q2 Q5 d
  63.         {
    2 {8 p9 X) d1 S% `+ X
  64.                 for (auto a : hiddenGroup)
    4 [( y8 c, I' ]3 U* j$ K4 p
  65.                 {
    7 n3 i1 n+ j% ]8 ?- @0 i
  66.                         a->SetShow(false);
    7 F/ z, s* I9 u5 u2 Q  o+ z  R9 L
  67.                 }
    ' F* K3 W( ?: Z1 }( s5 _
  68.         }7 |& Y$ @% ?1 ^! ?

  69. % Z4 K: C3 t; P& V
  70.     //实时更新显示; {( N) F, w+ L/ L

  71. 6 y- w& y$ t( f0 Z
  72.     UI_UpdateDoubleRangeValue();
    2 I* e. g8 C0 f0 r& ~
  73. }
复制代码
, g4 B* h7 j9 X8 S
6 d- }' r1 C; I3 |

& w; |  w! G3 \, k
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了