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

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

[复制链接]

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

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

admin 楼主

2017-5-8 16:41:46

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

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

x
4 @' x( @, \9 m0 a7 {# ?

! U4 u3 ]: H* V, h, D" ~% h- H% e: oA Dialog Basic Command (对应案例中对话框 DialogA DialogACmd )2 V" c$ p; Q. z% Z0 J
, l( C$ n' U- B
2 u# M6 p& X& X+ m) l/ P8 @, T' j  `
步骤:2 I4 O" h0 E3 \+ ^2 j; p: ~

* L& Q7 @8 E/ j+ G- z& u' Q1 创建普通对话框 :如案例中的DialogA,拖拽控件资源进行对话框布局,并保存。可以查看DialogA.h和DialogA.cpp文件中添加了对控件的声明和定义。
) i4 C! I, y- a
: n- P6 @9 G$ V$ i! r, @- B/ c2 m( b* c

, E4 {5 D8 q, q4 W6 g" uFile ->Add CAAV5 Item -> CATIA Resource ->Dialog) Z$ R- ~2 P" d2 m1 L1 D; N/ G" l+ W
1 _7 n, d5 }, h; ?: M- X4 J/ D$ B' D

2 u+ F5 \+ H8 L9 e4 d& O
5 E4 K! B& m1 B2 创建普通对话框基本命令 : 0 j; b! ]9 Z1 p, r
* k; K6 {! \1 z
File ->Add CAAV5 Item -> CATIA Resource ->Dialog -> Basic Command. T/ i) o# ]$ [+ ]+ w1 X
  _. o2 ?$ U( u
3 命令驱动对话框
! `* F0 P: a7 [! B8 L8 \4 G. q' f+ i
创建命令文件后,创建对话框实例。包含对话框DialogA头文件#include” DialogA.h” ;在DialogACmd.h文件中声明DialogA类对象pDialogA,在DialogACmd.cpp文件的构造函数或者Activate函数中添加代码; K4 L. I$ g6 U) r( |

, V/ u2 z5 s3 M  KpDialogA = new DialogA();0 ~! l/ i+ y  N7 Y: ^* a4 c) X
! M+ w8 d) Y! \; Y
         pDialogA->Build();$ S( {1 r' a$ [/ _2 I! S; `) m

! q$ e4 {' u  I3 x% D1 @( @4 T% t  pDialogA->SetVisibility(CATDlgShow);
8 Z! [) {3 \8 r! Y
  |. o: m; B# C$ Y: F+ q3 u4 关联工具条、按钮或者其他命令,本例中关联工具条
. g) C5 ]( g- g' s7 S+ \. P
' n% e. K" h/ H- s# @8 ]! z5 P( R建立工具条与命令的连接,通过命令文件启动对话框。* x4 ^; p7 l: N

" \: B4 v# K( ~/ k. s添加DialogTest  ,DialogACmd  L6 V7 N- {: X5 ?; E6 n

/ B. |7 s) ?$ _1 H( g5 A2 b) }$ L1 K
7 @& A8 S( S3 u: q- y1 E0 @1 L; N5 @5 e& o' @3 `/ T( q! V5 N7 _: L

+ e* O$ h4 v: I3 K/ O) I0 l% k' v$ V% P( `1 N: s+ J
  Dialog-box based command 对应案例中的DialogB.CATDlg ,DialogB.h,DialogB.cpp.
5 F' }7 @; e+ q9 g! m' v1 c" m$ y: f: c3 H8 N
2 M. O8 \! ~) R  R! B
B 基于对话框的命令在创建时会自动产生同名的.CATDlg文件,与基本对话框不同的是, 对话框 文件中定义了变量  int    m_FirstTime; 通过变量控制对话框对象的实例化。其他实现方式与基本命令相同
! W% A) Y  i' R) W2 C% X+ e5 S0 s$ _5 q( `! P8 r
, Z! w& t# {/ V4 F7 m

. c/ d( w/ x0 w! r9 W" m& W7 g

4 E) g; F% w6 S* ]# |' d6 s( ~; D8 K* IC  状态命令在CAA交互式开发过程中的重要内容,比如需要对视图中模型进行交互选择时,就用到该类型的命令。
; q( p" D$ X9 R& t; e: p: N5 N5 J% y7 [
用状态命令启动对话框时,同样方式同1>。; @" ]8 C7 K2 M  [; a
- Q- l5 H5 M9 L. \
pDialogC = new DialogC();
! ]; S( L6 t9 K8 O
; A8 ]; b- c" _5 p! B, U       pDialogC->Build();
. x+ O4 D5 d6 ^5 o; ~0 A* D, D$ e; w2 X  i, L
       pDialogC ->SetVisibility(CATDlgShow);% G9 c- S, r4 W

; b+ J0 I2 i& L) ]2 j2 I) B5 s% c% R& [  Y3 z1 m5 @

6 G8 U/ F' q' i三种命令用法总结 + ]1 J0 S9 [% ^6 K$ M4 z

0 V. s' b; ~/ f9 {* T7 _. S- G基本命令(Basic Command):无需选择对象或输入数值,如加载特征库。用于启动对话框时可以有或者没有输入,无需选择对象。, ^! e! y! X: P0 @! |. k' A* @1 r

; W& O4 J1 D( ?3 x  G  o基于对话框命令(Dialog-Based Command):无需选择对象但需输入数值,如根据输入的坐标值生成点。- J5 Y5 ^" q4 I( T$ S
* Y8 a. W% z- n) r) ?
基于状态命名(CATStateCommand):需选择对象,可有或没有面板。只有这种类型的命令才能进行undo管理。
9 `7 `4 X2 R0 ^1 m* P. ?& _& r
6 H, s) z9 L8 X: T) b, 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二次开发专题模块培训报名开始啦

    我知道了