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

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

[复制链接]

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

2471

主题

1276

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x
4 q" y7 t# {$ t* m8 ?

1 F) Q/ K6 i+ _( {+ g1 EA Dialog Basic Command (对应案例中对话框 DialogA DialogACmd )
6 l: D8 w; p7 m0 U# C0 U! z- O  d' ^9 r
( B5 `+ z5 W2 p! Z, M
步骤:
! Q6 [6 q9 G9 f
- ~0 l& V5 B. y, m" D  [' V0 o( l1 创建普通对话框 :如案例中的DialogA,拖拽控件资源进行对话框布局,并保存。可以查看DialogA.h和DialogA.cpp文件中添加了对控件的声明和定义。 $ a# Q$ h3 i) j% ^. e

/ \$ T: l) x2 b; \( s( U7 m! ?0 p. `; S) e; f' ?; K
* m4 L8 x2 _1 K1 M* d: o
File ->Add CAAV5 Item -> CATIA Resource ->Dialog  A7 b/ V/ e, |$ ~1 E! c. E
, G1 A6 |& u) S+ ?( Y3 l
# R) ]9 n: u% j# J! h% ]

) d0 ~( B& i0 c: I, F' J& b; i2 创建普通对话框基本命令 :
. ]* ?9 L, [/ m4 }  T! u
. S# v/ W, z" f% pFile ->Add CAAV5 Item -> CATIA Resource ->Dialog -> Basic Command
4 e. S" {4 v% p! r  C; a# w( @" N4 d, P& E( K. i
3 命令驱动对话框
+ f; C) m4 ]- x: v- h
. ?) n' }& c' l+ ?; W创建命令文件后,创建对话框实例。包含对话框DialogA头文件#include” DialogA.h” ;在DialogACmd.h文件中声明DialogA类对象pDialogA,在DialogACmd.cpp文件的构造函数或者Activate函数中添加代码
# a, p" o! t" t" E, l' c0 L' u
/ Z2 l$ m0 I& L( P6 CpDialogA = new DialogA();! Z( l1 S9 }: r- M5 _

/ s& X2 ]/ s- W! E& P         pDialogA->Build();
6 v% w2 G. k1 I6 ?9 t2 Y
4 S& i* G/ I/ _" @7 F  pDialogA->SetVisibility(CATDlgShow);
1 q' e# H) @0 B" t) y. y; o% \% G. p7 v5 W/ f& X
4 关联工具条、按钮或者其他命令,本例中关联工具条1 J( R' D0 R" }% m2 m6 j) Y( Z

' s; R- [6 n# N$ g# M1 l) p建立工具条与命令的连接,通过命令文件启动对话框。3 m& h  V1 u2 V% n

- h! v) X8 c  a' p% t  V5 ~: S) O添加DialogTest  ,DialogACmd
6 R0 |5 E' C9 G/ r) ~  x5 N: v% A8 _0 h5 w( Y2 N

) k2 Y5 s# t# `' ~  R  @5 R4 z* q% j. [! L8 P. v6 Q& a  }* w$ a

+ T, v3 V. A! |" b& t* t+ {' z8 G& P: i9 w0 q: R; I/ z
  Dialog-box based command 对应案例中的DialogB.CATDlg ,DialogB.h,DialogB.cpp.
2 u0 H: F4 ?( a% `
8 G4 U5 s* E% {* A$ k# j
" H# f  H0 B$ H6 }% E, VB 基于对话框的命令在创建时会自动产生同名的.CATDlg文件,与基本对话框不同的是, 对话框 文件中定义了变量  int    m_FirstTime; 通过变量控制对话框对象的实例化。其他实现方式与基本命令相同
# h" N) Q7 W$ H3 ~' N- d: r4 H) T8 Z! r* d

0 k' I0 m5 c3 s  c) W9 ]1 B( ?( \4 S& i( y8 v  b/ V

8 i* C- Q1 ^1 I$ H: d- ^7 k4 h: V6 W5 k
C  状态命令在CAA交互式开发过程中的重要内容,比如需要对视图中模型进行交互选择时,就用到该类型的命令。
& w" m' C' l" A6 v4 w& ~+ t4 d2 p+ ^/ x7 A9 k
用状态命令启动对话框时,同样方式同1>。
; i, y, r3 C' Y
  l) [  A/ R0 a6 ]! E5 KpDialogC = new DialogC();* z) y8 Y- M6 q' V0 p/ a# o( `" e

9 x/ `# i9 q' h& T2 g       pDialogC->Build();
  R( i: v* d& J! I: T/ T  o8 B. F: F3 n% n+ D; d0 l! t# }
       pDialogC ->SetVisibility(CATDlgShow);
4 A5 P$ }9 n0 V$ P! F5 }  J5 A& ]; ~
3 M! b3 e( u& @0 N5 R% Y0 }+ A; b' s# Z; u9 G) V/ L

" ^0 u6 a! P! v' q, k) J" _三种命令用法总结
! @- h2 O2 ^4 N0 j: j" F7 a" d; w' J8 D( T6 {" B- L# V; \
基本命令(Basic Command):无需选择对象或输入数值,如加载特征库。用于启动对话框时可以有或者没有输入,无需选择对象。: q2 m* I* {7 y8 _( d

8 s, K0 l) D, _# h4 k1 v0 A/ k基于对话框命令(Dialog-Based Command):无需选择对象但需输入数值,如根据输入的坐标值生成点。4 |3 B% e( |5 H& {/ \) Z* X

$ f3 {$ C- B8 I8 L# o3 |, n$ u5 |基于状态命名(CATStateCommand):需选择对象,可有或没有面板。只有这种类型的命令才能进行undo管理。
" f( Y0 P+ Y: T7 u3 @, W& A' T" J* U! @0 f& L9 C/ y1 L
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了