PLM之家PLMHome-工业软件与AI结合践行者

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

[复制链接]

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

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

admin 楼主

2017-5-8 16:41:46

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

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

x
  ?3 b3 r& `4 ?* [
2 d% l  W9 o& A9 k, V% H( t5 }- o
A Dialog Basic Command (对应案例中对话框 DialogA DialogACmd )8 r2 {( X& N7 X# i
2 |- U( f  @& Q, i
7 I/ J% K: f. l, S* z1 v
步骤:
& r- _) t" e# R5 U* n' m9 I
; n! `: O2 B2 W1 创建普通对话框 :如案例中的DialogA,拖拽控件资源进行对话框布局,并保存。可以查看DialogA.h和DialogA.cpp文件中添加了对控件的声明和定义。
7 O! }# m9 r. |: T9 K  W3 J" D
1 ^* m8 [3 t: Z7 Q; T7 h
! l; M7 |* w7 h- ~7 l
$ @8 o5 ^; D) @: LFile ->Add CAAV5 Item -> CATIA Resource ->Dialog
6 d' }' c1 D0 ]+ b3 m0 }- V- r* H) w; Z
/ ~* ?# K4 e" P0 P) m
' c  [8 A) H2 U/ [% ]. m
2 创建普通对话框基本命令 : , n9 a9 W8 D9 V. ~* X7 l

' Y, J3 P" R- T$ n. ^File ->Add CAAV5 Item -> CATIA Resource ->Dialog -> Basic Command
1 R% V4 k$ u9 {2 X+ b! a4 i4 |8 ?* r' U
3 命令驱动对话框( p4 d" K$ T' q$ _9 w3 x2 Q
8 t( c( Q7 D8 V# d6 n- O" x
创建命令文件后,创建对话框实例。包含对话框DialogA头文件#include” DialogA.h” ;在DialogACmd.h文件中声明DialogA类对象pDialogA,在DialogACmd.cpp文件的构造函数或者Activate函数中添加代码
" {  }( L" _8 Y0 f2 m2 M3 q5 j- _/ X3 Q1 U# v! f( u. k  i: [3 B+ M
pDialogA = new DialogA();9 H9 B4 t4 Q6 L7 \& }

& m  x4 m* U4 D$ Z8 o! m& E         pDialogA->Build();
% U% _/ ^* m9 p4 a1 w. O! z6 e) R+ ]8 [' c- @. `
  pDialogA->SetVisibility(CATDlgShow);8 ^2 M% {, Y/ Y# e3 {8 b/ c

6 |/ f- S. u4 ~/ \7 T; {* M4 关联工具条、按钮或者其他命令,本例中关联工具条
" O$ E2 B7 i9 w+ b) L7 w: B1 m7 v, X2 ?) c3 T: }0 c+ X
建立工具条与命令的连接,通过命令文件启动对话框。0 z; i: i# M" y7 ?4 e+ g+ c9 v' E

7 v) R" H; }3 m! `添加DialogTest  ,DialogACmd
7 x8 n! V" @8 o! |7 T' y; o
* J, z2 l+ _( p' e5 s8 W+ Q- l4 `+ ?9 c

* ^* H3 Q' l) {$ c- Z; E; q! e) w5 o# i/ r
+ p- w7 M6 ?0 V
  Dialog-box based command 对应案例中的DialogB.CATDlg ,DialogB.h,DialogB.cpp.
, L; w* c) v* n8 ~6 y6 f/ n9 k8 V$ ]0 R, H" |- j
) s7 d0 L! [  S, G& ]. m0 w
B 基于对话框的命令在创建时会自动产生同名的.CATDlg文件,与基本对话框不同的是, 对话框 文件中定义了变量  int    m_FirstTime; 通过变量控制对话框对象的实例化。其他实现方式与基本命令相同: @$ p! \7 c% ?' t# u! P' @9 k; S
. {# N. W5 l+ W  |! X3 `

: J3 u  O" ~, i4 j. I" Z2 P9 _: `* m, J7 G+ e  x" q
0 Z3 O# a% B3 Y, D, V

6 D$ d& k) r) @" Y+ eC  状态命令在CAA交互式开发过程中的重要内容,比如需要对视图中模型进行交互选择时,就用到该类型的命令。/ Z' ^6 f1 E5 d8 Z5 @
- a* A6 q/ N7 u7 O6 k
用状态命令启动对话框时,同样方式同1>。
+ \, A. z2 ]7 @2 y% J
" F' L, E( l  B* m4 G1 L6 FpDialogC = new DialogC();
5 Z' Z$ b+ A5 n, A) Z  M& ~5 ~. r, @+ }
       pDialogC->Build();
5 w+ P5 `* y. I& [( G! v; y6 {; b* |3 Z' {5 C" L% r; P* M' d
       pDialogC ->SetVisibility(CATDlgShow);
, r5 j3 j6 f: K
9 r& a0 n* ]  X* Q9 [$ s* |" Y" H* C: m! r
3 B+ F: e5 X4 l  {# o! K4 U3 D, I- z/ i! [( J" y2 R6 N1 u
三种命令用法总结 " h2 |- K: x" g

6 g6 {; R- O+ N% M基本命令(Basic Command):无需选择对象或输入数值,如加载特征库。用于启动对话框时可以有或者没有输入,无需选择对象。, r& h9 t* b0 H/ A% e

( H* h( Z( }) D; f* V. l& ]基于对话框命令(Dialog-Based Command):无需选择对象但需输入数值,如根据输入的坐标值生成点。0 |) O4 t9 ^6 k) }  }0 x
( y: x, y) P. \& K  F
基于状态命名(CATStateCommand):需选择对象,可有或没有面板。只有这种类型的命令才能进行undo管理。
" `5 S- K3 t, i
1 x- r; `: w, G# f
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了