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

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

[复制链接]

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

2471

主题

1276

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x
5 F4 Z4 o& ~3 s0 g) B, F

% N7 H' ?1 O- b# v! k. I7 H6 P' B$ N
一种自定义颜色条的方法,直接可以用,可以作为CAE后处理9 E' D: {/ H  N& R- o: D! r

9 z* q7 w7 x$ a8 s) `2 X QQ截图20230306115545.png 8 L% v" N* C; O+ s! B5 P

/ A1 p  r2 n: f7 ?, g( p3 m# e% P
  1. & J  f: }+ C3 ^4 n, _

  2. , E4 M9 g7 R* {' f  p  n, c0 L# q5 I
  3. 2 z, i1 ~( ~4 [3 [# e3 f

  4.   K8 E( X2 k/ S; U
  5. void UI_ColorRangeUDB::UI_ShowColorMapBlocks()
    " \0 M) O: L  ~* ^
  6. {, [; C* j/ ~6 i1 y9 M
  7.         int colorNum = integerColorNum->Value();* K- A2 X) L4 r) F- y
  8.         vector<BlockStyler::UIBlock*> hiddenGroup;3 a5 i' p# M6 D$ p1 e, |
  9.         hiddenGroup.clear();
    + V! ^( K5 U2 D9 k. F1 D( E$ Z
  10.         vector<BlockStyler::UIBlock*> shownGroup;
    ' X& p+ ]' |- w* t! L# K' |2 G
  11.         shownGroup.clear();# H+ G8 A* G2 V$ |
  12.         string groupPreStr = "groupColorRange";6 Y6 X5 Q4 v& o: g( ]
  13.         string doubleUPreStr = "doubleU";/ c  d$ `4 H8 e9 q) U& L
  14.         string doubleLPreStr = "doubleL";
    ' b/ z5 d7 w( L* |
  15.         //get all the groups with the name str //groupColorRange6& |- ~+ f: [' j
  16.         vector<BlockStyler::UIBlock*> allBlocks = theUserDefinedUIBlock->TopBlock()->GetBlocks();
    9 E) {  S2 \1 s& v
  17.         //type: Group          name : groupColorRange
    1 K2 y' V# n! `$ a3 f
  18.         //type : Group          name : groupColorRange1
    # p( H- M% i2 A3 F7 x
  19.         //type : Group          name : groupColorRange10: A3 H. m) g3 r% y+ Q( \
  20.         //type : Group          name : groupColorRange116 j( o- r- }* m' ]6 |4 n5 K0 A
  21.         //type : Group          name : groupColorRange125 X9 q1 L) Z' E, s: {, y0 k
  22.         //type : Group          name : groupColorRange2
    0 V- f# F0 R- ?4 A& O
  23.         //type : Group          name : groupColorRange36 N- ^/ W. ]" A; @+ h8 ?+ k$ I
  24.         //type : Group          name : groupColorRange4
    " v$ O9 a  f+ I3 j2 q7 D
  25.         //type : Group          name : groupColorRange54 W! X- a$ }2 A2 f
  26.         //type : Group          name : groupColorRange6
    * f& Q  A+ |5 g: b4 @
  27.         //type : Group          name : groupColorRange7
    # F/ U) {/ x/ d& M- v. @2 X
  28.         //type : Group          name : groupColorRange8! E3 z4 L  W% v9 J
  29.         //type : Group          name : groupColorRange9* @3 I! @& }: `  V

  30. . D. U5 q' W. G
  31.         for (int i = 0; i < allBlocks.size(); i++)
    # d+ T, r. |$ U2 i# h, Q
  32.         {2 d2 I0 N3 `( V" Q( ~7 Y
  33.                 BlockStyler::UIBlock* tempBlock = allBlocks[i];
    8 H0 F7 i  G- Y$ L! O
  34.                 if (isSameNXString("Group", tempBlock->Type().GetText())). ]8 ?  D0 |7 o2 M6 k* ^8 z
  35.                 {
    # ]( X8 R& \6 }/ l9 [# n1 ]
  36.                         string blockNameStr = tempBlock->Name().GetLocaleText();' Q1 Z7 X2 x& m% ]$ z
  37.                         size_t findIndex = blockNameStr.find("groupColorRange");0 q; n  _0 r3 T9 A4 ?- L
  38.                         if (findIndex != string::npos)
    / G0 O. l$ B. n9 V) ]
  39.                         {' j9 k' v5 T! h/ n) [, M1 }( X
  40.                                 string subStr = blockNameStr.substr(groupPreStr.length());
    ; \, f) w8 a0 T" p
  41.                                 // Echo("%s", subStr.c_str());  b! B$ \, T4 x% F+ Z
  42.          //Echo("%d -- %d", atoi(subStr.c_str()), colorNum);
    # u7 Q, a$ A/ l4 a# T
  43.                                 if (colorNum >= atoi(subStr.c_str()))
    ( S+ \: p! x4 u# l: H, v
  44.                                 {/ A9 H; R& [3 V* T2 N% c, o
  45.                                         shownGroup.push_back(tempBlock);2 Y9 z- B, a4 i+ J
  46.                                 }) q4 t! w( i* x* F
  47.                                 else' E7 d8 q: p6 j9 C# e
  48.                                 {/ A" E+ q) u# }* {
  49.                                         hiddenGroup.push_back(tempBlock);# H3 q' t: A* C3 b6 K
  50.                                 }
    9 X1 p. W5 L7 H* ~" h, I  K8 X
  51.                         }% i2 r/ u7 ?  X! e& N/ a
  52.                 }
    & \& o; Y4 J: S5 P0 Z- f7 ]
  53.         }
    : l5 L& H( Q& V
  54.         if (!shownGroup.empty())1 f% Q" M4 `2 W4 H
  55.         {( k, [7 X& h1 t2 L- o9 _3 E# d8 x
  56.                 for (auto a : shownGroup)5 J! e! ], m" b  s( E
  57.                 {
    : H- Y, c( y& @* L3 E) {
  58.                         a->SetShow(true);' L" @  m9 f" C1 m; \( e

  59. & _9 }2 s9 c8 C* D8 F0 ~
  60.                 }
      \( `  j: D2 A4 F4 g
  61.         }
    * h$ t  ]9 o0 `- q/ f
  62.         if (!hiddenGroup.empty())" T" b) B& y/ v; V" h! ^
  63.         {$ N* Q) k7 E% U, S
  64.                 for (auto a : hiddenGroup)
    6 z7 A- U* d% i! K0 @
  65.                 {# L1 V5 w: F6 }7 Y
  66.                         a->SetShow(false);
    7 }% P# l* f+ j5 J1 X! q8 T7 h6 H
  67.                 }
    $ w2 R' s4 W% \9 b3 H/ m7 B
  68.         }
    + m8 i/ e, D2 w7 L
  69. - q6 S" x% p6 g& H
  70.     //实时更新显示) D. V  u/ d* p/ L/ Z$ o
  71. : B* l2 P' m. Y9 H
  72.     UI_UpdateDoubleRangeValue();+ Z* Y( T: S& G4 t) m# O8 S7 T
  73. }
复制代码

6 N# {2 G4 x+ b8 `- g9 p* D' U$ s) l# ]

/ y" R! X/ M2 I$ R0 D4 h8 m+ L
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了