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

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

[复制链接]

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

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

admin 楼主

2017-5-8 16:41:46

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

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

x
) y7 [- O0 |4 j1 E

- @: B* i) o0 G) E8 aA Dialog Basic Command (对应案例中对话框 DialogA DialogACmd )
( `; l& Z( A. ^" Y$ i- H3 V7 h' j* D. P( G( b
5 y: j7 m' D, O8 ~$ T& P8 |+ v
步骤:
. _+ r% q5 X* V8 {( N+ W  W6 T+ L- e% y' V! |
1 创建普通对话框 :如案例中的DialogA,拖拽控件资源进行对话框布局,并保存。可以查看DialogA.h和DialogA.cpp文件中添加了对控件的声明和定义。
' O+ y; V/ T2 w, d# p
9 l+ K4 a: |9 p: i% t: L" e9 y
& }2 x) D2 P5 L5 n- L5 X2 }/ N- G, ?/ s
File ->Add CAAV5 Item -> CATIA Resource ->Dialog
( J+ j, s) a1 g+ X; w0 g0 z) ^2 w+ r! Y# J

+ _! x( `8 r8 n7 |! F
* v4 Y% w  A$ l! d- b3 z/ C; o3 S2 创建普通对话框基本命令 : , n! L8 O  P6 k5 _/ L' P2 @

! s1 G  q  z/ b  V% @0 rFile ->Add CAAV5 Item -> CATIA Resource ->Dialog -> Basic Command
5 Z8 m# V4 ?5 \2 j* N+ h. }1 S) C% o1 @$ q2 B" y( I! h$ e' @
3 命令驱动对话框
" ~3 a5 b1 N+ s" L5 {8 R$ d8 Y9 \
( Q! o* `* A+ D  Z  h创建命令文件后,创建对话框实例。包含对话框DialogA头文件#include” DialogA.h” ;在DialogACmd.h文件中声明DialogA类对象pDialogA,在DialogACmd.cpp文件的构造函数或者Activate函数中添加代码
1 j. |' v, S  C/ R3 W4 p( D  w% E% R0 f: P* G$ [
pDialogA = new DialogA();
4 ~/ t4 q  v: B0 D' W1 U6 g1 A# a+ f: a* Q1 w
         pDialogA->Build();
) `; G! j9 F' [; d. b
5 N- A6 U& d! H/ p  pDialogA->SetVisibility(CATDlgShow);2 J* s2 P( b3 v8 {" a, Q

7 z! a7 l* O8 S: Z+ M  s7 ^7 j4 关联工具条、按钮或者其他命令,本例中关联工具条
" x$ f# W' G% R* U3 i& p4 e& k) O' u2 [
建立工具条与命令的连接,通过命令文件启动对话框。2 C1 F" @# a/ |" s9 H& x, q% J
9 A* |1 T; ]+ [9 X  X4 {5 K
添加DialogTest  ,DialogACmd. r- O9 @4 L; w& Z
5 U. H0 |9 X1 `+ o" q. U% @- }6 t
! g9 K# G3 ?. u7 p2 a( P

( L6 p+ y; `9 k7 l! n/ H
; |. o1 C( S3 B# B* R
4 b; `; X+ M7 o  Dialog-box based command 对应案例中的DialogB.CATDlg ,DialogB.h,DialogB.cpp.
% {# L; A! u7 b6 w" i; ?- {
: M% J% I8 }6 ]9 @, g# a1 M! _/ X( f+ h+ v) B
B 基于对话框的命令在创建时会自动产生同名的.CATDlg文件,与基本对话框不同的是, 对话框 文件中定义了变量  int    m_FirstTime; 通过变量控制对话框对象的实例化。其他实现方式与基本命令相同
  n# ~  y% A# l5 b3 W6 u% B& ]
$ Y, f2 _$ i( j' r; M: r2 _
3 u( Q8 v& ~" Q: Y) h: p4 c2 x5 b6 G, z6 y% g4 [" G

. w7 g8 h* y* ]$ ]4 L% F' Z. }8 `) T0 i
C  状态命令在CAA交互式开发过程中的重要内容,比如需要对视图中模型进行交互选择时,就用到该类型的命令。
- C) z, j( _; {5 ?7 d$ n- K! K
) @( p- R3 C; N+ ?7 G. [  M用状态命令启动对话框时,同样方式同1>。
, q8 a3 V; L# {, l& E: |2 m$ |% G
pDialogC = new DialogC();
% [# i2 n( ?: n
* D. U4 }0 f, U& h' x0 a       pDialogC->Build();
: Q6 z" Z: k- @8 z" F. g5 H. ~' W2 l9 m! Y
       pDialogC ->SetVisibility(CATDlgShow);
& ]3 a. F% T& b5 u+ K+ K. ~3 t) m+ K+ _; Y
, ~( R# I% |- @/ `$ ?9 U' a" O
" Y- H; ]7 [5 X
三种命令用法总结
2 _9 I; ?0 \- s& @$ y. v7 a3 R* W, T
基本命令(Basic Command):无需选择对象或输入数值,如加载特征库。用于启动对话框时可以有或者没有输入,无需选择对象。
) O( ^5 Z, y& N. |7 Q* ]
5 |3 W5 q+ k5 u" Y基于对话框命令(Dialog-Based Command):无需选择对象但需输入数值,如根据输入的坐标值生成点。% }; o+ {, W7 M1 Y! z% u: ~

$ u- D" \$ Z/ A! v0 c基于状态命名(CATStateCommand):需选择对象,可有或没有面板。只有这种类型的命令才能进行undo管理。
' h+ q( F1 V2 ?! u+ R9 N
& }2 c0 o8 u9 C$ @& m( P1 y$ H- o
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了