查看: 1565|回复: 0

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

[复制链接]

2477

主题

1280

回帖

8万

积分

管理员

PLM之家站长

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

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

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

×

: Y. b- i1 f* W- n/ Y$ e: Y2 p
& j+ d! y' ^3 k1 l; N5 e! I
5 W, f" o+ u& l% ?8 |( B! n一种自定义颜色条的方法,直接可以用,可以作为CAE后处理1 V: S% U' }, w( ?

) V5 v; b8 n1 |0 S/ l7 q QQ截图20230306115545.png ; c0 i: k3 b3 J7 ^) ~4 b
9 k! b8 Y6 n) E

  1.   E) e2 `/ }. V. X' S& ^
  2. - R; H( h$ Q0 a5 S, e
  3. 2 l: l, y) @$ k5 k
  4. % X- b0 d, R3 @
  5. void UI_ColorRangeUDB::UI_ShowColorMapBlocks()
    " |% O; d4 D6 S' B
  6. {. _) t0 I$ Q* @& j1 T& U$ C9 X
  7.         int colorNum = integerColorNum->Value();6 J, T2 T* Q0 r! q- M' h- P8 x1 N
  8.         vector<BlockStyler::UIBlock*> hiddenGroup;) \% ^; R. I% E3 k
  9.         hiddenGroup.clear();! y& g# Q6 ]1 F* Q; U# D5 ~
  10.         vector<BlockStyler::UIBlock*> shownGroup;
    - Z0 b% m6 c# L( n7 v
  11.         shownGroup.clear();% K6 v0 j9 q8 E3 x+ E; `/ {, y
  12.         string groupPreStr = "groupColorRange";5 t3 B  l* p$ F; h0 d  A; N
  13.         string doubleUPreStr = "doubleU";' b- O( H- U) C# {( j8 i4 B1 ]
  14.         string doubleLPreStr = "doubleL";
    6 s/ ?* V9 K: [* p" u0 j
  15.         //get all the groups with the name str //groupColorRange6
    # w" r, p7 Z; b2 R3 L! I
  16.         vector<BlockStyler::UIBlock*> allBlocks = theUserDefinedUIBlock->TopBlock()->GetBlocks();9 ]' T0 |8 {0 U% n$ Y8 ^3 ^. j4 Z
  17.         //type: Group          name : groupColorRange" b; \" f4 Z) i) m( B
  18.         //type : Group          name : groupColorRange1) s' J1 H+ M  C0 m
  19.         //type : Group          name : groupColorRange10/ S& H( r: u$ o: f/ \9 q
  20.         //type : Group          name : groupColorRange11
    8 \; ^) L$ p4 B$ c4 W9 O
  21.         //type : Group          name : groupColorRange128 _) L" l. x3 y: d
  22.         //type : Group          name : groupColorRange2/ D0 t7 a$ H( b# Q, R8 T' |2 o1 P+ c
  23.         //type : Group          name : groupColorRange3; {* e' }4 r3 H8 G# ~$ j
  24.         //type : Group          name : groupColorRange4, @/ `" E$ ~# a: I
  25.         //type : Group          name : groupColorRange52 f) c. U3 z9 S3 g2 O  m  c
  26.         //type : Group          name : groupColorRange6* _% J. h: w6 i% r0 w& p; h2 r
  27.         //type : Group          name : groupColorRange7
    / d& ]% [6 V7 n5 T" M! I! Z
  28.         //type : Group          name : groupColorRange8/ v4 v5 P/ X1 c6 d" P) c* g/ Z
  29.         //type : Group          name : groupColorRange9
    6 z, g2 b; f# B4 Q5 G5 Z
  30. & u! W( e: x. K3 v7 q6 c
  31.         for (int i = 0; i < allBlocks.size(); i++)2 v2 ]* Y) ]$ P& c: R3 u
  32.         {
    ! y4 r; k0 W+ G0 w
  33.                 BlockStyler::UIBlock* tempBlock = allBlocks[i];- O4 ~4 `; y; p# z
  34.                 if (isSameNXString("Group", tempBlock->Type().GetText())). Q/ ~2 D+ P8 A* I! o* D
  35.                 {" i* k! K% r' Z" p$ x! S
  36.                         string blockNameStr = tempBlock->Name().GetLocaleText();! e5 H$ r9 R2 s. ]0 F1 s" ?9 q7 }
  37.                         size_t findIndex = blockNameStr.find("groupColorRange");5 J. x! }- F- d2 Z( Q
  38.                         if (findIndex != string::npos)! Z5 x  W# g5 i! B5 e
  39.                         {
    1 t1 c7 |  z1 l# D) h
  40.                                 string subStr = blockNameStr.substr(groupPreStr.length());
    - K' ?3 i' K( ~* `7 l5 D
  41.                                 // Echo("%s", subStr.c_str());& P; z! R" i; J4 \1 c% _
  42.          //Echo("%d -- %d", atoi(subStr.c_str()), colorNum);
    2 i$ C) L3 x2 m1 A# h8 y
  43.                                 if (colorNum >= atoi(subStr.c_str())), n' ~7 t: j) k$ z3 I
  44.                                 {' q3 o8 r( ~: j) r2 m
  45.                                         shownGroup.push_back(tempBlock);  t0 m! g3 n4 L7 K
  46.                                 }, c6 A: x+ l2 g8 g
  47.                                 else2 L& d, \* K; t8 R7 c4 H
  48.                                 {+ C6 ]0 q# R/ u4 x- R) P
  49.                                         hiddenGroup.push_back(tempBlock);$ ]) J: |% B5 ^# d* S
  50.                                 }$ T/ x8 Z( V; d4 g
  51.                         }3 ^. p7 b& O$ z0 y  z7 G
  52.                 }7 e$ a; ~$ J9 ^8 X& _8 D0 H6 u
  53.         }, }; ^$ N; O& K) S
  54.         if (!shownGroup.empty())! b- ?) m' C7 Z0 G$ `; ^% y
  55.         {4 N! R8 {6 i2 ~( U6 Y
  56.                 for (auto a : shownGroup)
    5 c* C( g; J2 K
  57.                 {! ?2 I1 T/ Z3 Y0 B
  58.                         a->SetShow(true);% g0 e- `; Y* _
  59. : a" {1 Q# @$ V: L4 U
  60.                 }
    - z$ O9 a/ ]2 p
  61.         }
    , X' x) g% X+ H
  62.         if (!hiddenGroup.empty())+ A/ p4 q7 s; g
  63.         {( c3 p" K- O+ n9 r& L' ^
  64.                 for (auto a : hiddenGroup)
      o2 X* [' {' t0 w$ L7 v
  65.                 {
    ( {# a9 G2 J& _  H, C8 `6 K) `5 T
  66.                         a->SetShow(false);
    % X: P4 s" B9 U
  67.                 }
    7 C* m/ T) }, O
  68.         }
    & p* T8 d, T7 I* Y
  69. 3 l8 `' b. M$ M' q* Q9 k
  70.     //实时更新显示
    # U+ Y4 b' ~$ E; z/ F

  71. : `# N- ?" ]9 n. n( H- ]
  72.     UI_UpdateDoubleRangeValue();
    " G+ K) }3 j7 s
  73. }
复制代码
2 h; r* n; f7 e1 v/ f
3 u& U; X# f8 s9 P, d

* Y+ O$ |; ~& w1 l
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

在本版发帖
关注公众号
QQ客服返回顶部