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

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

[复制链接]

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

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

admin 楼主

2023-3-6 11:55:57

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

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

x
$ X  g" T: z8 |& P; Q6 @# @2 D

! g" V' k2 O4 T; d; m1 w% q$ |7 D4 C4 Q( {/ i+ u/ Q& E+ ?8 X
一种自定义颜色条的方法,直接可以用,可以作为CAE后处理
- P9 _- q' H" ]) y, o- n
9 E, ]+ s0 y5 J. f QQ截图20230306115545.png
2 x) a) ]8 P" N3 F
. `6 ?4 @3 S* K: }7 G' R' n

  1.   s2 z$ ?+ [9 D  e6 {  m% |

  2. 4 P0 Q6 g3 Y3 p/ G% z8 t

  3. 9 C* Z9 x& o  q* f& s* S

  4. ) J7 B/ D1 a% J8 l1 U9 u
  5. void UI_ColorRangeUDB::UI_ShowColorMapBlocks()' ]" [' Z# v0 i
  6. {5 G# ]) p5 u+ e8 L7 J$ N4 [
  7.         int colorNum = integerColorNum->Value();; U# `; b2 \8 L6 S. Z
  8.         vector<BlockStyler::UIBlock*> hiddenGroup;
    6 V  z- [2 Y0 [) f% I& W
  9.         hiddenGroup.clear();  ]% Y& z+ O& L, n- O
  10.         vector<BlockStyler::UIBlock*> shownGroup;
    4 o6 K- ]' }9 t6 [5 o2 {1 _$ ~9 J
  11.         shownGroup.clear();
      \7 h; U# P9 O( F* V
  12.         string groupPreStr = "groupColorRange";
    % n5 h3 k. u2 T$ q" ?
  13.         string doubleUPreStr = "doubleU";
    + ^  c& C: W/ x" \
  14.         string doubleLPreStr = "doubleL";
    1 d4 X9 S4 R2 V
  15.         //get all the groups with the name str //groupColorRange6
    ( k5 r9 L; Y7 J- K# J
  16.         vector<BlockStyler::UIBlock*> allBlocks = theUserDefinedUIBlock->TopBlock()->GetBlocks();6 v. f" V; K' V- X8 v
  17.         //type: Group          name : groupColorRange1 B! U1 ?& @/ A
  18.         //type : Group          name : groupColorRange1$ g6 ?5 T- u! ?9 S0 ^  Y
  19.         //type : Group          name : groupColorRange10
    3 X  J# u/ c7 U) [; M! P4 Z0 M7 w
  20.         //type : Group          name : groupColorRange11
    0 v! r+ z7 S& ?2 o- ]
  21.         //type : Group          name : groupColorRange12
    ) P- z. s+ `) [2 V- [
  22.         //type : Group          name : groupColorRange2
    + ?( F% w! [$ ?) h3 k/ Z% E
  23.         //type : Group          name : groupColorRange3/ v8 ~9 h6 }' T- Z( S! n) s
  24.         //type : Group          name : groupColorRange4
    1 _' K- R- x! c( H  {/ ]0 o
  25.         //type : Group          name : groupColorRange5
    4 [4 X1 p( m. ^$ z* _$ |/ W4 O
  26.         //type : Group          name : groupColorRange6; P- i& Q+ A  P. g: ~
  27.         //type : Group          name : groupColorRange7
    # q8 J: j% R5 r
  28.         //type : Group          name : groupColorRange8
    + m- n5 p9 ^/ E% d* F4 Z
  29.         //type : Group          name : groupColorRange9% w8 j) n' k, R$ g- W
  30. 4 d# n1 T& V8 W0 ?% P
  31.         for (int i = 0; i < allBlocks.size(); i++)
    0 H( `" Y$ ?' `( y
  32.         {+ C1 j4 v1 h$ m+ J
  33.                 BlockStyler::UIBlock* tempBlock = allBlocks[i];, l/ b4 A' B# I! V6 a
  34.                 if (isSameNXString("Group", tempBlock->Type().GetText()))  K7 w) F/ `5 z$ u8 `
  35.                 {
    $ g. s8 _' x: _* ]( d
  36.                         string blockNameStr = tempBlock->Name().GetLocaleText();8 Z; l& @. a" M- q4 `, v
  37.                         size_t findIndex = blockNameStr.find("groupColorRange");
    / ?! M, g- O2 R( [$ M- R
  38.                         if (findIndex != string::npos); V) ?/ N4 g  A7 b' b, n
  39.                         {, j# J* h) C; ~5 y3 b6 c7 h
  40.                                 string subStr = blockNameStr.substr(groupPreStr.length());0 i- Q" K! O6 V4 F
  41.                                 // Echo("%s", subStr.c_str());: U6 {+ W* z0 l" V
  42.          //Echo("%d -- %d", atoi(subStr.c_str()), colorNum);# p( P" r$ F1 d
  43.                                 if (colorNum >= atoi(subStr.c_str()))4 D" t8 `/ {# W$ ^& }) r4 j* R. J9 _" m
  44.                                 {
    , l& h" N# O9 v
  45.                                         shownGroup.push_back(tempBlock);- B- l, V8 @" ]" z6 b( {
  46.                                 }
    " O) X% B8 v* }, N9 M( H
  47.                                 else
    7 [# V5 s7 `4 ]  F% u8 m
  48.                                 {
    5 d4 z9 _7 W+ ?/ L
  49.                                         hiddenGroup.push_back(tempBlock);+ r, ]' l( O& i9 ~! q* ]' K
  50.                                 }8 D* H" R# B7 n+ Z1 e! n% V6 f
  51.                         }
    / A, X- g- T+ F6 W
  52.                 }
    - u  i2 S8 U; F: R
  53.         }
    3 ]" A8 C3 X/ l, _
  54.         if (!shownGroup.empty())  N3 s) S& _1 @7 y
  55.         {
    % p6 z' C- r# J2 |7 q9 i8 E
  56.                 for (auto a : shownGroup)/ u: P# q* \5 B) _
  57.                 {
    ' R  B# n4 J" [" u* m( K
  58.                         a->SetShow(true);6 Z$ f) U  z% `, ~- o- L3 c" O+ C) ?
  59. ' @, c: o/ }: \! n+ \- b( I9 y8 M6 o
  60.                 }' v0 G: M4 D7 H7 l( H1 ?
  61.         }6 x" I: ~- B' ^# \, a
  62.         if (!hiddenGroup.empty())/ D7 [/ X" G$ P  [; ?
  63.         {
    * y* m. ]' O! {% \' i* N
  64.                 for (auto a : hiddenGroup)
    * A8 W) ?3 u4 H- `) ^, w
  65.                 {8 h7 H0 R. H6 U
  66.                         a->SetShow(false);
    / L* ], P9 d. h
  67.                 }& t' @! n/ {* R
  68.         }$ H1 [2 O, |2 I! U& U" o) K+ b! w  L
  69. , d" D7 D: I3 S! ?9 H$ y
  70.     //实时更新显示
    7 w0 _5 K0 p% D6 E9 o

  71. 2 A3 O$ [' A) h5 g( s4 b. h
  72.     UI_UpdateDoubleRangeValue();( `; K# b( f' X% f5 t. U' W
  73. }
复制代码

. H% v3 ]& R8 J
- f* f/ D7 e* G* m4 E, O2 r$ J2 C9 k( d) @) i; _
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了