查看: 4380|回复: 0

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

[复制链接]

4

主题

3

回帖

40

积分

管理员

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

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

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

×

4 K. f( I7 n2 m6 V+ Z3 X8 G, `, a# w* R/ k* @+ N* W8 N" x
A Dialog Basic Command (对应案例中对话框 DialogA DialogACmd )/ C0 R8 ?$ v  r7 Q* C
+ ]- C6 b6 m2 Q5 f) E1 ^, k! C
; r3 ^& l& j8 m5 N
步骤:* h! }* M0 m& ]! ^

! e" G8 i9 `, T$ ?1 创建普通对话框 :如案例中的DialogA,拖拽控件资源进行对话框布局,并保存。可以查看DialogA.h和DialogA.cpp文件中添加了对控件的声明和定义。
6 g3 q+ S/ q  g* \9 M
7 q3 D2 K. l+ t7 t7 a$ T2 ~1 `  ]$ H3 Q) J+ H. f! T. }
3 ?  f, d) f5 L, X- H7 E2 z
File ->Add CAAV5 Item -> CATIA Resource ->Dialog/ _; x; Q6 I" y6 G

* n/ M! r- X, _7 B: t% S
3 [& F5 N7 [+ i& a
# `; z7 E) S$ D4 t+ B2 创建普通对话框基本命令 :
% |( e  U$ V4 w8 [/ g
. ?, s) ~$ K6 `  e4 ZFile ->Add CAAV5 Item -> CATIA Resource ->Dialog -> Basic Command
4 Q" o9 H2 s4 `* w0 x$ s. e$ X/ b8 g2 U- }" J7 w; a
3 命令驱动对话框
; g" E7 Q% O4 F+ t$ F  n
% m3 `2 H& {& P. l创建命令文件后,创建对话框实例。包含对话框DialogA头文件#include” DialogA.h” ;在DialogACmd.h文件中声明DialogA类对象pDialogA,在DialogACmd.cpp文件的构造函数或者Activate函数中添加代码2 [% ]# u! h8 S: O5 O

% L& m1 H- s/ T) `pDialogA = new DialogA();
- W# H; N. G4 }6 c1 [; `6 o" I+ E. d! @
         pDialogA->Build();
1 u$ y* C( T, J  J% N
# i6 k9 [- T# l) A  pDialogA->SetVisibility(CATDlgShow);1 n5 J6 i% l+ P; u& j8 k

& t. G7 y2 D/ H6 \4 关联工具条、按钮或者其他命令,本例中关联工具条6 K' T% [* b  ?% ^1 o- m
, Y  ~: a1 |! F  g& K- @
建立工具条与命令的连接,通过命令文件启动对话框。
2 v8 q) O; C1 s* b
& `1 N7 S9 x/ N! \添加DialogTest  ,DialogACmd
/ V5 d( O8 K0 Z- S$ y5 L; R+ J& e. ?4 k. ~3 }" P  v# d0 P
  N- I+ h# M/ o; ]. D3 k' f
1 j# r6 e# h5 |( m+ X+ N! m( z

- U# Z  S/ c- k  L$ F
5 }! I  ?! A( W  Dialog-box based command 对应案例中的DialogB.CATDlg ,DialogB.h,DialogB.cpp.
( v6 K6 s7 T; z& E; p4 b
' D% d* ^; x# {+ O6 B2 p
, d5 k3 a7 @$ m" ]% w, O4 u8 YB 基于对话框的命令在创建时会自动产生同名的.CATDlg文件,与基本对话框不同的是, 对话框 文件中定义了变量  int    m_FirstTime; 通过变量控制对话框对象的实例化。其他实现方式与基本命令相同
& b1 S6 ?0 F+ r) q3 z9 A7 D5 O& d: X( Y

9 u+ X- r; m) h. n+ y& E- T
1 g( j2 W, S% R% e+ ^4 H. ~3 r2 b7 L: Q4 A% y$ M
1 }# h' ]9 ~6 W
C  状态命令在CAA交互式开发过程中的重要内容,比如需要对视图中模型进行交互选择时,就用到该类型的命令。
( [3 e8 s$ L& Y1 h+ ?! t3 a" T& G. f5 A) s; h
用状态命令启动对话框时,同样方式同1>。
8 x1 }: ^% @5 F; `1 h0 k! c$ m9 T, X0 H1 w7 b( w1 y- k. m6 x! v/ r+ s
pDialogC = new DialogC();# H: [  x, x5 |# f! S. g' w
1 C& n' u4 L: y5 ?! n! [
       pDialogC->Build();
  u% l; |) J) i) w$ X# ?' J* m% b1 a, h% o$ V3 d& \: h3 d
       pDialogC ->SetVisibility(CATDlgShow);) O  ^- d8 w3 n) i! \& {
6 [( e  E, x, J

" A# L* z( y; D3 y8 I& l1 ~3 C& d; J' c: }1 [
三种命令用法总结 1 i' _1 a, G% B& c
7 K; h- D: B& E/ w3 V; `
基本命令(Basic Command):无需选择对象或输入数值,如加载特征库。用于启动对话框时可以有或者没有输入,无需选择对象。+ l3 o; J6 ]3 x: d$ ~  l  k9 ]
" s; ?6 v9 k6 ^( N' Q$ i6 Z' f
基于对话框命令(Dialog-Based Command):无需选择对象但需输入数值,如根据输入的坐标值生成点。
) v' o& D- S0 a. q. }
7 g' P2 c  h/ Y6 @1 x) Q' k- P基于状态命名(CATStateCommand):需选择对象,可有或没有面板。只有这种类型的命令才能进行undo管理。
/ M" O( y: x; E: _. a  S8 S
8 o- r$ P% j9 p( u6 c! M* j' c7 E
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

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

本版积分规则

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