查看: 4446|回复: 0

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

[复制链接]

4

主题

3

回帖

46

积分

管理员

积分
46
发表于 2017-5-8 16:41:46 | 显示全部楼层 |阅读模式

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

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

×

5 l. O0 E( ]+ d+ I$ r9 q: s. }. X& l" n! {4 f0 g: O
A Dialog Basic Command (对应案例中对话框 DialogA DialogACmd )
( V8 H: g2 b. j1 z' Y6 v' [9 `& h6 H! f0 ~
& r  h2 n6 {4 a( I2 B2 W6 d
步骤:
  u4 H2 t" F0 c5 s/ A$ k3 U1 L1 q9 |! m$ l6 C* i& b* h8 i, [
1 创建普通对话框 :如案例中的DialogA,拖拽控件资源进行对话框布局,并保存。可以查看DialogA.h和DialogA.cpp文件中添加了对控件的声明和定义。
6 c+ t* g. w# y6 z& J- K* i
! R# |( c# D1 c& g; u+ @5 A3 A0 e/ ~0 M$ ]
: k+ f* j! L3 @) d/ W8 @- \8 z9 H
File ->Add CAAV5 Item -> CATIA Resource ->Dialog
3 }. U- z% n- |2 a( V$ _
( A: x+ v* J- i4 O* _; I* H( @8 J3 _8 P

# ]! h0 p2 j' a* Q! m+ I0 O2 创建普通对话框基本命令 :
5 _. U: D& H+ ]. L/ v; ?! X+ c+ h9 d2 z
File ->Add CAAV5 Item -> CATIA Resource ->Dialog -> Basic Command
  [: K. _% t- W- M" E' _/ G9 K
3 命令驱动对话框# m8 Q. i& Y1 F, F

4 E" {" F7 S: S! X2 d* \创建命令文件后,创建对话框实例。包含对话框DialogA头文件#include” DialogA.h” ;在DialogACmd.h文件中声明DialogA类对象pDialogA,在DialogACmd.cpp文件的构造函数或者Activate函数中添加代码) M" ^% C7 V7 Y5 I8 ]
- p( ?7 }5 F- u/ E+ v7 r
pDialogA = new DialogA();$ o; y( k2 M$ m9 |% {4 f
$ M: ^2 g. ?7 G( B4 G& B* R
         pDialogA->Build();
! {! H5 S/ B. H9 w! B% z+ K
* R/ W: y; j1 W1 Y( R5 |6 X  pDialogA->SetVisibility(CATDlgShow);
9 ^" j& [$ W2 S5 F, V# M
/ ~& _+ h* g4 J1 M4 关联工具条、按钮或者其他命令,本例中关联工具条# j- v5 s, S, A* v5 z. u1 \3 P
% e  s9 i9 D. M. @
建立工具条与命令的连接,通过命令文件启动对话框。8 W3 R# J9 g! y

  S/ `) X: {% p; Q& v! R& o添加DialogTest  ,DialogACmd
7 Z7 a0 w* ^# M6 H$ ]- K1 V
1 `, l  G1 V# c4 a+ Y& \
; Q/ {, T/ W- d- @! U3 N/ E0 V9 s3 `/ q$ V4 L

. I% x, F# K+ u6 E, Y# ^
  a- G, B$ ]  V; o/ {: N  Dialog-box based command 对应案例中的DialogB.CATDlg ,DialogB.h,DialogB.cpp.5 g% I4 f' l9 i; W: @2 n& i% g
, O5 p- \- {  \! O
+ n8 p1 U! O, {+ w9 l
B 基于对话框的命令在创建时会自动产生同名的.CATDlg文件,与基本对话框不同的是, 对话框 文件中定义了变量  int    m_FirstTime; 通过变量控制对话框对象的实例化。其他实现方式与基本命令相同* }, V/ r6 c% F& `3 o5 B

- W. d8 r9 K: \4 M# c6 P
+ f! y0 Z4 b' l, v7 g
1 k$ k" D" \$ [" ~' |7 o4 T
& w% O0 g9 _1 k8 o0 X$ P, T. P* H& R1 ]' O
C  状态命令在CAA交互式开发过程中的重要内容,比如需要对视图中模型进行交互选择时,就用到该类型的命令。2 ~' [1 d/ e1 ?: V

) X% O- R  t" z9 ~% Z% A) ~  W用状态命令启动对话框时,同样方式同1>。7 |$ B  R! [& v1 B" y# `5 E/ G

* z! Z5 N) M$ G. ~" F' apDialogC = new DialogC();3 R% g" L# \* R& k; a

$ ^4 R  k; [, x: t       pDialogC->Build();$ w  S+ f8 m/ z2 V' B& N
( e( g* `# u% t1 c) l$ c2 {! s
       pDialogC ->SetVisibility(CATDlgShow);
; n  Q' ~3 a  k  p" V% O) U+ e+ Y6 }! x) x# Q( H

/ j- _5 m, n: Y. [. T
6 W; M9 `$ u  p三种命令用法总结
2 H. k$ ?" Q! u& A
$ j/ D+ ^$ L9 y- l基本命令(Basic Command):无需选择对象或输入数值,如加载特征库。用于启动对话框时可以有或者没有输入,无需选择对象。: \( ^  C2 `: _9 h: u5 l7 f

8 m! y8 I4 w- ?9 K" y  R- x基于对话框命令(Dialog-Based Command):无需选择对象但需输入数值,如根据输入的坐标值生成点。" y! j7 \8 `+ D$ G
! A8 _& a. ]+ A/ F, p; y
基于状态命名(CATStateCommand):需选择对象,可有或没有面板。只有这种类型的命令才能进行undo管理。
. f" S/ E1 \7 r; i1 G, K4 [4 l% N' ?2 }5 V1 V% t+ m  a
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

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

本版积分规则

在本版发帖
关注公众号
QQ客服返回顶部