PLM之家PLMHome-工业软件践行者

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

[复制链接]

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

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

admin 楼主

2023-3-6 11:55:57

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

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

x
# z  i3 q; y$ Y4 u3 }$ W

8 a5 Z7 o" o4 k9 O- g: E4 R8 z* k+ n/ i8 p. ]& F! }
一种自定义颜色条的方法,直接可以用,可以作为CAE后处理# Y$ u% h! p3 J3 U+ \% V

6 V6 K, I  ]5 L5 ? QQ截图20230306115545.png 6 i8 l! z; X; Q4 a
3 l3 N0 L/ Y( s# s  }$ R& C
  1. - q" X. h* x0 v) }7 \
  2. 5 \! C5 h7 O  f+ u
  3. 7 W* `* r1 Q3 n  N: G# q4 q
  4. " `% X' A3 g' R2 X
  5. void UI_ColorRangeUDB::UI_ShowColorMapBlocks()
    ( v0 |% A1 i1 ]* G4 r
  6. {4 j& u- q0 d1 z2 u( ~
  7.         int colorNum = integerColorNum->Value();$ t6 [5 N) Z) |* u1 g8 d
  8.         vector<BlockStyler::UIBlock*> hiddenGroup;
    , L+ e: O* Y* T- c/ S6 i3 w" }
  9.         hiddenGroup.clear();
    : Z# F) p( |& L* U+ w
  10.         vector<BlockStyler::UIBlock*> shownGroup;2 M+ R9 p  D. r' P! |% W
  11.         shownGroup.clear();( ?8 `; g1 \$ ]: e, o9 |
  12.         string groupPreStr = "groupColorRange";
    , n  i5 K5 G- H9 E, J/ _3 N- d$ L
  13.         string doubleUPreStr = "doubleU";6 u& ?6 c$ \& R! @1 K2 P$ u6 a
  14.         string doubleLPreStr = "doubleL";
    ' N: B" n7 T$ ]3 Z
  15.         //get all the groups with the name str //groupColorRange6" k. @" v8 t1 \6 g9 J5 ]
  16.         vector<BlockStyler::UIBlock*> allBlocks = theUserDefinedUIBlock->TopBlock()->GetBlocks();9 N, L  r5 n/ a( p4 q. |9 `7 F5 O& W
  17.         //type: Group          name : groupColorRange9 Y, _2 W/ z& G: S7 a; I8 K! k# S9 ^! j
  18.         //type : Group          name : groupColorRange13 @  G7 v. I, g# S+ Q
  19.         //type : Group          name : groupColorRange109 F3 C& k; i% V9 r  w, i$ L
  20.         //type : Group          name : groupColorRange11' C! \7 i, Y  V8 K3 s
  21.         //type : Group          name : groupColorRange12
    - Y7 Y- N! J6 _% |; s6 l' t
  22.         //type : Group          name : groupColorRange2
    4 `/ M& ^/ X! h: W" h. |0 o
  23.         //type : Group          name : groupColorRange3
    % g; t8 B5 X+ K8 H. ?
  24.         //type : Group          name : groupColorRange43 y9 P, G, i4 u% y
  25.         //type : Group          name : groupColorRange5
    8 X7 P' D- z/ c
  26.         //type : Group          name : groupColorRange6& i0 ~% F! O1 ]$ U) h
  27.         //type : Group          name : groupColorRange7
    1 ]8 ]+ Y/ a/ Y0 j9 g
  28.         //type : Group          name : groupColorRange8& |9 g7 z0 Q0 F% B) J8 m
  29.         //type : Group          name : groupColorRange9. L1 ]3 ]8 Z$ r5 N" h8 j- g. O4 U

  30. 4 R  X( k( f" P" U' m. c5 ]" l8 I6 y$ R
  31.         for (int i = 0; i < allBlocks.size(); i++)
    ) L; q% D, X6 U* }
  32.         {
    - U: C6 t! e8 C4 X. U
  33.                 BlockStyler::UIBlock* tempBlock = allBlocks[i];
    2 T% f5 ?; R& F, t
  34.                 if (isSameNXString("Group", tempBlock->Type().GetText()))+ D! t. q- \( R
  35.                 {6 x6 M4 |, {' }5 M; r3 D7 U
  36.                         string blockNameStr = tempBlock->Name().GetLocaleText();9 F. U3 f6 \' T3 m5 M! L- I- o
  37.                         size_t findIndex = blockNameStr.find("groupColorRange");
    6 T: L' C- E9 M* ^0 U" p
  38.                         if (findIndex != string::npos)
    ( X2 a# M0 v3 r
  39.                         {& ^7 i; u  R) R+ d  `5 P
  40.                                 string subStr = blockNameStr.substr(groupPreStr.length());
    " \$ n1 R/ F4 m$ M
  41.                                 // Echo("%s", subStr.c_str());
    7 o$ p+ n% W: B
  42.          //Echo("%d -- %d", atoi(subStr.c_str()), colorNum);2 M( ~3 ]2 }# ?4 w/ S/ h# b
  43.                                 if (colorNum >= atoi(subStr.c_str()))
    5 Z* l* c4 }4 r+ W) C9 t; @
  44.                                 {
    4 x  `5 C  ~2 A) s. s: [
  45.                                         shownGroup.push_back(tempBlock);
    / z  y* v! G  C7 S. G
  46.                                 }# n' R3 d% r. D! n
  47.                                 else1 j, f$ l" n9 K0 Z0 l
  48.                                 {+ v$ j8 x4 }1 V5 p, @6 N) c# X
  49.                                         hiddenGroup.push_back(tempBlock);
    3 K  J1 ^2 v9 Z& |# Z
  50.                                 }9 h& O0 y2 m0 x2 c. @# g2 G
  51.                         }
    9 g  r% A& N" T0 P
  52.                 }
    1 U# X4 P. ?8 v. b2 {! o! [
  53.         }
    ( u; o6 y4 ?6 N. L" g& g1 K* p( g
  54.         if (!shownGroup.empty())) ~$ G: Q1 w2 k1 a6 s0 L
  55.         {' E. ]% s  D# d/ H0 O( f- k
  56.                 for (auto a : shownGroup)
    % x4 C; ^, d# S3 x
  57.                 {
    : N3 i1 O& t2 \! X1 U
  58.                         a->SetShow(true);
    8 A; g" o0 s: T6 U, S" c

  59. # D4 |+ e/ ^$ Z% M# B
  60.                 }
    4 ~+ m2 d2 X, G8 S; ?+ u
  61.         }
    4 O- F3 O/ N9 j+ A5 m
  62.         if (!hiddenGroup.empty())5 ?& _6 u9 C+ J9 Q9 k4 P/ [5 Z
  63.         {
    2 U1 J4 n0 M- a1 a
  64.                 for (auto a : hiddenGroup)9 S# f; X8 K' X" u
  65.                 {
    ! P9 O) ^% T, I4 Q* V
  66.                         a->SetShow(false);
    . v1 Z6 D/ m) @1 E1 N3 X' Z
  67.                 }2 c6 k- G/ d; V7 I; I
  68.         }. }2 P  j, a9 U& s6 x  W

  69. 5 B+ p6 G/ _7 @$ r
  70.     //实时更新显示' u0 U2 C+ R: ~. y+ ?  G8 ]$ j1 F% ~

  71. 9 I+ P4 b: U9 x% {1 i: u! c$ q
  72.     UI_UpdateDoubleRangeValue();; c  V* @4 q: J. V8 _
  73. }
复制代码
6 U; E9 g3 l8 [

0 ]7 \% _/ C+ }+ t3 z& `
) q6 H. V$ k& ?, V9 x0 U) M/ [
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了