|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
新建文档是CAA开发中的常用操作,分为在批处理环境下新建和在可视化交互环境下新建两种。下面以在批处理环境下新建为例,简要介绍步骤及涉及的方法。
( e4 A; P3 R2 ^( T2 j. D/ X9 o0 c3 t8 A5 X$ T
创建会话
+ m; P2 S4 V, P/ e2 X
8 ]3 w: E% d8 S这是一个批处理程序,在使用文档之前首先需要打开一个会话。在CAA中,打开一个会话可使用全局函数Create_Session。
& b1 ]7 x4 W: Y4 v" Q" i4 M: P& Z0 |2 y9 d9 |7 ^6 @
char *sessionName = "CAA2_Sample_Session";
q) @* l9 \1 ]" L4 K1 ?CATSession *pSession = NULL;
& }3 j: u: |0 uHRESULT rc = ::Create_Session(sessionName, pSession);/ [- }) @4 i& I
创建文档
# E! V+ X7 v# K- h
8 L2 u. I8 m$ Y5 P会话打开之后,可以使用CATDocumentServices的静态方法New创建文档,该方法创建一个文档并对它进行初始化,使其可以被加载、存储和编辑。在该例子中,使用“Part”作为这个文档的类型,在交互式的模式中,这是使用File/New操作后显示的名称,不是文件的类型,即在这里不要使用“CATPart”。
& P1 `2 v4 T* B. D4 ~# W5 V/ r5 I/ K- U) k9 ^9 N- O4 \
CATDocument* pDoc = NULL;' X) r y9 K+ Z. U0 A
rc = CATDocumentServices::New("Part",pDoc);' L$ g6 r1 e/ ]2 A. a- E
if (NULL != pDoc) cout << "New document created OK" << endl;
d. F! k6 b# n- W( C3 B7 j保存文档
7 B4 S* G6 x' |& e" \1 N! h
! W8 y) } Q& s' z+ g使用CATDocumentServices的静态函数SaveAs保存文档,该方法使用指向前面使用New方法所创建文档的指针作为第一个参数,用文档文件名作为第二个参数。
$ D% t0 z* c: s% m+ ^& E% _7 c0 `' N$ X: ]& R8 z
rc = CATDocumentServices::SaveAs (*pDoc, "TestPart");$ m5 F ?! u5 e+ v- S* d
if (SUCCEEDED(rc)) cout << "Document saved OK" << endl;
, ?+ q7 I+ Y, l; z3 t移除文档# W/ b B! ?; E% g' f; c7 p/ T
: G! _8 E$ I& @9 C& G i
在同一个Session中如果你要再次打开文档,有必要在保存完成以后从会话中移除文档。如果不需要再次打开文档,你就无需担心文档从会话中移除的问题,因为删除会话时会自动将文档移除。使用CATDocumentServices的静态方法Remove可以从会话中移除文档。( J# s( }9 \: V* m
) R* z* |, O% o8 v4 Krc = CATDocumentServices::Remove (*pDoc);2 Z- e' j. c) T: }+ O6 q
if (SUCCEEDED(rc)) cout << "Document removed OK" << endl;
& y: _3 o0 W+ f' S, | |pDoc = NULL ;
1 |! }4 L# l0 }6 H. ~5 W删除会话
3 g; `- o$ W' Q6 ]0 s$ g
' q. O* b: U$ V+ ]: g在程序的最后不要忘记使用全局函数Delete_Session删除会话。, @1 X* N6 i% k7 g
. M0 U4 G3 u, c$ U3 C8 ]rc = ::Delete_Session(sessionName);
. z+ F' a4 O, _: f7 D: {if (SUCCEEDED(rc)) cout << "Session deleted OK" << endl;
- t! i' g& T' G" L) i4 F6 ? |
|