PLM之家PLMHome-国产软件践行者

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

[复制链接]

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

admin 发表于 2017-5-8 16:41:46 |阅读模式

admin 楼主

2017-5-8 16:41:46

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

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

x
# y5 ~9 ~) P0 c" a* N! L$ W
6 @4 ^7 C1 F; t# I" Z
A Dialog Basic Command (对应案例中对话框 DialogA DialogACmd )
. Z- f  \4 i, j1 [3 q. K# w9 i/ U. x
9 m7 I9 x0 v1 t. J1 _/ Q
步骤:
6 n! b. B' Z7 A' V; {' H8 j0 X" M: ]9 K
1 创建普通对话框 :如案例中的DialogA,拖拽控件资源进行对话框布局,并保存。可以查看DialogA.h和DialogA.cpp文件中添加了对控件的声明和定义。
3 W2 P6 j$ b, B! f$ D8 ~- v8 R! F
9 k  J. u8 g% ]/ q$ j( ^- i! d' q/ S$ P. A; w/ ?
. g. l3 A. t3 F: d5 N& f6 z
File ->Add CAAV5 Item -> CATIA Resource ->Dialog$ q8 e3 U0 r6 O7 P, P" [# ?7 G, h
/ Z: \7 [+ h% `$ r' [* o. n$ ^
+ v" L; ~/ l) D* `% _  G  M5 B

9 O# d: G. Y4 l  e2 创建普通对话框基本命令 : 7 l, i7 \  J, O7 j& t* C) `7 n& A7 f

8 w6 H+ R$ c. G5 Z3 EFile ->Add CAAV5 Item -> CATIA Resource ->Dialog -> Basic Command: v5 I; h% h3 p4 U  ~9 w4 v" Y

( Y  l* G! `3 f3 命令驱动对话框
# \" @. b% t' q2 d% M$ W- m+ i" B) {1 M* y# _- J* c! H
创建命令文件后,创建对话框实例。包含对话框DialogA头文件#include” DialogA.h” ;在DialogACmd.h文件中声明DialogA类对象pDialogA,在DialogACmd.cpp文件的构造函数或者Activate函数中添加代码
6 G. I1 Q. |; P+ z# B
  H+ O/ P6 y$ ]0 s, SpDialogA = new DialogA();& l# W, I# ]. ]8 F' Q! e
6 G4 i( B1 ?& d8 S% O) }
         pDialogA->Build();8 e- T- Z9 C/ J1 @
. x( A) _: N: ^# N2 K0 C; u
  pDialogA->SetVisibility(CATDlgShow);
; f# t" r* Z8 K5 J2 h
. b  H8 q4 Y8 M  W1 E4 关联工具条、按钮或者其他命令,本例中关联工具条& _, i" o3 ^3 X

+ D" z" L8 @, c- U建立工具条与命令的连接,通过命令文件启动对话框。. T8 G; R: X& C- W
9 e- I/ p3 c% V' g5 `
添加DialogTest  ,DialogACmd3 @' A7 d! n9 l( F6 A) L* v1 w
  }' X% y6 D9 ]* I; k$ V3 s, g
" t4 u( i" e) A! x2 i2 g7 Z

' q: [6 j/ U6 q
/ v4 m4 z3 e$ `( s% S. M9 G1 {8 S. G$ E# ~# U0 j. X! [, f" ~5 ?
  Dialog-box based command 对应案例中的DialogB.CATDlg ,DialogB.h,DialogB.cpp.& C) G; q; ^- \, ?; ~- h8 |

$ h' k. g) g: V& `' L
5 m( Y6 W7 L( |; q. }B 基于对话框的命令在创建时会自动产生同名的.CATDlg文件,与基本对话框不同的是, 对话框 文件中定义了变量  int    m_FirstTime; 通过变量控制对话框对象的实例化。其他实现方式与基本命令相同
) W+ ~4 x' W4 K  f  ^& X4 `
# I) T7 z  A7 P0 x$ I8 z1 }' Q8 v
2 v$ e0 B/ b! e4 ^' H! r
$ S$ ~! v6 m- a, K1 v9 o$ k1 g6 C4 p" l  _: r
' j; a* h- q7 w+ `7 f9 H& `$ R; l
C  状态命令在CAA交互式开发过程中的重要内容,比如需要对视图中模型进行交互选择时,就用到该类型的命令。
1 z0 \6 o2 J0 {  q& Z6 x
; K. D% h, l- I6 c- O5 i% B7 ^1 |2 ?用状态命令启动对话框时,同样方式同1>。! I% g/ g; ^6 e2 T9 F

& @# b0 d  @6 q; ~pDialogC = new DialogC();; L' w/ Y! R5 ]- {" V: Y

% `. w/ I! {! s- ~( _       pDialogC->Build();% \( V' p+ s& b# y6 k" ~, j
1 _, Y/ J9 B+ p# C7 ]& Z
       pDialogC ->SetVisibility(CATDlgShow);
- e& w; E3 W* r5 a- W
/ b4 d0 m% C9 V0 Y! d5 j) v, {5 E. F5 X. _
8 ?* D! T% H2 v* ]* w9 _. c
三种命令用法总结
# K( e- x1 P- D( u1 C, N; i
, ]8 h8 `0 y$ [3 m) a' D# h! W基本命令(Basic Command):无需选择对象或输入数值,如加载特征库。用于启动对话框时可以有或者没有输入,无需选择对象。
) P. f5 C; O8 u& T4 l3 t$ Y$ C3 I% V
基于对话框命令(Dialog-Based Command):无需选择对象但需输入数值,如根据输入的坐标值生成点。
, l0 J  H" U& j& b0 I1 }
5 F& n) [6 h' I( A) t4 r基于状态命名(CATStateCommand):需选择对象,可有或没有面板。只有这种类型的命令才能进行undo管理。
& v4 @6 {+ R' a. Q7 Y
8 L2 J/ N9 k- e& x! W3 c
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了