|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
新建文档是CAA开发中的常用操作,分为在批处理环境下新建和在可视化交互环境下新建两种。下面以在批处理环境下新建为例,简要介绍步骤及涉及的方法。
9 p3 X6 e8 I0 u. S3 W0 Y A& T) @& w
创建会话
2 V5 q4 b1 |' [( q
@( ?( f. X6 t' K P- R2 ^. Y这是一个批处理程序,在使用文档之前首先需要打开一个会话。在CAA中,打开一个会话可使用全局函数Create_Session。 a8 R! Q2 k; P( L9 X
$ x. v2 G4 o& }& v* Z. Z
char *sessionName = "CAA2_Sample_Session";
6 Y; `; C) V2 |CATSession *pSession = NULL;
/ g( P( \6 o8 Y) }% l* QHRESULT rc = ::Create_Session(sessionName, pSession);
+ `( t, v7 v0 b( d2 [7 E; ~创建文档 P& z* G2 S: {# C& V4 W" Q8 h- t% W
* a* [3 G: }1 A0 C7 r+ J3 C; F
会话打开之后,可以使用CATDocumentServices的静态方法New创建文档,该方法创建一个文档并对它进行初始化,使其可以被加载、存储和编辑。在该例子中,使用“Part”作为这个文档的类型,在交互式的模式中,这是使用File/New操作后显示的名称,不是文件的类型,即在这里不要使用“CATPart”。
+ w$ K) N# D% ^& X+ U7 ~9 k: t5 Y
4 N" `; N$ d* _% f1 W* q) g) oCATDocument* pDoc = NULL;1 v8 s+ v6 ?& V$ T+ j3 w
rc = CATDocumentServices::New("Part",pDoc);4 ~' J1 O) n, {* u" y0 A+ c
if (NULL != pDoc) cout << "New document created OK" << endl;9 |% z! m R8 Q2 B* B
保存文档
* v3 L. R8 O+ ?5 J/ V
q5 R" A; t5 _+ K, P1 `; z& g* C使用CATDocumentServices的静态函数SaveAs保存文档,该方法使用指向前面使用New方法所创建文档的指针作为第一个参数,用文档文件名作为第二个参数。& H( ^ _& p% H
- a2 C4 [1 i: M( Z" d
rc = CATDocumentServices::SaveAs (*pDoc, "TestPart");& }7 h, Z. M2 L+ [8 w' ?2 E
if (SUCCEEDED(rc)) cout << "Document saved OK" << endl;
0 K) ~7 G' F$ y: J B+ o移除文档8 Q- Z/ C# ~' e% w
+ g7 k) W; q* n+ S; p: k- R
在同一个Session中如果你要再次打开文档,有必要在保存完成以后从会话中移除文档。如果不需要再次打开文档,你就无需担心文档从会话中移除的问题,因为删除会话时会自动将文档移除。使用CATDocumentServices的静态方法Remove可以从会话中移除文档。! g4 t% c2 P( e# V
/ o1 F3 O9 a" K' T1 a: u6 }# @
rc = CATDocumentServices::Remove (*pDoc);3 F" [, }+ v8 I D! Y: p
if (SUCCEEDED(rc)) cout << "Document removed OK" << endl;
% {( i( l, P$ u* k$ p* PpDoc = NULL ;# E" O6 O; x2 o5 N& s
删除会话
- J6 l0 N5 S8 y0 X
! g+ f8 X# O% n# A在程序的最后不要忘记使用全局函数Delete_Session删除会话。; O( s; x# Z! X7 E4 C
3 r: \' K) L. ?
rc = ::Delete_Session(sessionName);6 Y; k# D" \. a0 p! @ v7 K0 N
if (SUCCEEDED(rc)) cout << "Session deleted OK" << endl;
/ Y/ N/ j) |. Q8 V9 O7 ?' w2 q |
|