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

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

[复制链接]

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

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

admin 楼主

2017-5-8 16:41:46

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

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

x

, w* A# }8 C+ B0 Z  b  j
+ P; W8 t0 N* L. N) I) o2 a1 cA Dialog Basic Command (对应案例中对话框 DialogA DialogACmd )% f# k5 M) G, J7 O

$ n# p9 l3 B' z
3 J% }1 p8 I1 u! q- W: t步骤:
# i* s. Q5 J1 g, `" a, t; M- {3 o: }, K( K* `# c
1 创建普通对话框 :如案例中的DialogA,拖拽控件资源进行对话框布局,并保存。可以查看DialogA.h和DialogA.cpp文件中添加了对控件的声明和定义。 5 Q5 F+ i4 ?' w9 i+ ~7 u

8 |5 [# U% I+ |! p# s% k9 b5 V8 ]) {7 |" l1 ?5 Q- E! ]1 A
2 ^0 e- V) N, g3 H( H: w
File ->Add CAAV5 Item -> CATIA Resource ->Dialog
5 H1 b9 }$ o9 E# U% i; q* U& J; \& r3 {& M2 b
5 }. H0 }; t0 J7 r5 X- r. O9 ~; J" {
, t7 g% |+ K6 i9 O. y8 a6 d- h
2 创建普通对话框基本命令 : ' n# G3 p6 ^0 v# M) V  _3 V* w

6 \" p, g: n. e$ l7 |8 \- lFile ->Add CAAV5 Item -> CATIA Resource ->Dialog -> Basic Command
/ _' M, D' T% |
5 [& Y. K/ n) n" |; k$ ~- X3 命令驱动对话框
  p# F1 J4 ?6 |" p3 z1 u# d; B
; l: g* E6 _; K3 y  x; {- ~! g创建命令文件后,创建对话框实例。包含对话框DialogA头文件#include” DialogA.h” ;在DialogACmd.h文件中声明DialogA类对象pDialogA,在DialogACmd.cpp文件的构造函数或者Activate函数中添加代码
; V/ N! _: t- M2 `$ Z  v
# L/ ]4 b5 r  H  zpDialogA = new DialogA();
8 i  Z  y# Q6 ?; I0 H2 ?+ K
; F. L3 s$ m- M: A5 R         pDialogA->Build();. k/ m, d2 f1 p4 T

5 Z# x0 [* l8 E; v  pDialogA->SetVisibility(CATDlgShow);; E; j; u% r- h0 c5 T# Y' X

9 P* l: z% B/ \7 [; `% Y! [4 S7 Z4 关联工具条、按钮或者其他命令,本例中关联工具条
# P4 q6 o3 g7 F1 o$ O7 {) D+ Q# d8 A9 W) @
建立工具条与命令的连接,通过命令文件启动对话框。. E$ O# u9 H- |9 b& @9 A6 j

9 q+ L5 c, S5 I; ]# P添加DialogTest  ,DialogACmd
8 {: _  |0 M  d) K! G( I8 h9 o# P+ c7 b! `
4 c4 m* r' u1 c0 Q; G

: d6 H' Y0 m. s) H% k: N! ~
  f6 V2 c5 F. b2 |0 v* V; c8 e6 {* j! b5 d' q) g* `7 D
  Dialog-box based command 对应案例中的DialogB.CATDlg ,DialogB.h,DialogB.cpp.
8 L! [7 j' m) T# x  v' [" ]" ^" Q/ G' T% i

& V" R) {/ n% T; F4 @B 基于对话框的命令在创建时会自动产生同名的.CATDlg文件,与基本对话框不同的是, 对话框 文件中定义了变量  int    m_FirstTime; 通过变量控制对话框对象的实例化。其他实现方式与基本命令相同% B- E1 v/ W# R
, a4 `. F. q. N3 E, a$ n

! X5 |3 R6 _% W0 u* d) k
- u1 S. a; z0 l$ h8 G; @
5 n2 N$ E4 j' O; _" t% j" y4 J
9 F. G5 e5 b3 z6 T" l6 e+ }C  状态命令在CAA交互式开发过程中的重要内容,比如需要对视图中模型进行交互选择时,就用到该类型的命令。
+ @+ u! j! i  J/ K
* i3 V0 o) e" X用状态命令启动对话框时,同样方式同1>。; u( h+ j& D0 g7 o, [

5 w7 h/ I; e; V# ?" n- npDialogC = new DialogC();7 N/ @8 `8 v. U8 t2 k* F

7 Y) {( x- W+ h0 {       pDialogC->Build();3 K; F# |& M2 M) T: P3 B3 T9 C

* }3 V+ b+ i8 ]( B" Q. ~' o       pDialogC ->SetVisibility(CATDlgShow);
1 ?  h+ q! N+ ]" }6 M8 K4 ^& k/ o! v' a4 ]( B1 R7 Z9 X7 X
& u! ?# z- _& v/ e. C
. Z3 f  W  [1 }* ?& ~0 J9 C2 T3 U
三种命令用法总结
+ R. F) {5 W+ w0 F+ q% m. c) @% E
) d+ S2 U; m" ~" R基本命令(Basic Command):无需选择对象或输入数值,如加载特征库。用于启动对话框时可以有或者没有输入,无需选择对象。$ G$ |& i, U3 @9 J; t& W

5 V" g- Y5 t. ~, p' Y基于对话框命令(Dialog-Based Command):无需选择对象但需输入数值,如根据输入的坐标值生成点。6 B& V' X0 A" |$ J

2 m7 M0 Q4 y' h$ L; G基于状态命名(CATStateCommand):需选择对象,可有或没有面板。只有这种类型的命令才能进行undo管理。
+ o" t$ ]4 E( F9 M* M7 x4 ?& d
7 B& {0 m+ O* C3 Q( C. E  ]" W
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了