查看: 4447|回复: 0

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

[复制链接]

4

主题

3

回帖

46

积分

管理员

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

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

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

×

" p+ j3 Y# n5 u) K: T2 }: j
# c% u2 d7 X: v/ U3 CA Dialog Basic Command (对应案例中对话框 DialogA DialogACmd )
2 L. G$ H% y/ C8 r+ I0 S! f" Z2 [2 Y3 \9 ~" H

1 z+ O5 p) R6 q, r) m步骤:! e  v+ G* I/ ]$ w$ S. V5 p# F; g1 @2 x( A

- }# ^: w0 }# d& Q1 创建普通对话框 :如案例中的DialogA,拖拽控件资源进行对话框布局,并保存。可以查看DialogA.h和DialogA.cpp文件中添加了对控件的声明和定义。 & C9 S% O5 p% X
; V+ F, S6 z4 y

& r6 R% F( e3 w  F6 v2 m) X0 s# `2 P8 V2 |- @! W
File ->Add CAAV5 Item -> CATIA Resource ->Dialog
9 f, H6 d0 i1 |: k, p( q6 I4 F
1 B& W1 z+ y/ q  U- M/ q! p; [- G( s
! U6 i, b6 P1 W8 t. d" w+ v! {
9 n/ V9 v8 o9 S$ f" q2 创建普通对话框基本命令 :
- h# ~' _  Z/ j9 x
, B- t- M5 v! P  MFile ->Add CAAV5 Item -> CATIA Resource ->Dialog -> Basic Command1 D7 `! }& ?& d7 r( d

& E- a: q. g2 D" \3 命令驱动对话框; N; w, D$ O+ A* X2 {' r2 p7 N  H

. S1 N; }9 Z. Q/ Z1 a* Q创建命令文件后,创建对话框实例。包含对话框DialogA头文件#include” DialogA.h” ;在DialogACmd.h文件中声明DialogA类对象pDialogA,在DialogACmd.cpp文件的构造函数或者Activate函数中添加代码. s+ [$ G8 M. `5 t/ T0 C

% X$ O' R' r; ^8 z# C7 M$ {pDialogA = new DialogA();8 P9 i* G! J1 J3 K/ E! X) A/ `

4 W3 j% g) q* ^: p6 R1 o  N         pDialogA->Build();. S+ y  [9 f" c* p. ^
4 Y0 m5 A$ G* v: ~
  pDialogA->SetVisibility(CATDlgShow);: O, Y- X) V# B, c( P4 Z8 u* D) O

) ?, I' U! K4 e, x9 ], U1 O4 关联工具条、按钮或者其他命令,本例中关联工具条
# o1 W1 `2 T( P0 B# J9 J7 D
5 R; D5 Q: e. D1 ~, F0 `建立工具条与命令的连接,通过命令文件启动对话框。
+ C& k, H' X/ z
" R5 _' \6 G7 l9 W( o' y. n  ^添加DialogTest  ,DialogACmd4 B- k* U( U- _9 U; ^2 ^
8 Q) b) S% O) h3 v
+ y* l) I$ T+ E0 P. |5 c- Z* O
, }3 A4 V8 {* }4 s+ @! o: R7 U
; q, {2 G0 a1 S- _9 ]

# B! [9 W. h5 B  ]. ^  C' w  Dialog-box based command 对应案例中的DialogB.CATDlg ,DialogB.h,DialogB.cpp.7 a7 W& A; i( [  F6 y
/ o0 e9 M+ o$ C" B  }5 H0 l) [& }
; e# B2 i7 ?1 `6 m* ]
B 基于对话框的命令在创建时会自动产生同名的.CATDlg文件,与基本对话框不同的是, 对话框 文件中定义了变量  int    m_FirstTime; 通过变量控制对话框对象的实例化。其他实现方式与基本命令相同& L8 [$ O* J( S- Y

1 Z+ ^) r" G% I* g3 f0 k" o) H# u+ J2 E0 T! d" L4 I6 ~7 Q. G6 u

' x4 z% t! H- Z* j
) R  h9 e1 e: i, {
) ~0 u( O( T/ J5 W: mC  状态命令在CAA交互式开发过程中的重要内容,比如需要对视图中模型进行交互选择时,就用到该类型的命令。
. G/ n# ]3 ?9 o9 Q
) o0 l$ w5 B: d4 W3 z8 ^7 [* ~$ k: U用状态命令启动对话框时,同样方式同1>。
/ }, {5 l: h+ [+ c% h- p
% ~+ i/ `. V, W2 B/ l3 X1 j$ Q5 s6 GpDialogC = new DialogC();9 [/ t, F( ]$ I8 i# ~; F0 f
/ R. w) r; e! {% s4 z8 X
       pDialogC->Build();7 Y1 F: F' w# l

3 j; a" d0 r: n  {% \! w4 b       pDialogC ->SetVisibility(CATDlgShow);
1 \6 O9 i8 q0 |5 a
) {8 y7 o, w. [6 Y0 ^# j
! E; H$ s" K4 r! P- o2 t' C* B4 g9 o) V1 Q6 s
三种命令用法总结 " g0 u8 M: Y/ t2 C2 R) C

/ i( ?4 u; X: y基本命令(Basic Command):无需选择对象或输入数值,如加载特征库。用于启动对话框时可以有或者没有输入,无需选择对象。
3 g+ P; g& _( S
2 n& [0 d( p% X) Z2 _1 u# b基于对话框命令(Dialog-Based Command):无需选择对象但需输入数值,如根据输入的坐标值生成点。
2 S1 J+ {5 H' G* J& k& b- }, T* {! U  o! q
基于状态命名(CATStateCommand):需选择对象,可有或没有面板。只有这种类型的命令才能进行undo管理。8 I: d# d& f/ x, M9 o
/ g) n+ T) w1 b" |9 y1 W
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

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

本版积分规则

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