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

Catia CAA 三种命令启动对话框的方式和区别

[复制链接]

2017-5-8 16:41:46 4159 0

admin 发表于 2017-5-8 16:41:46 |阅读模式

admin 楼主

2017-5-8 16:41:46

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

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

x
2 U1 w; E3 `" W( V0 X' S! Q
$ @% ^- F4 H2 c" |
A Dialog Basic Command (对应案例中对话框 DialogA DialogACmd )
% x! _3 v' v- ]1 i% ~8 H# L
0 P  B! R% w3 ~
: N/ {2 o. U; q7 r/ ^步骤:
2 C* `* S& B- \& C3 q5 n2 r
  C' _! x" o- a1 创建普通对话框 :如案例中的DialogA,拖拽控件资源进行对话框布局,并保存。可以查看DialogA.h和DialogA.cpp文件中添加了对控件的声明和定义。
9 t' {6 R& B) H# e" e: E, O6 r) c! U/ P; o

1 C1 B% O) ?; a6 r
* u; b. q3 t& H4 {3 |File ->Add CAAV5 Item -> CATIA Resource ->Dialog+ Y5 R2 K9 n" C8 L# s8 I' l3 r

0 x8 p; x( F  }! g) H
: E; \7 p* j$ f- a7 ]5 C4 M9 L
1 H" N3 W' ~, p  W9 X8 ^( B$ A2 创建普通对话框基本命令 : 3 D. c: {' M8 `; F5 x; U
, a8 F, Y5 [, G" J0 n1 |
File ->Add CAAV5 Item -> CATIA Resource ->Dialog -> Basic Command' R( ^$ _+ z7 a( Y  R- ]

: A. g  S& p* h- f+ {0 h1 K# c6 ?7 F3 命令驱动对话框
8 v- q1 P) N% X' h/ B2 q; ?
) L  |5 j* {, b  V5 Q6 m创建命令文件后,创建对话框实例。包含对话框DialogA头文件#include” DialogA.h” ;在DialogACmd.h文件中声明DialogA类对象pDialogA,在DialogACmd.cpp文件的构造函数或者Activate函数中添加代码+ `+ y0 r- ?; {3 o1 j4 f

( D( Q% i. ?! c8 X* E: j3 o- y3 lpDialogA = new DialogA();
/ Y. p2 G0 Q% x2 V0 \. M4 G! k' Z' t( F- I
         pDialogA->Build();& V0 I% q1 o- J5 ^% x
/ s% R3 ]) I- T& a$ W4 d$ @' X$ A
  pDialogA->SetVisibility(CATDlgShow);, J4 M4 Z1 n. P
- g* k  _" |( z6 V( \
4 关联工具条、按钮或者其他命令,本例中关联工具条  |. W6 P: z; ?, @

& B3 M0 T! D5 D" k1 Z5 _建立工具条与命令的连接,通过命令文件启动对话框。
" g4 K0 l& F# e' D: X  i  O# w0 {, G' o6 j2 w
添加DialogTest  ,DialogACmd
; X7 k4 y; f2 t4 R' ]# t3 Q) `2 g4 d
$ F9 b6 r, n: d  U# T8 t5 x6 k/ Y" n3 s* `8 C+ U1 L, [  U: k

2 E3 n9 ]& l) o3 G% C. L: _+ S7 C* E8 R7 `( W; A9 D

0 F4 _. Y; y" c7 P* \6 c  Dialog-box based command 对应案例中的DialogB.CATDlg ,DialogB.h,DialogB.cpp.
2 U# ^7 l% ?& x) u9 z% E
5 U0 K1 D# t; x  h+ [
/ k: H( Q& u7 ~! x0 UB 基于对话框的命令在创建时会自动产生同名的.CATDlg文件,与基本对话框不同的是, 对话框 文件中定义了变量  int    m_FirstTime; 通过变量控制对话框对象的实例化。其他实现方式与基本命令相同
5 l5 c  ~% h3 ?! z, |+ ^- x1 I8 J3 l0 H, A4 i6 D" K
8 g6 N8 s& c* s- z# Q# I( T

0 L  [* U6 N) Y: }1 h6 A& W
. ~4 g  ^  l4 b/ g, D$ f" L
. \) C: {4 t9 t0 aC  状态命令在CAA交互式开发过程中的重要内容,比如需要对视图中模型进行交互选择时,就用到该类型的命令。
: J: f( G7 ^& l8 a* s1 _. n7 O: N5 b8 J2 r" R
用状态命令启动对话框时,同样方式同1>。0 H% W* N9 B: q/ O: _/ k: P

6 ^0 G! `6 s7 U3 J0 D1 bpDialogC = new DialogC();9 @, r8 v1 q3 p' l2 k

8 T2 c4 f' `  ?3 I       pDialogC->Build();7 V( M0 [  M, [1 u! J7 a1 n5 @
7 a% j: Q* M) i  b2 n1 k
       pDialogC ->SetVisibility(CATDlgShow);% s) N! H/ u& O
, ~0 I  C) }1 l, R! K  S  W* n" r
+ I  r: R% m7 T9 u7 f" Y4 V. z1 s

6 C' c: ?2 x8 U7 F: `; B三种命令用法总结
' ]4 h% G! u- J! f- E0 I  e' r6 r, F3 v
基本命令(Basic Command):无需选择对象或输入数值,如加载特征库。用于启动对话框时可以有或者没有输入,无需选择对象。
8 J( U0 A8 F$ F: y( q
- h+ s- U6 A; O* q/ f2 W% D' ]基于对话框命令(Dialog-Based Command):无需选择对象但需输入数值,如根据输入的坐标值生成点。
* Z3 d. q, O+ Y3 U& X; Y% v
3 y+ d% L, d# j; t2 t% |基于状态命名(CATStateCommand):需选择对象,可有或没有面板。只有这种类型的命令才能进行undo管理。
+ q) F, ]6 s, h
' j$ P# k; @$ s
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了