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

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x
% e( E5 P* b7 X0 _
& @5 X7 H) w  k
A Dialog Basic Command (对应案例中对话框 DialogA DialogACmd )
( B# F# t9 q- l; m+ x3 ~: M- B1 ?  A4 X& n

/ L' z& e# Z1 \2 \6 E" a# _5 P步骤:( j4 X; f1 |& T& z+ T
6 E( e7 m3 y" u- z* l
1 创建普通对话框 :如案例中的DialogA,拖拽控件资源进行对话框布局,并保存。可以查看DialogA.h和DialogA.cpp文件中添加了对控件的声明和定义。 , D7 z& _$ v& d& R. V# A
0 J& D# I8 [3 V; E( |5 c, O) a7 M- f
, w& `  v! m% P9 x

7 g; A7 Q  n8 sFile ->Add CAAV5 Item -> CATIA Resource ->Dialog) c7 r! _  P4 ?8 h/ I1 I: e
0 ]  x( J) k) ]' @- a$ c

( h) V6 [: V: P& |* f
  x. F6 s- g* z" R( n! z1 X" g2 创建普通对话框基本命令 :
. }: w& u: g$ s! @0 X3 G+ q  v/ O  F$ {/ ^
File ->Add CAAV5 Item -> CATIA Resource ->Dialog -> Basic Command
7 D% e8 \/ A7 U. S  L
2 x# a/ N) h4 U6 T. k2 w( {3 命令驱动对话框. n9 r: u% n/ V7 [
3 M* ^* H9 t6 {8 i& y5 F' v% E
创建命令文件后,创建对话框实例。包含对话框DialogA头文件#include” DialogA.h” ;在DialogACmd.h文件中声明DialogA类对象pDialogA,在DialogACmd.cpp文件的构造函数或者Activate函数中添加代码; c# b1 {: R+ j, w& w

! L+ p5 g. S* u/ H5 ]pDialogA = new DialogA();
+ |. Q- E3 r* j: H- Z! @1 j) L* m1 O# m% c2 y; Z9 `- E
         pDialogA->Build();: j$ L/ a9 k! V& q* b" Z! G: `+ \
; _; ^2 B" t! {' T
  pDialogA->SetVisibility(CATDlgShow);7 s1 f1 M3 n0 o8 _5 y* x
4 j/ A2 A! q; b9 \, U; I6 P9 U$ q
4 关联工具条、按钮或者其他命令,本例中关联工具条0 G2 g6 }, n5 e& U2 z! ?8 I
* U/ Q/ y8 d1 Y! s" I) p0 A- h
建立工具条与命令的连接,通过命令文件启动对话框。
6 O7 U1 m& g) j' ~7 ]7 v4 i9 Z- X1 n9 h- e, e: Y4 r! ?
添加DialogTest  ,DialogACmd+ l5 |# v; j4 [8 `
" q/ L/ L, N, P( q# V# Y6 ~

. h/ e! U; q+ V5 m/ S1 {# x% i3 X) j
4 c6 ?% J/ h: Y$ b/ ]' y

9 c$ C, _0 r4 y& M* y" |# H  Dialog-box based command 对应案例中的DialogB.CATDlg ,DialogB.h,DialogB.cpp.4 k+ c5 ^% k. z5 T1 X7 ~4 e& ?+ k

: D- v6 R# _: g9 h+ I2 p. A* _: r0 n# \; _
B 基于对话框的命令在创建时会自动产生同名的.CATDlg文件,与基本对话框不同的是, 对话框 文件中定义了变量  int    m_FirstTime; 通过变量控制对话框对象的实例化。其他实现方式与基本命令相同% b8 Q* s% f! B6 R
, n  i; Z1 _) Y% X
) @3 `; Y% T- S$ h
# l+ q3 H# h  U3 Y# c- y# V' a
8 {+ [; a0 X8 D0 R- w1 m. g1 Q

7 U4 L- E* z0 K* A0 R1 C* jC  状态命令在CAA交互式开发过程中的重要内容,比如需要对视图中模型进行交互选择时,就用到该类型的命令。3 L7 }& W* z( t

, ?  Q6 t; j3 x( U用状态命令启动对话框时,同样方式同1>。5 y, P3 T- X& f9 m0 \. Q, H/ w" M

1 A( r9 P& h5 OpDialogC = new DialogC();3 ], C/ k6 ]( m$ }) S

6 N, K+ v+ Q* V6 s7 E" @& b3 _       pDialogC->Build();
- t+ E+ V. K  F4 @3 u- ?: Z0 F9 ~  c# S
       pDialogC ->SetVisibility(CATDlgShow);
7 t' G2 x5 P9 }  h6 _6 z, q' S- T
- @; X. E5 t1 x1 e* Y- w  S8 v" u' g

" t  x& }, q2 k  l' \: o, T6 e. O; s三种命令用法总结   {: W, C. ]  |7 |# B
5 Y; x- `4 c  n( U9 s5 {) v  C
基本命令(Basic Command):无需选择对象或输入数值,如加载特征库。用于启动对话框时可以有或者没有输入,无需选择对象。
8 o; V  V% f1 L+ ]+ f
0 k7 T( Q: Q: Y, d3 q8 k基于对话框命令(Dialog-Based Command):无需选择对象但需输入数值,如根据输入的坐标值生成点。* d" h* j9 ]3 o, x, q5 z; v

0 s5 K* h. j1 L* q基于状态命名(CATStateCommand):需选择对象,可有或没有面板。只有这种类型的命令才能进行undo管理。
' }7 `5 s5 p) H3 i
. f3 e% S! M/ w0 r, y
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了