查看: 1449|回复: 0

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

[复制链接]

6

主题

4

回帖

60

积分

管理员

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

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

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

×

9 ?7 c4 W* a! D; n/ m; r4 ?( j6 G8 e- |. K; q" ^- |

) ?$ l2 [3 D! h& c( ]一种自定义颜色条的方法,直接可以用,可以作为CAE后处理7 ]  W  F& [3 U/ A' q3 F

- a# x7 j0 `" T2 a% ^( k! } QQ截图20230306115545.png
7 X; g/ h# a4 D8 g  D% J7 F
2 J8 g) }$ k, W! J6 Z" p+ D% t

  1. / S+ G7 r$ f# G3 X: u8 @

  2. - B7 e( x& Q- T7 N

  3. + E) X" W% }, b! i3 Q9 g
  4. % y  X$ f5 M. b2 _: H
  5. void UI_ColorRangeUDB::UI_ShowColorMapBlocks()
    # C; P/ ]5 h$ U
  6. {
    - [# n3 J; m. R# j+ ]" L4 \
  7.         int colorNum = integerColorNum->Value();
    * w1 L, f& X2 g  o
  8.         vector<BlockStyler::UIBlock*> hiddenGroup;
    6 R0 E* m! v& {/ Z) H& n- R
  9.         hiddenGroup.clear();
    0 e: M; D4 _' Z% ~: u
  10.         vector<BlockStyler::UIBlock*> shownGroup;+ A$ c7 w) L# h. s! J2 M6 F: D+ {) w
  11.         shownGroup.clear();' Q9 V( p( y" E  N# ]$ E
  12.         string groupPreStr = "groupColorRange";- Q' @3 A; i, B
  13.         string doubleUPreStr = "doubleU";
    7 _  J' l9 Z9 u  l0 S
  14.         string doubleLPreStr = "doubleL";8 ^% H, U/ j& q# B! _3 M
  15.         //get all the groups with the name str //groupColorRange6: O6 s" G* H$ C* |9 `- _4 F
  16.         vector<BlockStyler::UIBlock*> allBlocks = theUserDefinedUIBlock->TopBlock()->GetBlocks();
    & g/ z, a% Y8 v! f6 f+ P  X- r
  17.         //type: Group          name : groupColorRange
      }3 p( P& `/ `. D" u* i9 I8 t/ M5 f
  18.         //type : Group          name : groupColorRange1" m9 B5 i, d0 Z
  19.         //type : Group          name : groupColorRange10
    . S! p$ A9 ?3 ~8 A" |" d4 m
  20.         //type : Group          name : groupColorRange11
    2 \* G+ Z( Q: P  \" q) `4 E
  21.         //type : Group          name : groupColorRange125 H, y* W$ A& o: B
  22.         //type : Group          name : groupColorRange2/ p' C  @$ b+ p8 x# q
  23.         //type : Group          name : groupColorRange32 f# }4 r" n9 ^6 x
  24.         //type : Group          name : groupColorRange4
    : a& j; Q5 k- y* w+ [+ [
  25.         //type : Group          name : groupColorRange5
    6 c# C0 {1 |; J
  26.         //type : Group          name : groupColorRange6
    ; J, y8 S4 H' F. b4 D5 A0 f! O
  27.         //type : Group          name : groupColorRange7
    ' H1 l! x$ M/ F2 O- n- Q! G
  28.         //type : Group          name : groupColorRange87 p7 q! R2 Z; k* W# l
  29.         //type : Group          name : groupColorRange9
    # x9 n) @$ \; ]3 ^* e& h

  30.   F/ I. H( e7 I
  31.         for (int i = 0; i < allBlocks.size(); i++)
    7 s/ y0 @3 M) ?# }) M
  32.         {9 ?2 f* S! E( M
  33.                 BlockStyler::UIBlock* tempBlock = allBlocks[i];% ?& o7 \( |: c: m
  34.                 if (isSameNXString("Group", tempBlock->Type().GetText()))/ h- ]! R# J0 i
  35.                 {
    ' `+ ~; o. X* O7 [: S7 @. O& F
  36.                         string blockNameStr = tempBlock->Name().GetLocaleText();
    * W6 S4 M  @: W! A# G6 J
  37.                         size_t findIndex = blockNameStr.find("groupColorRange");, X! e+ J( V0 }* |' C7 B
  38.                         if (findIndex != string::npos). |! Q& K. e: P7 g1 v4 ~
  39.                         {
    1 |& c; H* n. T, a4 d8 B3 B) W
  40.                                 string subStr = blockNameStr.substr(groupPreStr.length());- Q* H# Z- D. D/ Y( [
  41.                                 // Echo("%s", subStr.c_str());7 J) W0 f  Z# C. i& K- n
  42.          //Echo("%d -- %d", atoi(subStr.c_str()), colorNum);
    1 X8 ?6 c! t3 E
  43.                                 if (colorNum >= atoi(subStr.c_str()))7 ^7 T  p: G3 {4 i9 R
  44.                                 {
    9 W! _$ I0 ~4 c# O' \7 s" D
  45.                                         shownGroup.push_back(tempBlock);, S0 R8 B/ h9 c$ Q* N
  46.                                 }
    3 L3 H; @" N4 e6 s1 t8 l
  47.                                 else
    ; e3 I. d/ k8 m" x
  48.                                 {# `) O6 c/ o: K/ u8 w  u3 H- Q  ~
  49.                                         hiddenGroup.push_back(tempBlock);; {& T; J' l8 x5 O9 |  @' o
  50.                                 }
    3 j) ?/ z# U5 a9 @
  51.                         }
    , j) |- Z: G! \9 f8 A
  52.                 }
    + u( f* J8 ]1 _0 N0 m% r* S
  53.         }8 K# h8 x7 u- }# k- ]
  54.         if (!shownGroup.empty())3 s! P( n/ U( F4 p
  55.         {
    9 ]* z0 u4 N+ f( O' |
  56.                 for (auto a : shownGroup)
    0 f, n2 x# w6 Z: m6 J) ?4 v
  57.                 {/ [# p/ U, w1 ~* H) k
  58.                         a->SetShow(true);
    1 w6 Q( X) N: X3 u& l# V

  59. 5 n; }6 m; @0 k. {/ H; q
  60.                 }
    $ q1 W. t) Q5 ?* v9 p4 p9 u
  61.         }. |) }5 ?; Z* c! A, e. O1 ^# a
  62.         if (!hiddenGroup.empty())
    1 D9 M( j: l. z+ o; K$ }# t' W
  63.         {* C9 T8 _- o, J. b; H" P
  64.                 for (auto a : hiddenGroup)
    ' {1 ^2 `+ i9 w* x
  65.                 {6 Y* x4 H1 J! i8 t* F; T  s
  66.                         a->SetShow(false);
    5 l( u5 T1 r$ a  V; L
  67.                 }! l4 C1 e8 ]$ X7 K1 J! e
  68.         }
    8 z6 A/ p; D- T0 t' F7 Z+ k9 K

  69. 8 g7 _& ]4 [" a
  70.     //实时更新显示
    3 o5 G& I+ A- Y* L/ `5 z2 G

  71. # ^) x9 D0 u# y; z, ?' C
  72.     UI_UpdateDoubleRangeValue();
      I5 g0 q7 r0 s7 K5 x- W4 V& ?  r: u
  73. }
复制代码
# Q  C3 R, s0 k* [9 m6 f
" T/ m8 {# G/ l/ I- T

' D$ D5 t  N- ~9 D6 T* X
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

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

本版积分规则

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