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

CATIA 二次开发源码分享: CAA 如何新建一个文档

[复制链接]

2018-2-28 06:22:14 3555 1

admin 发表于 2017-12-27 08:59:02 |阅读模式

admin 楼主

2017-12-27 08:59:02

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

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

x
新建文档是CAA开发中的常用操作,分为在批处理环境下新建和在可视化交互环境下新建两种。下面以在批处理环境下新建为例,简要介绍步骤及涉及的方法。1 w4 m2 o" @) J2 Z6 K5 c1 q7 j
9 o4 v! h: _8 A, H4 u/ l
创建会话. d3 s7 z& ]" }4 `  |
. z. d+ F& }; W7 Y( X  I
这是一个批处理程序,在使用文档之前首先需要打开一个会话。在CAA中,打开一个会话可使用全局函数Create_Session。
2 q# a% ^( b* V: {  R& k5 U
( K$ w3 j1 P  O( c6 ychar *sessionName = "CAA2_Sample_Session";) ]$ ]* e5 |* j( w% L4 z8 Z  e
CATSession *pSession = NULL;
5 t& c; |% |* u5 ]7 gHRESULT rc = ::Create_Session(sessionName, pSession);+ c& C9 Q: T1 S- _; `
创建文档- b0 `# G( `+ Z. C/ N/ a

. J: E$ f, g4 ?  g会话打开之后,可以使用CATDocumentServices的静态方法New创建文档,该方法创建一个文档并对它进行初始化,使其可以被加载、存储和编辑。在该例子中,使用“Part”作为这个文档的类型,在交互式的模式中,这是使用File/New操作后显示的名称,不是文件的类型,即在这里不要使用“CATPart”。
# W5 }- K" b2 `2 y# U" G# {0 F1 _$ c, O+ E3 V, c8 k0 v
CATDocument* pDoc = NULL;7 Y$ Z6 D, R- C
rc = CATDocumentServices::New("Part",pDoc);
8 K) P! Y4 ^8 o; O* bif (NULL != pDoc) cout << "New document created OK" << endl;
* x; P: {0 D$ c. h6 Y9 T保存文档& z8 v# I: W3 j5 I% m  l
6 ?) C* Y, z0 L  Q1 X/ j
使用CATDocumentServices的静态函数SaveAs保存文档,该方法使用指向前面使用New方法所创建文档的指针作为第一个参数,用文档文件名作为第二个参数。7 x" A0 U2 E5 ~

3 v9 Q9 T/ W- ~7 p+ p7 p2 a( {rc = CATDocumentServices::SaveAs (*pDoc, "TestPart");
% Z$ ^' }3 o' r2 o3 Z$ {" Fif (SUCCEEDED(rc)) cout << "Document saved OK" << endl;
! L. s3 @  m- e, W! \移除文档
( t) n& |! s# k' s: j" I! Q6 d6 ?# v" r$ T
在同一个Session中如果你要再次打开文档,有必要在保存完成以后从会话中移除文档。如果不需要再次打开文档,你就无需担心文档从会话中移除的问题,因为删除会话时会自动将文档移除。使用CATDocumentServices的静态方法Remove可以从会话中移除文档。
$ ~- |1 Z. R# f5 [+ E( t& \& H  ?, `
rc = CATDocumentServices::Remove (*pDoc);6 n" u0 b, T% P/ ~) _
if (SUCCEEDED(rc)) cout << "Document removed OK" << endl;; B* w% p' w( C
pDoc = NULL ;
; x! D$ ?1 d: W& u( B! b  T删除会话
- Q! A0 U0 m* C7 w" a. P$ m* A1 a8 Q  D$ W; r
在程序的最后不要忘记使用全局函数Delete_Session删除会话。
% d: c1 ?* Z+ ?3 a
0 T2 l* I) B+ Z6 O5 `1 P  ^2 T( _rc = ::Delete_Session(sessionName);
2 G5 ^) x$ m# H& I2 h! D# v0 i% a4 Lif (SUCCEEDED(rc)) cout << "Session deleted OK" << endl;
2 U$ d! [0 H4 o- x3 h$ C: w+ `* J
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

全部回复1

cwp86 发表于 2018-2-28 06:22:14

cwp86 沙发

2018-2-28 06:22:14

显示所有内容
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了