|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
新建文档是CAA开发中的常用操作,分为在批处理环境下新建和在可视化交互环境下新建两种。下面以在批处理环境下新建为例,简要介绍步骤及涉及的方法。
T; D" |* u: o |5 ^1 s2 J' y: z
创建会话0 E- X" |, p# I; Z& m( v
* c) a2 r! w+ n1 ^* F# `这是一个批处理程序,在使用文档之前首先需要打开一个会话。在CAA中,打开一个会话可使用全局函数Create_Session。. ~* l) _) L, |+ P5 M2 O* I, J$ J) t
6 ` C8 s" H. K# C" a
char *sessionName = "CAA2_Sample_Session";
" L# L8 J. k* uCATSession *pSession = NULL;
$ `& ~4 K, n+ b( OHRESULT rc = ::Create_Session(sessionName, pSession);
' q* W3 L1 S# Y# K! @创建文档5 w( M5 \6 N' L2 N% T7 x
7 E' I$ m+ N2 N/ ?会话打开之后,可以使用CATDocumentServices的静态方法New创建文档,该方法创建一个文档并对它进行初始化,使其可以被加载、存储和编辑。在该例子中,使用“Part”作为这个文档的类型,在交互式的模式中,这是使用File/New操作后显示的名称,不是文件的类型,即在这里不要使用“CATPart”。
& w7 o/ E+ z2 w! X$ @- ~
3 Q9 p# `( I8 a3 OCATDocument* pDoc = NULL;
4 G. O2 Y# ?# L0 Z( d/ Irc = CATDocumentServices::New("Part",pDoc);
% C5 J6 f, F! a+ {; `, Aif (NULL != pDoc) cout << "New document created OK" << endl;
5 r, ]1 L* H+ [保存文档8 X9 W6 Z( k1 @2 g& O8 i& [
0 ]9 T. T. s0 r, V) M使用CATDocumentServices的静态函数SaveAs保存文档,该方法使用指向前面使用New方法所创建文档的指针作为第一个参数,用文档文件名作为第二个参数。" h' J' k5 t, `$ O# e
" e; D# c% M3 t( Q A0 f9 }4 z" irc = CATDocumentServices::SaveAs (*pDoc, "TestPart");
; j' d. {, b; X6 D! Uif (SUCCEEDED(rc)) cout << "Document saved OK" << endl;$ L: Y+ n6 n8 }5 ?/ N
移除文档
' b) [+ |! u* ^3 f( Q2 a* Z" w
7 O$ G6 Z N( `! i8 x在同一个Session中如果你要再次打开文档,有必要在保存完成以后从会话中移除文档。如果不需要再次打开文档,你就无需担心文档从会话中移除的问题,因为删除会话时会自动将文档移除。使用CATDocumentServices的静态方法Remove可以从会话中移除文档。
0 ~% }) V+ ?) q2 ~' L$ d
* D7 O# a) _9 S# crc = CATDocumentServices::Remove (*pDoc);
3 T8 m1 k$ @4 E2 X+ s v- B: Vif (SUCCEEDED(rc)) cout << "Document removed OK" << endl;+ B3 a4 v; T4 Y/ S
pDoc = NULL ;
, j2 V, T1 O5 T2 X6 @删除会话
$ Y, f* A/ }/ Z" p9 Y
# v5 o7 t, m$ k( M. x在程序的最后不要忘记使用全局函数Delete_Session删除会话。
2 j3 l* Z; [+ i+ M* }2 l* i
6 v% F2 U/ L; Y) @rc = ::Delete_Session(sessionName);6 k6 a; W" i; p, L- t
if (SUCCEEDED(rc)) cout << "Session deleted OK" << endl;+ p3 l% V7 r3 N+ Q6 A. W$ j
|
|