|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
新建文档是CAA开发中的常用操作,分为在批处理环境下新建和在可视化交互环境下新建两种。下面以在批处理环境下新建为例,简要介绍步骤及涉及的方法。+ m1 M! R9 S$ g3 R
# v8 J% b$ S* u1 Q; Q创建会话
$ g5 ~( x, G7 f7 ^+ C3 y: c) r" P6 k4 B& e! I
这是一个批处理程序,在使用文档之前首先需要打开一个会话。在CAA中,打开一个会话可使用全局函数Create_Session。
5 F+ C$ ^- \/ }. _. a$ O8 G9 S% E6 U2 n0 ^5 {6 d! o1 r7 ^
char *sessionName = "CAA2_Sample_Session";
" u. f" f8 p' H2 NCATSession *pSession = NULL;2 R( v6 J* N* x; _+ x' }
HRESULT rc = ::Create_Session(sessionName, pSession);
& Q }; S/ |0 _6 ]( T创建文档: ]! o) }2 E- r! o' P2 A. S
: f% C e8 ]$ N _. h' u! G+ R会话打开之后,可以使用CATDocumentServices的静态方法New创建文档,该方法创建一个文档并对它进行初始化,使其可以被加载、存储和编辑。在该例子中,使用“Part”作为这个文档的类型,在交互式的模式中,这是使用File/New操作后显示的名称,不是文件的类型,即在这里不要使用“CATPart”。
, L: M( w2 |0 {+ H, b/ g o& E# w, ^
CATDocument* pDoc = NULL;
3 k- q9 B, Y( T. k4 H0 S( Wrc = CATDocumentServices::New("Part",pDoc);
' c* m! P8 F; E2 _if (NULL != pDoc) cout << "New document created OK" << endl;, R5 D$ H/ }3 X, {. P* j
保存文档5 z- }. Z# Z3 r- z$ n) }+ g9 b
& [8 o5 }& ]0 Q% p! U/ j: b
使用CATDocumentServices的静态函数SaveAs保存文档,该方法使用指向前面使用New方法所创建文档的指针作为第一个参数,用文档文件名作为第二个参数。- r$ q7 {" ?% |+ y
1 i' B2 x4 z' Prc = CATDocumentServices::SaveAs (*pDoc, "TestPart");7 X! h& r8 B3 m% A+ f
if (SUCCEEDED(rc)) cout << "Document saved OK" << endl;; p3 }& M. E1 S E* i
移除文档
# w; F+ Q2 @2 z* Z) i' D- U ? P4 S
在同一个Session中如果你要再次打开文档,有必要在保存完成以后从会话中移除文档。如果不需要再次打开文档,你就无需担心文档从会话中移除的问题,因为删除会话时会自动将文档移除。使用CATDocumentServices的静态方法Remove可以从会话中移除文档。+ Z- J9 w) Y$ p" z! Q) M# v
4 {/ l2 | J: W3 @! @) o; F. R, Z
rc = CATDocumentServices::Remove (*pDoc);
. s: Z; @/ W' m/ q4 A% mif (SUCCEEDED(rc)) cout << "Document removed OK" << endl;! L8 V3 ^/ ]; _. f2 r: y
pDoc = NULL ;
3 N" S6 S" H$ k) t删除会话
; {) c" p- o9 U" P2 a! Y0 f4 l" Y" M' h+ q: x6 _& Q; j+ E
在程序的最后不要忘记使用全局函数Delete_Session删除会话。, _# R$ U' S7 }$ i& r; W0 d3 y
3 ~& m9 l. g9 g% E, Vrc = ::Delete_Session(sessionName);& x) z3 q$ ?3 P# g% Q! U
if (SUCCEEDED(rc)) cout << "Session deleted OK" << endl;
& V X+ q% l8 m! O: u |
|