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

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

[复制链接]

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

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

admin 楼主

2017-5-8 16:41:46

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

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

x

# L! [* H6 m; Z  y# @0 [+ }/ d* j* c4 m
A Dialog Basic Command (对应案例中对话框 DialogA DialogACmd )
; _! q6 J1 Q" o
1 `6 t1 I9 E# ^& Q6 m5 Y# v4 b7 Y6 n3 |8 r
步骤:
! @% ?" a$ f6 ~! h. e% ?/ o+ K8 S7 B/ p- y! A  l2 ~, ^
1 创建普通对话框 :如案例中的DialogA,拖拽控件资源进行对话框布局,并保存。可以查看DialogA.h和DialogA.cpp文件中添加了对控件的声明和定义。
4 f7 t, |( P# X, F) `( v3 a2 s( M" ]' i# y/ o0 S

( u; Q/ I0 }$ M$ s9 x; u* r7 I7 a" C6 l0 t! _5 s- j9 q: N1 c) f
File ->Add CAAV5 Item -> CATIA Resource ->Dialog
# t8 F3 f6 |2 d" ?: l) I
4 g! e! u. l; }2 V. D1 o$ }8 K+ d% X* x1 I  X
. o! ?6 ]4 l: a$ [. ^
2 创建普通对话框基本命令 :
5 ^* c  e1 x  X: E  L- O
8 B! {, u, c& b' F: U6 Y! HFile ->Add CAAV5 Item -> CATIA Resource ->Dialog -> Basic Command
' v% Y! M7 s/ R1 k+ r& W0 E
+ t8 f5 z) c8 ^. j: b" e3 命令驱动对话框$ P/ `) D* R2 {) V" l
- ]8 Y) X7 I# q/ S
创建命令文件后,创建对话框实例。包含对话框DialogA头文件#include” DialogA.h” ;在DialogACmd.h文件中声明DialogA类对象pDialogA,在DialogACmd.cpp文件的构造函数或者Activate函数中添加代码# {  T; R, K( E/ ?5 ]) _2 B
& l4 b7 T) X, Y; c& B% x. b
pDialogA = new DialogA();8 M9 M/ P9 C+ s" Q2 u5 O4 O" m- O' i
6 [# }4 L2 q& _. ^& e1 c8 G. R
         pDialogA->Build();
* T- M5 U' |5 j0 n3 [# y, q
8 d# Z$ w2 p; }- O  F  pDialogA->SetVisibility(CATDlgShow);
( |) w8 r+ u' j0 {
: v- _5 D, }8 \2 H% c" }! ~4 关联工具条、按钮或者其他命令,本例中关联工具条
, g* e  u8 R5 z& r2 O! B* ?8 [% N7 b! D8 u' E
建立工具条与命令的连接,通过命令文件启动对话框。
3 }& v! h8 b+ Q( e: ]
! w# N: J  x" |7 W添加DialogTest  ,DialogACmd% o) z4 O7 v( b; w, q, _9 d
( ]5 _9 b- Q( a8 v; D4 S

2 s1 x4 F# z9 b/ c; A2 g& C2 W/ N4 `! |+ q& x8 U  B  n

- M& \9 O- p" a( k3 _; y$ @- d7 P3 k4 X3 z) E) ?* G, \; m6 b
  Dialog-box based command 对应案例中的DialogB.CATDlg ,DialogB.h,DialogB.cpp.
1 }0 ?, Q5 i; o# B/ k. T0 i! s3 W% c) p6 V, [9 n, K

. |: G8 D7 d  e" X" _5 CB 基于对话框的命令在创建时会自动产生同名的.CATDlg文件,与基本对话框不同的是, 对话框 文件中定义了变量  int    m_FirstTime; 通过变量控制对话框对象的实例化。其他实现方式与基本命令相同3 H1 ^- q, u4 X6 A9 x5 }- p
7 [9 B% E- W2 n/ W/ E0 l% y
! w+ A* Y; y6 Q+ E" Y' |
( V3 t$ r+ N  `- z% M1 s

3 K  V" ?; d* v5 I7 s& L4 p& d0 _0 |# p7 L
C  状态命令在CAA交互式开发过程中的重要内容,比如需要对视图中模型进行交互选择时,就用到该类型的命令。
. s0 N/ R5 ~# }" Q
9 _! Q! R& `. x, d7 w1 g2 [1 k用状态命令启动对话框时,同样方式同1>。9 y) {$ z3 y3 I
/ j" c) M7 a0 f# Z, L, R0 \6 G
pDialogC = new DialogC();" |' ~( C4 X9 Q1 o/ d& G
. y& E# {' ]+ S5 w; ], e
       pDialogC->Build();/ O2 J4 ]6 [" p! O: c5 T( \( Y/ y

- r7 l( U2 {5 {3 {# M! M4 H+ a       pDialogC ->SetVisibility(CATDlgShow);+ F2 K- B+ D( p6 [& X( o

! b& N7 K3 d  R3 }
7 \) I: V6 ?- n: o" e6 d/ K- r8 t' h( V0 b5 b6 |( q. N
三种命令用法总结 7 g% i5 g8 P+ a# b1 {+ @

& |# A7 F% u" z- D, N9 D% e3 F基本命令(Basic Command):无需选择对象或输入数值,如加载特征库。用于启动对话框时可以有或者没有输入,无需选择对象。
' L3 w4 w. a4 ]" |) u: f0 v- L  Y0 i
* W. u+ G& c' _! O! w3 x) _基于对话框命令(Dialog-Based Command):无需选择对象但需输入数值,如根据输入的坐标值生成点。
8 G: L  {* x: E& g$ |7 [8 b1 x9 d% D5 [) K) T0 {' L
基于状态命名(CATStateCommand):需选择对象,可有或没有面板。只有这种类型的命令才能进行undo管理。
( @6 F& U+ G5 ]# P* s: F: Z1 S
9 h* T4 R& t, g5 g# n. K
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了