查看: 4400|回复: 0

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

[复制链接]

4

主题

3

回帖

44

积分

管理员

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

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

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

×
1 v9 F: T7 B+ e# x) }9 |

! i3 F) G/ P' q) PA Dialog Basic Command (对应案例中对话框 DialogA DialogACmd )
  }  x1 a6 s7 [/ K+ S8 W5 V) @. T4 }! y! _, m

* `$ m3 \- i/ F) O: L! Y, g/ g步骤:  v! M7 ^. c$ ^$ C3 k$ a

7 g1 n9 U5 H" j: f2 u* V  }1 创建普通对话框 :如案例中的DialogA,拖拽控件资源进行对话框布局,并保存。可以查看DialogA.h和DialogA.cpp文件中添加了对控件的声明和定义。
/ x5 ?8 ^' n( _1 T5 p% o& \  ]9 h0 Y* v+ z$ s
% A+ G8 y9 z  y- E; M- u- \

! y1 v" J6 V+ l! r* M+ Z5 s4 D6 [' `File ->Add CAAV5 Item -> CATIA Resource ->Dialog5 ^) Z# {1 E$ @1 _% m
' }% J, m4 [, ~  |0 ?$ i
6 a  S" L( u; ~- X# ~
8 I- G) \+ H' L
2 创建普通对话框基本命令 :
7 i/ r1 T7 d& k' x
1 G5 R- T. X- X' E) @File ->Add CAAV5 Item -> CATIA Resource ->Dialog -> Basic Command7 m  p* C( l( K' v5 }8 B
# `2 d- B2 X/ O1 b3 P
3 命令驱动对话框" }1 h" u" y, Y' G
" B5 ]6 S( b% W4 I* H% X
创建命令文件后,创建对话框实例。包含对话框DialogA头文件#include” DialogA.h” ;在DialogACmd.h文件中声明DialogA类对象pDialogA,在DialogACmd.cpp文件的构造函数或者Activate函数中添加代码1 I3 z+ w! V7 b  ^* Z
, r/ g( L3 {1 H$ |
pDialogA = new DialogA();: `& f/ k* r3 d" A# o
8 c, P4 E* a+ m2 M, Y# I9 S
         pDialogA->Build();; P5 m% q4 ]* W  d7 P1 o4 j" X* D
5 G; x* c( n% S
  pDialogA->SetVisibility(CATDlgShow);
( c( X+ n! v/ ^# D/ s3 v1 f- X# D* ]! b4 w6 t/ k
4 关联工具条、按钮或者其他命令,本例中关联工具条' D( q1 z; b, @- i& n5 x
' x) c) g" I, _; w' ~3 ?& h
建立工具条与命令的连接,通过命令文件启动对话框。
7 _: [8 r1 `7 q3 ^; Q$ y
4 m  z7 I! ^( u& n! ^+ S$ {, C. d添加DialogTest  ,DialogACmd
6 g1 a7 D6 s# l" P" R# s) t$ G2 `5 \3 w6 Z, W. u
8 i8 \: s# I4 H; S( a
( A% B& G8 y. v8 I4 G8 j

9 M2 ?+ o+ M, C5 D7 G$ s5 E7 B
1 o& I; ^7 e; ^0 F' r  Dialog-box based command 对应案例中的DialogB.CATDlg ,DialogB.h,DialogB.cpp.( y  A) w( n9 c6 f8 @% r1 E5 }9 a

9 V& h' N6 X/ ^" F# O0 ~* d( [4 v" r
B 基于对话框的命令在创建时会自动产生同名的.CATDlg文件,与基本对话框不同的是, 对话框 文件中定义了变量  int    m_FirstTime; 通过变量控制对话框对象的实例化。其他实现方式与基本命令相同
! z+ l& S$ L, Q/ l7 v
$ m: ]. q& [+ L% W7 O$ L; ]  X
5 L, y5 i* e/ d2 q# w
9 T  o( y; v! J3 T' D6 r4 j* {5 k, f! O

; |7 o* p: d4 p: I+ Y/ H/ }C  状态命令在CAA交互式开发过程中的重要内容,比如需要对视图中模型进行交互选择时,就用到该类型的命令。9 J5 q3 ^8 Z6 s# h2 B# t5 \! v

) i2 s! N. t3 O& P用状态命令启动对话框时,同样方式同1>。$ r0 s: r- N, V- ?

: Z3 q# g! v4 c3 \) {% opDialogC = new DialogC();# C3 a: k8 `) v% s

& x5 h7 G. J2 Z/ O       pDialogC->Build();
1 z* o: S' j& f5 h' }8 E5 G0 W) \' N, H3 F$ ~* q7 u
       pDialogC ->SetVisibility(CATDlgShow);4 u# A- I1 W* J5 m2 L

7 O# c/ a2 A. m' |9 w1 {3 k
4 ?& A. C! O3 t+ b8 v
0 }" v( Y) k# Q7 j+ i5 s. d" X5 N三种命令用法总结 + [# d# {; {0 B( D% v# |
8 i) J& _9 Z1 K( s* k0 M0 z
基本命令(Basic Command):无需选择对象或输入数值,如加载特征库。用于启动对话框时可以有或者没有输入,无需选择对象。7 s# g4 ]. t; o% F+ R! |1 ?
4 H& l' n+ S. T
基于对话框命令(Dialog-Based Command):无需选择对象但需输入数值,如根据输入的坐标值生成点。
6 \' B2 j7 T" S3 ~4 V, l+ `& ^) E- P6 j0 U+ P
基于状态命名(CATStateCommand):需选择对象,可有或没有面板。只有这种类型的命令才能进行undo管理。
) n* Q( p/ }+ m3 u$ A" B! G. y( D, I: v9 ^
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

在本版发帖
关注公众号
QQ客服返回顶部