查看: 4573|回复: 0

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

[复制链接]

6

主题

4

回帖

60

积分

管理员

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

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

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

×
8 s6 @. d/ ^- |) b) @$ J: J8 [
5 h' x$ |# k9 T
A Dialog Basic Command (对应案例中对话框 DialogA DialogACmd )
5 @) {8 F, L3 o3 W- S/ @  Q  u8 W% b& w; l' L, J. z7 u% a- N
0 f& p$ V3 i. ~1 k1 s  R
步骤:" G5 X- x$ [2 q
% G6 w& k) E( }" D- @& E0 w: T
1 创建普通对话框 :如案例中的DialogA,拖拽控件资源进行对话框布局,并保存。可以查看DialogA.h和DialogA.cpp文件中添加了对控件的声明和定义。
; Z9 d* z  C% m$ S$ H1 v5 x! C) j9 }, u5 k
/ q6 R- u- Z. t) P* _- T" U% a
+ p, K1 k9 Q' s, c8 a
File ->Add CAAV5 Item -> CATIA Resource ->Dialog2 @! a3 x+ a+ p+ t  p+ \

) B# q- q' M3 Y- K! \3 b; L. M0 V, P* @1 Z( }- O

4 ]. y1 C& r% o: ~; f2 创建普通对话框基本命令 :
% i( K7 S2 Z0 I
% S* D$ G: X3 Q: i& ?9 @# MFile ->Add CAAV5 Item -> CATIA Resource ->Dialog -> Basic Command( _# h% a) j9 ]' Y
; n- x0 T: [% _& n/ r; g
3 命令驱动对话框- i  s% N: I5 w0 }

  B$ C! G6 B! T  W7 f/ I创建命令文件后,创建对话框实例。包含对话框DialogA头文件#include” DialogA.h” ;在DialogACmd.h文件中声明DialogA类对象pDialogA,在DialogACmd.cpp文件的构造函数或者Activate函数中添加代码9 j) D( J" q& r
% W; s% z1 N) o  D, n
pDialogA = new DialogA();" g' k. H9 W8 q; X) x

6 Z2 A( b- A2 J2 j/ F. s         pDialogA->Build();1 V9 X4 {# P' `4 v& F% a/ e
# h4 [$ q% {4 D8 A3 T6 |& P
  pDialogA->SetVisibility(CATDlgShow);
/ P6 \" _. s/ y9 D5 o1 \! I7 i' e/ l' l; v- u# R% a' @% a" ?
4 关联工具条、按钮或者其他命令,本例中关联工具条% m9 I& V6 P/ v+ X4 g
# Q! a' S& U  o8 V5 y
建立工具条与命令的连接,通过命令文件启动对话框。
5 `, m5 n7 D5 _+ `8 X2 \9 v, _4 v6 o! K4 w9 B9 ]2 ?' F+ x
添加DialogTest  ,DialogACmd
+ g/ i' X: C1 H6 E1 G. t* ~" Q8 L4 r' Y
' M/ x& s" O+ L! E1 Q& ]

# N' U6 I1 K# }3 H) Z
! j8 b4 l( Y2 m1 w
( b' d5 f* |5 i! E% A" r+ F' ~  Dialog-box based command 对应案例中的DialogB.CATDlg ,DialogB.h,DialogB.cpp.
( I: ~2 ?- J" }3 C! `0 I: s
6 k; H5 T: e& a% u6 I8 K4 B. w5 L1 x4 o% i1 J4 F4 N! Z/ \
B 基于对话框的命令在创建时会自动产生同名的.CATDlg文件,与基本对话框不同的是, 对话框 文件中定义了变量  int    m_FirstTime; 通过变量控制对话框对象的实例化。其他实现方式与基本命令相同
1 V$ k1 y3 y% S% Y& B2 o/ h
6 N2 L+ k% k8 J3 i4 h7 J
& U5 A5 z! P! h. a2 B
, Z3 ]" a4 Z: Q4 m1 F8 T- }7 C6 {; c$ @
' f% q4 p* D9 o; Z# n
C  状态命令在CAA交互式开发过程中的重要内容,比如需要对视图中模型进行交互选择时,就用到该类型的命令。
: r& d& u9 X" A
( C+ E# X! Y: z0 k+ d; I& n. ^7 J用状态命令启动对话框时,同样方式同1>。
; U: t. v6 l" j( X8 q6 c7 e0 r# ]% L4 L" X$ A& j7 B
pDialogC = new DialogC();: N4 r) d8 a7 C/ v* p$ ?
1 g. ^  [1 p( g  T
       pDialogC->Build();8 ?; h  k% K1 o7 E7 C

* l& ~: G4 A. `& s       pDialogC ->SetVisibility(CATDlgShow);
' i, _9 C5 }2 a( F) }. I) k+ D, G$ A" j- n! ~2 f/ P: t

- g5 j: n4 H& y
5 Y) ^" E; m+ p1 K' h+ h- i三种命令用法总结
; j! Q- C2 l# Y* Y" B+ c
  Z; Q1 `( q3 [9 H基本命令(Basic Command):无需选择对象或输入数值,如加载特征库。用于启动对话框时可以有或者没有输入,无需选择对象。
! x5 r7 E: R- Q- G! a& ]; G: ?' W5 h% l* u+ D" I& ~1 ^4 _
基于对话框命令(Dialog-Based Command):无需选择对象但需输入数值,如根据输入的坐标值生成点。
4 n6 H4 n9 y% b/ n
2 i( k5 f& r+ y! a基于状态命名(CATStateCommand):需选择对象,可有或没有面板。只有这种类型的命令才能进行undo管理。
6 X: t+ X- m1 J# A# g: `5 u2 s+ z$ [1 c& ^9 L. W
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

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

本版积分规则

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