|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
新建文档是CAA开发中的常用操作,分为在批处理环境下新建和在可视化交互环境下新建两种。下面以在批处理环境下新建为例,简要介绍步骤及涉及的方法。
6 q i+ c+ G3 X% K- R; K% T" n: ~8 E; a! P6 X8 h
创建会话
/ L1 l: I1 r5 N- ?5 U! k- I3 f( ^6 @: ?
这是一个批处理程序,在使用文档之前首先需要打开一个会话。在CAA中,打开一个会话可使用全局函数Create_Session。
" D5 y' [5 g J3 ~' I
) U1 B% M) ?" c, @: ^char *sessionName = "CAA2_Sample_Session";
1 ?' }5 }- N0 b+ ^5 c7 \( @# LCATSession *pSession = NULL;7 w0 E: O* L2 ^: ]1 C
HRESULT rc = ::Create_Session(sessionName, pSession);
5 o6 @6 u3 ~& S创建文档
; Q# ^7 g+ z' O5 g; {$ a3 T( t" s: @. e( ]- j w9 w5 F
会话打开之后,可以使用CATDocumentServices的静态方法New创建文档,该方法创建一个文档并对它进行初始化,使其可以被加载、存储和编辑。在该例子中,使用“Part”作为这个文档的类型,在交互式的模式中,这是使用File/New操作后显示的名称,不是文件的类型,即在这里不要使用“CATPart”。$ j9 h' ^, Z8 w! w* y' @5 m
& f- U% ]& ^2 g. s+ h( k3 \3 g) {4 ^CATDocument* pDoc = NULL;, m" h) B6 ?1 Z$ u+ N4 R, v% U
rc = CATDocumentServices::New("Part",pDoc);# d1 V8 Y. Z7 Q" U
if (NULL != pDoc) cout << "New document created OK" << endl;6 h& B1 [' H8 P* G6 P# @
保存文档
; s W, Y+ a6 d: ~: b
+ c( F2 P. M" y" X使用CATDocumentServices的静态函数SaveAs保存文档,该方法使用指向前面使用New方法所创建文档的指针作为第一个参数,用文档文件名作为第二个参数。
2 B: [: q9 n9 {( M" A: O
+ ^& S2 v- B& o% I* K Qrc = CATDocumentServices::SaveAs (*pDoc, "TestPart");
# B: m1 A- w6 Y. t1 X! Q% E3 mif (SUCCEEDED(rc)) cout << "Document saved OK" << endl;/ Q$ `3 K5 t+ l3 T
移除文档
V r9 \& a! u6 L0 l3 Y9 b& P$ W$ i# d
在同一个Session中如果你要再次打开文档,有必要在保存完成以后从会话中移除文档。如果不需要再次打开文档,你就无需担心文档从会话中移除的问题,因为删除会话时会自动将文档移除。使用CATDocumentServices的静态方法Remove可以从会话中移除文档。: B$ Q. n' f6 o& ~3 l! [* u
H/ {# a& V# Orc = CATDocumentServices::Remove (*pDoc);4 e# v6 T4 F+ W0 N
if (SUCCEEDED(rc)) cout << "Document removed OK" << endl;
+ N q/ a+ f* q8 v! npDoc = NULL ;, ~0 J2 @6 J, ]6 P
删除会话0 U' Y- c- K& R* [! Q
& Q- G( c% I' v9 ^$ I, \. X在程序的最后不要忘记使用全局函数Delete_Session删除会话。
# m6 `9 F% k7 u t7 v0 |8 C! X, t4 j# o$ Q9 \5 i! ]: c
rc = ::Delete_Session(sessionName);8 \7 ~8 D# ^/ `
if (SUCCEEDED(rc)) cout << "Session deleted OK" << endl;
% b! V( n8 o1 W; ^$ K8 _ |
|