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

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

[复制链接]

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

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

admin 楼主

2017-5-8 16:41:46

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

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

x

% V" g5 u) A( j2 J( a; m8 j# ~4 v' s" x0 i" J3 t2 ]2 D
A Dialog Basic Command (对应案例中对话框 DialogA DialogACmd )* O" q! Q6 W3 T( }. V& ~1 k
* N7 ?$ s- Q2 K9 d( J8 d( L9 M
: u* J0 G& Q! J8 y
步骤:
3 Q1 c7 Q, w, U2 G( W" K7 E1 Q8 A6 f+ f6 }" ]
1 创建普通对话框 :如案例中的DialogA,拖拽控件资源进行对话框布局,并保存。可以查看DialogA.h和DialogA.cpp文件中添加了对控件的声明和定义。 8 S' s) P( i) h! z

8 k$ h" ?: x: w3 W5 d/ G4 ?
2 p/ @# l% a. y1 H: z' Z$ I, Y8 i, d6 h' k- E- \
File ->Add CAAV5 Item -> CATIA Resource ->Dialog& @9 V. X9 N& y! [9 G
4 o! I0 h( C$ k, O* [( N+ c2 {4 h

- r" ]: o- F+ P8 J1 b
- O" |! C( s) X$ W/ v0 Z2 创建普通对话框基本命令 : ) g7 J- u7 |. W2 J& A% w" ~

7 R" r4 i. x6 o& D; T2 _" @File ->Add CAAV5 Item -> CATIA Resource ->Dialog -> Basic Command7 m5 M9 Z; t  u  s

0 [1 ?3 }% @! \3 命令驱动对话框
5 m4 j1 _) j4 K. ~0 A' E
; A' M/ K7 E0 j' h. X8 ^创建命令文件后,创建对话框实例。包含对话框DialogA头文件#include” DialogA.h” ;在DialogACmd.h文件中声明DialogA类对象pDialogA,在DialogACmd.cpp文件的构造函数或者Activate函数中添加代码+ Q( j& J8 T3 w9 V2 t

- \' v2 E# r3 H- R" C- }pDialogA = new DialogA();
* ]) b8 t+ i* z. j
5 ^) U! B- k$ v& ?" r& X9 U# V         pDialogA->Build();
- P% o* ^. I$ z  V6 z1 Q% Y
' s/ y; \5 a3 |; W  pDialogA->SetVisibility(CATDlgShow);0 p. U' \7 p1 z4 P/ H8 `( g
: K& I7 S' r- ?" J# F4 H/ {2 j! i1 |
4 关联工具条、按钮或者其他命令,本例中关联工具条
' ?# x0 D( v; i9 L+ \
! F' Y0 R3 j- [& a0 \) r, V, v建立工具条与命令的连接,通过命令文件启动对话框。
1 ?2 |8 R% t; P5 g9 S
/ h9 V; g$ \) z, ]+ j添加DialogTest  ,DialogACmd
  b7 B8 C, e3 }5 m/ X! W% e  k# A. o  D
2 V* q7 y% m3 a

8 a# c* ?  H* m1 M
' w; Q0 f, A% H) g9 C+ E
1 q% D$ t* }& p- E  Dialog-box based command 对应案例中的DialogB.CATDlg ,DialogB.h,DialogB.cpp.. [' E% [3 ~: [" i- C: z& _

8 l' D9 U# L$ N, j  E1 u7 {3 Q8 d1 C% E* X/ z7 H. r" f# H
B 基于对话框的命令在创建时会自动产生同名的.CATDlg文件,与基本对话框不同的是, 对话框 文件中定义了变量  int    m_FirstTime; 通过变量控制对话框对象的实例化。其他实现方式与基本命令相同
$ }: r  L1 u: _3 V: r- u0 f" l# O# D5 A) g7 |' B

/ w* n: E5 k8 D7 ]  J9 v9 T3 {4 F% U; m5 H* f2 v
6 D! B& L8 q( e8 `5 a  T

8 a: H& g0 Y9 v) ?" NC  状态命令在CAA交互式开发过程中的重要内容,比如需要对视图中模型进行交互选择时,就用到该类型的命令。
: X. [) Y9 p) ]/ J5 g1 r$ u7 P" v' B1 Q6 z1 A- j: N
用状态命令启动对话框时,同样方式同1>。5 O4 z2 {- ^* }$ Z% `
' T6 t* P* p1 h3 `
pDialogC = new DialogC();0 j* G0 ?4 X5 G5 g6 N: L1 \! R5 o+ e
) [" j/ m4 w. v' a# i7 ^; Z! P. ~) V8 w
       pDialogC->Build();( Y' n% h7 R+ k$ Z- D" _: _
. l- D9 l6 r( B( J
       pDialogC ->SetVisibility(CATDlgShow);
: W: V  ~( M6 m9 ^5 `0 o4 E
! d4 W% O6 U" n* E, ~$ ]$ i7 I
. U. I( c/ r8 J0 o
三种命令用法总结 / B: m2 ^4 |9 Q$ q8 z5 p

) q0 Q! y, T$ S! C基本命令(Basic Command):无需选择对象或输入数值,如加载特征库。用于启动对话框时可以有或者没有输入,无需选择对象。2 O9 }, j' [5 P" P* |+ U5 g  d) b

5 h4 z0 S# W! G% d+ t8 l1 s9 O7 W基于对话框命令(Dialog-Based Command):无需选择对象但需输入数值,如根据输入的坐标值生成点。
" V, \* T) ^- m) ^7 d% V+ S, X) Z% C, p6 f. ?+ S( l
基于状态命名(CATStateCommand):需选择对象,可有或没有面板。只有这种类型的命令才能进行undo管理。! ]; w: Z5 l% K3 |

5 i9 V+ h. D' G- y* w# r- l0 s8 r
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了