查看: 4572|回复: 0

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

[复制链接]

6

主题

4

回帖

60

积分

管理员

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

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

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

×

2 t% M$ v( L% ]/ |# X+ m2 ~% r/ l) T6 X  @2 s9 u4 o+ }
A Dialog Basic Command (对应案例中对话框 DialogA DialogACmd )
' D# `: K$ v4 i2 M  K
# k& y( Y1 h/ u) u
# V: X; @  ~+ W# z" b步骤:
% v1 p9 O: J8 D$ g$ f; P
* T1 ]) f" ~3 |9 K4 X. R+ n1 创建普通对话框 :如案例中的DialogA,拖拽控件资源进行对话框布局,并保存。可以查看DialogA.h和DialogA.cpp文件中添加了对控件的声明和定义。
; j: Z/ V- t8 }7 T# R0 X, ?
9 b& k6 ]3 f. E) d- ~* }
4 f! o+ d8 h" x( x
4 z1 m  P, }- Y5 \9 vFile ->Add CAAV5 Item -> CATIA Resource ->Dialog- z( f1 g/ J. u( i8 H" c0 H
/ V( k. v3 @' @: J
8 a1 c4 T1 b, C: S3 X

" W% O/ d9 T8 t8 g2 创建普通对话框基本命令 : ) x3 G/ B/ f# p( R+ D( C

+ v$ B, R7 a* ?; p) G% w9 `7 @File ->Add CAAV5 Item -> CATIA Resource ->Dialog -> Basic Command) S3 E. V3 l, a" h

# C0 u) o% S9 q& y& a- _% d3 命令驱动对话框
) y) U* ^. C$ C4 c) U# }8 Z
. ~, \3 r" K( B创建命令文件后,创建对话框实例。包含对话框DialogA头文件#include” DialogA.h” ;在DialogACmd.h文件中声明DialogA类对象pDialogA,在DialogACmd.cpp文件的构造函数或者Activate函数中添加代码
0 |  ]) P: O- p8 s. A4 ]0 j2 l2 i2 C4 X( a$ h
pDialogA = new DialogA();+ I+ I. T$ R3 `1 R, M: g' q/ L5 ]

. q& \. h( k4 o9 x' o+ T         pDialogA->Build();% G0 L; ]# M* p# F! h. Y: F0 t" N
  U6 r& w! h: J
  pDialogA->SetVisibility(CATDlgShow);
4 p% l! }4 Y) N# e$ }0 q+ [- d  n! F; b! Y: n0 @% o. I3 W
4 关联工具条、按钮或者其他命令,本例中关联工具条
& x% r# O( m4 ]4 t% t2 w# [" B' R
" o2 _* E8 V  F" c4 T建立工具条与命令的连接,通过命令文件启动对话框。& |0 }% O4 s- i7 E9 t

" t1 e; d4 _' }  D' F添加DialogTest  ,DialogACmd
1 k' v9 Z) _$ D
; [5 p8 g8 ]7 y1 e
& @" P2 P4 E) H9 Q* |! I2 @# P" c+ M5 Y0 }& a
2 N5 y) f$ H/ V
" x' z' N6 J3 P4 `% t# h( i
  Dialog-box based command 对应案例中的DialogB.CATDlg ,DialogB.h,DialogB.cpp.! v1 D& X4 Q+ n" k
. }' @' j; ^# t) d6 u

0 y  W9 H/ S) S4 w3 oB 基于对话框的命令在创建时会自动产生同名的.CATDlg文件,与基本对话框不同的是, 对话框 文件中定义了变量  int    m_FirstTime; 通过变量控制对话框对象的实例化。其他实现方式与基本命令相同
8 l3 p1 L/ R/ h1 ?0 f7 d$ h
4 L( r) T8 e7 v  \, q4 l
2 a" @$ G  D) i# b. T
7 {9 R4 R  K0 ?
2 v6 ^$ P0 b9 N" w9 G% o( D5 B$ m) d1 F" P6 r- q! s! H
C  状态命令在CAA交互式开发过程中的重要内容,比如需要对视图中模型进行交互选择时,就用到该类型的命令。
# Z2 F, v4 s" E/ ^( ~$ J& {, A$ ^: [5 t' r9 [5 Y3 m; x2 K
用状态命令启动对话框时,同样方式同1>。: [3 A! h7 Z% u) o$ ?. v, u
7 K, {) v* c* v$ `5 |: [5 q
pDialogC = new DialogC();4 K, f( o5 P. }7 N0 B( E

0 J+ |% ~. Q" ]% X( g8 q# T3 }       pDialogC->Build();
, a5 D( q" X* T7 g, L8 B  I: x) N, |# N- @: ~0 v, C
       pDialogC ->SetVisibility(CATDlgShow);6 ^3 I3 L- r3 K& E+ y$ }
8 x2 X: C" ]7 w# @( f0 u# T

4 W/ t% ?) N/ X: b+ H* q9 ?. a
$ o  u. Q1 n8 I, a. c) K三种命令用法总结 ; s; K# {2 u% Y* B# c

0 V" A; ]  G2 V! F基本命令(Basic Command):无需选择对象或输入数值,如加载特征库。用于启动对话框时可以有或者没有输入,无需选择对象。
- S6 N6 q- F6 R% Y
# p; m( N  A- r基于对话框命令(Dialog-Based Command):无需选择对象但需输入数值,如根据输入的坐标值生成点。
. r! [/ _+ f+ M, e/ x0 P
" a5 @* c0 U1 Q' Z9 c" P; V基于状态命名(CATStateCommand):需选择对象,可有或没有面板。只有这种类型的命令才能进行undo管理。
- L: t; d! W5 S( }9 |; q$ [  \6 s3 N9 L
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

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

本版积分规则

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