查看: 4365|回复: 0

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

[复制链接]

4

主题

3

回帖

38

积分

管理员

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

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

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

×
* T! Y* H: b0 H# A$ c

1 Y. j- N4 Q8 i7 x) G" hA Dialog Basic Command (对应案例中对话框 DialogA DialogACmd )
5 k6 }; H- l1 w/ ?4 A3 }' @, a2 ?5 R; \4 ]  G

4 U6 X& n' |- a# T% }6 r% P步骤:8 Q1 {- S1 H2 n

5 ]/ ?9 T  w" V1 创建普通对话框 :如案例中的DialogA,拖拽控件资源进行对话框布局,并保存。可以查看DialogA.h和DialogA.cpp文件中添加了对控件的声明和定义。 2 c) C- t' Z6 ]* _; O/ x0 i
) l: Y3 |( m2 ~3 H5 ^: R1 L1 U' T

; t3 y- z9 J. ]8 c, M
/ m0 k/ G% c% U8 {File ->Add CAAV5 Item -> CATIA Resource ->Dialog- L# t2 Y" g. ?0 ~( \$ F2 d

" V8 H4 f4 b5 p3 w  J
" Y% n( I3 O' B9 m4 p: i/ F
1 i1 D: S0 G% ?, s2 创建普通对话框基本命令 :
( b$ ]- K+ ~3 H/ D
, I# F1 i- q! U: r1 \% ?+ C' UFile ->Add CAAV5 Item -> CATIA Resource ->Dialog -> Basic Command
# ~; c/ g& j- _' V" ]; g: v
4 ]1 q, s) W7 n  C* G: Q3 命令驱动对话框+ N% i4 j& y- Y, \. n/ x
) H  P/ t) [- z+ {- h* w6 X! q
创建命令文件后,创建对话框实例。包含对话框DialogA头文件#include” DialogA.h” ;在DialogACmd.h文件中声明DialogA类对象pDialogA,在DialogACmd.cpp文件的构造函数或者Activate函数中添加代码
7 t$ }+ W" S: v7 g8 f8 B9 z
, \" m) W$ y9 {. D; PpDialogA = new DialogA();
# V) i* a8 d% a0 D" t8 v2 G4 u! G. T0 C
         pDialogA->Build();
7 J# S& K' O5 n1 c9 x$ H4 p
# @: n& k* B; G  pDialogA->SetVisibility(CATDlgShow);# X0 M# ]: ]# r3 C: C& r. t3 @; B

# g' v9 ?# G) V) s1 _, J, ]4 关联工具条、按钮或者其他命令,本例中关联工具条) E# N: k+ p, l& s

  b4 K# z( K, ^* y3 L7 b建立工具条与命令的连接,通过命令文件启动对话框。5 @6 G6 c4 J' W+ H- B/ Y% L0 E

  ?/ i4 `! x: `( _+ X) {* A# A添加DialogTest  ,DialogACmd
$ U5 b5 d/ _+ W1 e1 w9 e" B6 ]( S
2 l: I3 X5 L0 d& o  o/ O
0 u1 P9 X! p) u8 @9 t0 s; l1 S, r, J, G' C

: u9 j3 c7 ]# F! p6 i* Y+ l* L# Y- |1 |5 D1 y+ q4 l* U
  Dialog-box based command 对应案例中的DialogB.CATDlg ,DialogB.h,DialogB.cpp.
' o$ |+ @- M* M% M! o7 i8 w
+ J/ v) t- j- E9 \5 R: E# V. G/ b- K0 |0 h# b
B 基于对话框的命令在创建时会自动产生同名的.CATDlg文件,与基本对话框不同的是, 对话框 文件中定义了变量  int    m_FirstTime; 通过变量控制对话框对象的实例化。其他实现方式与基本命令相同
, r* W) v0 J' I1 X
$ w' p0 L7 Q8 E! k9 S8 p0 C- k7 P* \# `9 p. M
& t7 {0 y8 d: g. t
1 Q& S  ~. w2 F5 ~* q# u$ q2 |6 m

& G* D1 q! L# [( B5 g) BC  状态命令在CAA交互式开发过程中的重要内容,比如需要对视图中模型进行交互选择时,就用到该类型的命令。
; C0 c7 k  `9 }) l. s7 G5 ^1 O- s' B# L0 P0 _' k* o5 {/ _
用状态命令启动对话框时,同样方式同1>。
4 T8 W, C# O2 F: f2 F1 S7 H4 p5 T% `/ d/ y, p9 n' R; T' Q( L
pDialogC = new DialogC();3 Q+ @2 U) W- W; h/ v/ }& F2 Y
7 U9 K: D8 i5 j/ j  K6 r+ J. T
       pDialogC->Build();
  Q, |* Q, k5 z/ ]' V' C% R  J8 ]7 @. t- x2 ]& z
       pDialogC ->SetVisibility(CATDlgShow);
8 Q6 M! H. _+ c5 g) }! }
* u) R, I8 n4 K& @' s$ {" y! A8 t; ~; X; V2 ?4 l
: s/ D* i) `# a6 p( ]0 k9 j* A9 l
三种命令用法总结
1 E& t7 d$ Z0 W( h9 l  G; S
! z- i1 t+ }! S# x- g基本命令(Basic Command):无需选择对象或输入数值,如加载特征库。用于启动对话框时可以有或者没有输入,无需选择对象。8 x3 I% `0 u1 ]7 g/ b
7 O4 o; F( b. {; q$ a
基于对话框命令(Dialog-Based Command):无需选择对象但需输入数值,如根据输入的坐标值生成点。
" [% a. S$ x! M' S
; H' `  v8 h# q9 r( `; T基于状态命名(CATStateCommand):需选择对象,可有或没有面板。只有这种类型的命令才能进行undo管理。; m8 N( W, H6 M% I) M
7 g. q  _4 S5 `3 T& H8 I
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

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

本版积分规则

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