PLM之家PLMHome-工业软件践行者

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

[复制链接]

2017-5-8 16:41:46 4244 0

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x

' l$ c, A% k% i* @3 p3 T" z, c; E# v" N1 E2 q
A Dialog Basic Command (对应案例中对话框 DialogA DialogACmd )
& c8 p) v: x6 h4 m( ]% x& Y- ?) s8 G7 V8 Q1 Y  e8 t8 o

) Q# ?7 ^# u9 M步骤:, k  O( z/ K, M; Z
2 Q5 O/ _6 |9 H1 x! y, h
1 创建普通对话框 :如案例中的DialogA,拖拽控件资源进行对话框布局,并保存。可以查看DialogA.h和DialogA.cpp文件中添加了对控件的声明和定义。
, h0 x7 X! h' N7 }( |* L; e; F5 U% m7 A2 P

# m; N3 M! S9 D# m0 d
) d. a0 J0 H$ V/ {1 X3 |& \6 B8 JFile ->Add CAAV5 Item -> CATIA Resource ->Dialog
: }* U$ G% f- I5 u2 C7 H$ Z
  T9 H5 W- q9 i- R. |8 x* p: |' K; C; Z2 Y- e3 r5 d+ e
! {. \' u1 U/ j# A
2 创建普通对话框基本命令 : 3 S6 Z" B: Y4 h  [$ O

& m7 z$ [9 R; W& uFile ->Add CAAV5 Item -> CATIA Resource ->Dialog -> Basic Command& l- _$ l$ a4 {

! z* H' m; M: O. m1 Y+ z3 命令驱动对话框2 z8 N* `3 ?( u3 P* E

9 d" W6 v3 V+ e! \" ^- b7 F6 r创建命令文件后,创建对话框实例。包含对话框DialogA头文件#include” DialogA.h” ;在DialogACmd.h文件中声明DialogA类对象pDialogA,在DialogACmd.cpp文件的构造函数或者Activate函数中添加代码
; s( C, v6 U5 E
; p0 j8 G9 {+ mpDialogA = new DialogA();7 a/ R: p' Q( z4 K
2 X# Q3 l7 {9 c1 ]
         pDialogA->Build();
) Z1 {) l, n! U- Q! B% k( Z7 }* d
% k. l. Z& ?9 `* M7 V+ h  pDialogA->SetVisibility(CATDlgShow);
) E! M& R6 c- S- S7 s. U, z; E( R, @
4 关联工具条、按钮或者其他命令,本例中关联工具条
# ]& U' t5 x7 C- M% p. q' l, V( K6 r7 j' n. o; o1 ^2 P2 J9 g
建立工具条与命令的连接,通过命令文件启动对话框。) m& p$ m: O5 G' n7 f! R
/ S0 B/ s" T: L, g
添加DialogTest  ,DialogACmd$ `3 g$ `( y3 p: X) e
3 j% }# g9 c( H3 [
9 k6 _  B* H% d% G1 P" V

4 q; I" S7 a5 r' H1 \" P8 S. z# E2 Q9 ~0 D
( O5 x. O5 V* N; U7 ?) Z
  Dialog-box based command 对应案例中的DialogB.CATDlg ,DialogB.h,DialogB.cpp.
% h6 k8 E6 c8 ?% |8 [* K
9 b( y. H  ~* k! h& c* ?  n$ \7 K7 u
B 基于对话框的命令在创建时会自动产生同名的.CATDlg文件,与基本对话框不同的是, 对话框 文件中定义了变量  int    m_FirstTime; 通过变量控制对话框对象的实例化。其他实现方式与基本命令相同
% j6 s. V4 J# {6 W# F6 f' R
4 F% {- T: t5 y9 C2 f3 ?  R
1 ?9 H. T. p8 D$ M3 @; z0 ?& }# `2 y- ]0 r$ L/ ]1 @
6 M# u) v/ L) g: @8 K# J! X( V
! c1 K# Y/ o0 [0 ~1 _# b% d
C  状态命令在CAA交互式开发过程中的重要内容,比如需要对视图中模型进行交互选择时,就用到该类型的命令。* ~, ?# D& D) w4 d% I! a
' M) K* R9 Y! X
用状态命令启动对话框时,同样方式同1>。! p; J" Y  L; a! B1 d: m

! c" l9 g6 U+ KpDialogC = new DialogC();
2 S* g/ Z8 F, n, r5 j' r4 v5 d- o6 _6 r3 c
       pDialogC->Build();- s3 p. c2 [( }* q% u4 s0 `
; ?( J# P6 M9 {9 ?; l$ s
       pDialogC ->SetVisibility(CATDlgShow);
, Q; c, B; B1 c- W# D; w9 `, d1 {) s! G
4 G* _( B  @- Z0 U
1 c2 T4 C0 T& j# ^' n2 @$ @4 U1 \8 \
三种命令用法总结
0 {& r4 G8 X9 H1 Q4 S5 d
  a2 H0 `6 V( {6 J; b1 L4 S2 h基本命令(Basic Command):无需选择对象或输入数值,如加载特征库。用于启动对话框时可以有或者没有输入,无需选择对象。& Y  D: h: L' q
3 T' f3 S9 ?+ f/ l# _! s9 g
基于对话框命令(Dialog-Based Command):无需选择对象但需输入数值,如根据输入的坐标值生成点。
4 \& n# Y2 {' p" E. S" i: ~; g/ l0 n% p2 L7 Y
基于状态命名(CATStateCommand):需选择对象,可有或没有面板。只有这种类型的命令才能进行undo管理。4 D1 b1 k4 c. Q
6 P# ^6 g, v% L, P+ t; n3 u
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了