|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
新建文档是CAA开发中的常用操作,分为在批处理环境下新建和在可视化交互环境下新建两种。下面以在批处理环境下新建为例,简要介绍步骤及涉及的方法。
J4 @8 X5 l g# G$ S$ h
/ e, I4 s. |# U7 d l0 |创建会话
Q4 T) e0 G: \3 J# b) `
0 y8 @# Z) @$ b/ E8 c t+ T! a这是一个批处理程序,在使用文档之前首先需要打开一个会话。在CAA中,打开一个会话可使用全局函数Create_Session。" a# A+ E2 r7 s) z' R: A/ K# V' }
@0 F& z0 E( j$ Hchar *sessionName = "CAA2_Sample_Session"; e9 F& h0 \' R* F' l
CATSession *pSession = NULL;
8 w7 F. @' b* H+ e& o* sHRESULT rc = ::Create_Session(sessionName, pSession);0 u" O% x+ F! a/ _) I
创建文档! q% r: I1 f' t- Q5 `* G
/ l. N- C5 c! F# e% V0 }
会话打开之后,可以使用CATDocumentServices的静态方法New创建文档,该方法创建一个文档并对它进行初始化,使其可以被加载、存储和编辑。在该例子中,使用“Part”作为这个文档的类型,在交互式的模式中,这是使用File/New操作后显示的名称,不是文件的类型,即在这里不要使用“CATPart”。
, a/ v9 [' v/ Q4 _
7 Z- c" K0 \8 Z7 m% s$ PCATDocument* pDoc = NULL;9 I* s# W* O% v& B0 Y4 G
rc = CATDocumentServices::New("Part",pDoc);
7 U5 d( N& t9 mif (NULL != pDoc) cout << "New document created OK" << endl;
/ u n- ~/ z7 T) t保存文档6 c7 `( V$ O. w( t
2 I# ^, Y% i, e# k8 Y0 C使用CATDocumentServices的静态函数SaveAs保存文档,该方法使用指向前面使用New方法所创建文档的指针作为第一个参数,用文档文件名作为第二个参数。8 y% V$ P1 G1 {& Y8 |
2 k N8 N8 O: \) f$ Z
rc = CATDocumentServices::SaveAs (*pDoc, "TestPart");) N7 m8 W; I+ [0 h* U
if (SUCCEEDED(rc)) cout << "Document saved OK" << endl;
- N9 }2 _; a9 t移除文档$ S: x Z$ @& p; F% ^
7 e5 Y% _+ E: ?9 {, [- v) [. {在同一个Session中如果你要再次打开文档,有必要在保存完成以后从会话中移除文档。如果不需要再次打开文档,你就无需担心文档从会话中移除的问题,因为删除会话时会自动将文档移除。使用CATDocumentServices的静态方法Remove可以从会话中移除文档。
, ?3 N: s+ l3 D4 Q5 [% L- J/ H, q0 z8 i
rc = CATDocumentServices::Remove (*pDoc); u+ F( @4 L' |: m7 m; }
if (SUCCEEDED(rc)) cout << "Document removed OK" << endl;
- a3 j6 r/ P* H2 D* b! B3 ?/ IpDoc = NULL ;. r$ v' Q. V9 D1 G
删除会话
( m" }- |: F8 v* n+ ?6 d
: X1 \/ m/ o/ _4 I4 z在程序的最后不要忘记使用全局函数Delete_Session删除会话。
+ O: N" X( m& y
8 r9 q* d ^$ ~* B* o" S3 arc = ::Delete_Session(sessionName);
* k% W. L ~2 a0 m. e$ A2 Y4 r0 w0 oif (SUCCEEDED(rc)) cout << "Session deleted OK" << endl;
: c8 c. I7 t% V& R: E( l. [ |
|