|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
新建文档是CAA开发中的常用操作,分为在批处理环境下新建和在可视化交互环境下新建两种。下面以在批处理环境下新建为例,简要介绍步骤及涉及的方法。- z0 ~0 Z$ P$ Y: w' |) R
5 g: s$ u/ u3 x* N+ U) G( r$ y3 ] W创建会话
7 [7 D: i; R2 s9 {, h
Q" D+ B7 N8 D) L这是一个批处理程序,在使用文档之前首先需要打开一个会话。在CAA中,打开一个会话可使用全局函数Create_Session。: h- Y) V$ j! ]8 C% ^. R* f3 Y) g
" U1 l0 F, y" b& x. \8 x: W' {
char *sessionName = "CAA2_Sample_Session";
' X# R' U8 m' y$ y, [4 Y; C9 cCATSession *pSession = NULL;) s( X& u. y' D% h5 E
HRESULT rc = ::Create_Session(sessionName, pSession);, T( s8 [9 X; w, ~1 B- T$ }4 R. E+ [
创建文档
) k H' v- A+ I, [
& a1 A) p' s9 d A$ c) s会话打开之后,可以使用CATDocumentServices的静态方法New创建文档,该方法创建一个文档并对它进行初始化,使其可以被加载、存储和编辑。在该例子中,使用“Part”作为这个文档的类型,在交互式的模式中,这是使用File/New操作后显示的名称,不是文件的类型,即在这里不要使用“CATPart”。1 M1 C9 C* B6 b7 g
( z D5 W5 H0 O: k! ?- G( iCATDocument* pDoc = NULL;
+ G- C! ?3 A( G, irc = CATDocumentServices::New("Part",pDoc);) O% Q! F) H# D6 v
if (NULL != pDoc) cout << "New document created OK" << endl;
7 r8 V8 T8 G; M保存文档) j' q6 N: ]6 D) ~& a
, Q; Q; W. z! k& S" _
使用CATDocumentServices的静态函数SaveAs保存文档,该方法使用指向前面使用New方法所创建文档的指针作为第一个参数,用文档文件名作为第二个参数。
& [* z1 S7 l9 [- X0 P4 R) C( w
3 P5 n" K- j, _5 erc = CATDocumentServices::SaveAs (*pDoc, "TestPart");
* K, E/ ^! F% Q- D# Wif (SUCCEEDED(rc)) cout << "Document saved OK" << endl;7 T3 L4 d; Z# L* U/ r
移除文档
( b* }6 w7 y7 q) p6 q2 s
2 L2 I( j4 V; Z F; k在同一个Session中如果你要再次打开文档,有必要在保存完成以后从会话中移除文档。如果不需要再次打开文档,你就无需担心文档从会话中移除的问题,因为删除会话时会自动将文档移除。使用CATDocumentServices的静态方法Remove可以从会话中移除文档。) L* _( Q( _2 X' M+ d, g1 Z
5 M& j, T, I2 n- C% W Orc = CATDocumentServices::Remove (*pDoc);) D1 e! M0 w: b' ~
if (SUCCEEDED(rc)) cout << "Document removed OK" << endl;+ U( A- J! e2 l! [! V& E9 p, r) k Z
pDoc = NULL ;
6 a# u: V2 H+ |4 A3 b- J删除会话
9 p! b& q( l* @3 [: J2 L0 L$ y! F. c! K* u
在程序的最后不要忘记使用全局函数Delete_Session删除会话。
0 I' M# F; U0 X! i8 k! C3 ]) |: _) n
rc = ::Delete_Session(sessionName);
- ^9 M. J' P4 t* T: gif (SUCCEEDED(rc)) cout << "Session deleted OK" << endl;) s2 x4 x5 x+ v. W W+ @
|
|