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

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

[复制链接]

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

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

admin 楼主

2023-3-6 11:55:57

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

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

x
1 C& E, p; U: a' z

  Y1 G3 E) s, _( U% Q/ o7 k3 S! j- ?5 [( {) R( I
一种自定义颜色条的方法,直接可以用,可以作为CAE后处理2 o2 t8 C1 v0 g! E5 H- F) x
- A* u4 r$ w# J, t+ D, w
QQ截图20230306115545.png 7 |/ i, [# F9 }; a! x3 W5 Y7 a- V

) {7 {7 z' z3 q. z5 n
  1. " _4 V! V) O0 |2 @/ m
  2. 6 L$ Y. A+ D! o" t6 _. _$ _( E
  3. % F7 }* z) k1 P- `

  4. ! V1 F) t9 g& V7 ~7 j1 E
  5. void UI_ColorRangeUDB::UI_ShowColorMapBlocks()1 J: r$ k  }  N# {* R& V& v- q: N
  6. {
    9 C9 y: A* H$ R* S! v2 @  M
  7.         int colorNum = integerColorNum->Value();5 P4 V# E7 y/ L  d! a! W4 z
  8.         vector<BlockStyler::UIBlock*> hiddenGroup;
    7 D9 e* k/ V6 p# D( ]" x
  9.         hiddenGroup.clear();
    5 s- ^' n/ p' b) p8 B$ b
  10.         vector<BlockStyler::UIBlock*> shownGroup;
    & P4 H8 n8 m6 i- D* Q% m) s  \9 U; b
  11.         shownGroup.clear();& L1 `+ D* X6 D+ D6 Q( u
  12.         string groupPreStr = "groupColorRange";
    0 l) v. m2 j+ D* f. g
  13.         string doubleUPreStr = "doubleU";' g! q2 @1 G: c, e# D
  14.         string doubleLPreStr = "doubleL";
    5 x" \, ]0 F; _  Z( x, z* ^; s8 l
  15.         //get all the groups with the name str //groupColorRange6
    % [8 ~5 W( J' h0 R1 d, p
  16.         vector<BlockStyler::UIBlock*> allBlocks = theUserDefinedUIBlock->TopBlock()->GetBlocks();6 s$ s' g! }8 {
  17.         //type: Group          name : groupColorRange& Q6 e* |) M; L6 e
  18.         //type : Group          name : groupColorRange1
    . \' s- G- J( o' r- F" B& g3 E
  19.         //type : Group          name : groupColorRange10- w1 W" w& F2 j+ s' U
  20.         //type : Group          name : groupColorRange11
    $ |) m! p/ P  N
  21.         //type : Group          name : groupColorRange12
    6 P9 r3 f% T: r. ^+ m
  22.         //type : Group          name : groupColorRange2
    9 f% n+ Q7 i: k' j! \8 Q$ H5 Z
  23.         //type : Group          name : groupColorRange3
    + d% @2 L3 ~& ?
  24.         //type : Group          name : groupColorRange4
    ! z- L" b2 q' s) J2 B) Q% n
  25.         //type : Group          name : groupColorRange5
    , Y8 }4 {- s3 z  q5 R0 _
  26.         //type : Group          name : groupColorRange6
    ) L; z. q6 ?; Z/ c
  27.         //type : Group          name : groupColorRange7
    ' o- S* Z! ?, ~) N
  28.         //type : Group          name : groupColorRange8/ Y, }2 Y" O+ ^5 i
  29.         //type : Group          name : groupColorRange91 E5 s; o' w; z# j
  30. 1 g: t! R( i* O. v' Z
  31.         for (int i = 0; i < allBlocks.size(); i++)
    - R6 O# \, e7 z& I
  32.         {% n& h: a4 J/ c" D, K+ B
  33.                 BlockStyler::UIBlock* tempBlock = allBlocks[i];' d% q" H3 w0 T* D& L+ i) c
  34.                 if (isSameNXString("Group", tempBlock->Type().GetText()))
    ) u9 Q' l: u+ U1 f
  35.                 {) f$ e% m5 I, j- u" `8 H! i' e, I$ s
  36.                         string blockNameStr = tempBlock->Name().GetLocaleText();
    , P/ a" r" \8 _0 p" F' E7 w0 Z
  37.                         size_t findIndex = blockNameStr.find("groupColorRange");! d) N& M3 k' Q+ w$ I# F: P
  38.                         if (findIndex != string::npos)
    2 a4 @( D% H8 u$ f" ^
  39.                         {* E0 a+ k3 H, V/ Z6 D6 |7 Y9 q
  40.                                 string subStr = blockNameStr.substr(groupPreStr.length());8 A! o. E5 c) f3 z* z+ r
  41.                                 // Echo("%s", subStr.c_str());
    : p) C4 h9 J- o- f  F/ ^% F
  42.          //Echo("%d -- %d", atoi(subStr.c_str()), colorNum);
    / G. m0 a) E& i
  43.                                 if (colorNum >= atoi(subStr.c_str()))
    ) e0 c5 i6 B: x0 u* R6 b  g1 Z' U
  44.                                 {% j% X6 V) h- [! J
  45.                                         shownGroup.push_back(tempBlock);
    ( v7 R2 c$ o, u- n$ b6 ?
  46.                                 }! C0 n7 }' Y: t: ?6 p' B) Z% M$ E
  47.                                 else
    + f0 k% B# p4 n. y" q
  48.                                 {, R; R# F0 M8 p- n8 X
  49.                                         hiddenGroup.push_back(tempBlock);6 Y8 e+ s: E0 e5 }( W7 j
  50.                                 }7 @& @* @- X6 j7 v( |, z
  51.                         }
    7 Z, y# J& G! \$ g
  52.                 }5 r5 ]$ X* i3 b& t/ J6 E' ~
  53.         }( T* _! O$ x; B* A
  54.         if (!shownGroup.empty())
    ; _7 @" i$ M* J( \/ O9 o
  55.         {
    6 a0 B+ A; `" Z3 o9 i& m
  56.                 for (auto a : shownGroup), S6 X1 B# f( E( Y  S
  57.                 {
    6 r% F! ], A  E) l7 m8 \
  58.                         a->SetShow(true);2 P: [0 ~* P( h8 p* L6 x
  59. ) m* ?3 I3 E- a' P
  60.                 }
    $ e6 I9 ^6 ~3 W' Y) {% F& G
  61.         }
    ) _! T4 s; x- I) S- X2 W* q
  62.         if (!hiddenGroup.empty())6 p. F. d) q7 M) O  U- t# V
  63.         {
    . `: P' v7 `8 X) y0 |* P3 Q2 c
  64.                 for (auto a : hiddenGroup)4 Y! ?+ p1 v9 ?' K: I. ]
  65.                 {
    * Q2 L8 ^$ d" ]8 o6 k; [
  66.                         a->SetShow(false);
    ) Q! T. f/ m0 Y! [  K3 V/ Z
  67.                 }4 l' B  d1 o1 L* }2 ]
  68.         }/ |8 s  C9 z/ B& m
  69. ; b  B/ l' w3 b* C
  70.     //实时更新显示. l( V; x( R: X. u3 g

  71. ( o6 d! h' w* y! c1 p
  72.     UI_UpdateDoubleRangeValue();& k9 t7 w  \8 P0 u7 y
  73. }
复制代码
& T$ D$ g, K2 a" Y8 D, `( H. d1 H
3 _$ \. Q5 k8 b( G% a: U

3 @) ~4 @* Y5 u- F. o! t
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了