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

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x
- k' z1 [/ B3 s/ m7 ^' h* v

6 \, b7 Q$ m! a7 M4 l5 fA Dialog Basic Command (对应案例中对话框 DialogA DialogACmd )
4 z; X" v8 i* a% u  ~& @. Y* T3 w
* q9 w0 |3 b0 [$ u6 Y& R+ ^: q* Q) ~
步骤:! v% _: J; f6 H) V) Y
" C; U. q; U" q: W4 B, E
1 创建普通对话框 :如案例中的DialogA,拖拽控件资源进行对话框布局,并保存。可以查看DialogA.h和DialogA.cpp文件中添加了对控件的声明和定义。 3 c. o; }5 P' V3 F+ b. b# [
- b- Z" w/ \6 e. k4 ?; B- K" w# x
. G% r0 f6 q* @" G

- @- Z8 v( L% m; |File ->Add CAAV5 Item -> CATIA Resource ->Dialog
2 \" v0 r$ a6 ^" N: V7 \3 ?' x$ `& _6 |1 g

. ?- e& O( Z; {  j+ ]8 r
0 E$ R, u' Q1 h3 i) j+ l2 创建普通对话框基本命令 : 4 `/ }4 [# E8 d* Y9 M9 E

* w3 N; {: W  }1 r# R7 L) f; i+ cFile ->Add CAAV5 Item -> CATIA Resource ->Dialog -> Basic Command. J1 x$ U2 N6 X$ u1 `& V* r  H
9 X) [- G" m% R! w5 W; k1 ^0 p. g
3 命令驱动对话框! U7 b0 W4 |! j3 S7 e3 P

5 `' K; k8 N* v6 Q5 x% l. N1 ]创建命令文件后,创建对话框实例。包含对话框DialogA头文件#include” DialogA.h” ;在DialogACmd.h文件中声明DialogA类对象pDialogA,在DialogACmd.cpp文件的构造函数或者Activate函数中添加代码
7 O' P. W$ ^/ O; @' |  l7 s* b$ k) a4 t4 W. j% L/ [9 v3 I
pDialogA = new DialogA();
2 a5 R& h, e: `
+ j( F" {% u( S: [% s7 Q         pDialogA->Build();3 J' G) \1 @$ C

. s0 P1 u' h# ~' D9 N0 K5 C) a' i  pDialogA->SetVisibility(CATDlgShow);& J, g4 g# ?# X

8 W7 p6 Y% _& l( D8 Z4 关联工具条、按钮或者其他命令,本例中关联工具条$ c* W( Q: M: K! e4 K  T% y4 M! X

# ~# p  V! V0 k# _& ]1 W3 Z9 j1 K建立工具条与命令的连接,通过命令文件启动对话框。8 G( V. R: {0 H6 g& j

4 Z3 b4 S, C! @: q3 K添加DialogTest  ,DialogACmd
6 k- E7 ~4 ?2 L8 z1 k
$ Y2 x4 S  h: q5 h
1 P5 A4 X+ i" ]7 y) H. {) X, O! F- F7 D3 M0 e

4 e# {  O" l0 [8 x) ]1 H) P9 F3 |: Q/ J% e% q
  Dialog-box based command 对应案例中的DialogB.CATDlg ,DialogB.h,DialogB.cpp.
% S8 {7 K, @9 F* Y$ o  p& F) ?7 v0 q6 u" p

0 m" d8 k+ [* ?! }1 m( Q' YB 基于对话框的命令在创建时会自动产生同名的.CATDlg文件,与基本对话框不同的是, 对话框 文件中定义了变量  int    m_FirstTime; 通过变量控制对话框对象的实例化。其他实现方式与基本命令相同* \% k" F0 i  n. I$ u9 ^

) M& c) u0 I: w2 r
( p# k" V, l4 j7 ^' p* J* l, n8 N- K7 V0 Y; _0 r. I

, N& ^8 ~" T" j0 b- J& K" d3 t6 ^% a, |1 a9 ^" M% o5 l3 c
C  状态命令在CAA交互式开发过程中的重要内容,比如需要对视图中模型进行交互选择时,就用到该类型的命令。% E$ @- u4 l9 @" P- F! ~
7 H7 F( z; c5 i% U, r
用状态命令启动对话框时,同样方式同1>。
- U' t8 Z/ \& u) K% X
- Z# T2 [3 q- O& WpDialogC = new DialogC();! n  g% V8 E* M" O8 K
4 O+ f2 g  S9 z/ w  X- o; |& \
       pDialogC->Build();
8 Q5 ]; _6 _  \8 U) p
( B1 b* A; I5 J* m' D3 r0 g       pDialogC ->SetVisibility(CATDlgShow);
. c& ]% T' V5 h- F* }! @  [0 u' k+ L2 m) o" Z3 A

5 Y( p; n0 X6 u# }, @/ K/ r& [! B, B6 f, i  m3 c: N+ C7 ~
三种命令用法总结
) H  ?4 l/ \0 q' u5 H% M# U# _5 `0 g! ?. \  U, k
基本命令(Basic Command):无需选择对象或输入数值,如加载特征库。用于启动对话框时可以有或者没有输入,无需选择对象。
* f7 B! x) D" ~2 j) u2 w9 h0 l! U. w6 _, O1 c: A' ?5 v
基于对话框命令(Dialog-Based Command):无需选择对象但需输入数值,如根据输入的坐标值生成点。
+ U* `/ ^( ~# h) w( v7 R) e$ c. z2 k+ Z. U; h7 ~* m
基于状态命名(CATStateCommand):需选择对象,可有或没有面板。只有这种类型的命令才能进行undo管理。5 d- M! e4 D) B+ R( Q

4 v& v! B$ m) Z* K$ F% m. C
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了