PLM之家PLMHome-国产软件践行者

CATIA 二次开发源码分享: CAA 如何新建一个文档

[复制链接]

2018-2-28 06:22:14 3491 1

admin 发表于 2017-12-27 08:59:02 |阅读模式

admin 楼主

2017-12-27 08:59:02

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

您需要 登录 才可以下载或查看,没有账号?注册

x
新建文档是CAA开发中的常用操作,分为在批处理环境下新建和在可视化交互环境下新建两种。下面以在批处理环境下新建为例,简要介绍步骤及涉及的方法。
# Y, F1 S0 N, v7 `2 F. t; S$ r9 h) _
创建会话0 Z+ A2 F! a9 {4 _# h2 ]- n
$ i3 A0 w- S0 Z. D: ~5 T
这是一个批处理程序,在使用文档之前首先需要打开一个会话。在CAA中,打开一个会话可使用全局函数Create_Session。
, A) n8 T9 P; x2 H
* i# W+ j) i! Uchar *sessionName = "CAA2_Sample_Session";
* F# X. [) F% i! [/ ACATSession *pSession = NULL;
* a' u3 L5 @& ~' eHRESULT rc = ::Create_Session(sessionName, pSession);" E8 U" L4 {* t1 h$ r' Q! y
创建文档
$ w" x3 `6 h5 s8 Y
) \, [7 Z% k% f2 R会话打开之后,可以使用CATDocumentServices的静态方法New创建文档,该方法创建一个文档并对它进行初始化,使其可以被加载、存储和编辑。在该例子中,使用“Part”作为这个文档的类型,在交互式的模式中,这是使用File/New操作后显示的名称,不是文件的类型,即在这里不要使用“CATPart”。
" G0 ~8 h) _% e" h: K, {' O6 C: n4 S
CATDocument* pDoc = NULL;* u: ^5 v1 s7 S3 J4 c
rc = CATDocumentServices::New("Part",pDoc);
. K# D  D7 g7 i2 Dif (NULL != pDoc) cout << "New document created OK" << endl;
3 e% B9 s- y9 s, M; W3 k保存文档
; H+ w0 r$ [4 K  k
: Z3 k/ e) E6 J0 V( |9 b$ i+ B, t使用CATDocumentServices的静态函数SaveAs保存文档,该方法使用指向前面使用New方法所创建文档的指针作为第一个参数,用文档文件名作为第二个参数。
( ~. ]# U  U; V! k( \( H7 M! {* @! o, I" w. u, W
rc = CATDocumentServices::SaveAs (*pDoc, "TestPart");
/ o& ]+ y9 i. B( iif (SUCCEEDED(rc)) cout << "Document saved OK" << endl;
1 P7 g; E, p9 x/ D移除文档4 D6 l7 a, c5 h2 v+ n2 j3 S
) v; ?! o- c+ D* R; f
在同一个Session中如果你要再次打开文档,有必要在保存完成以后从会话中移除文档。如果不需要再次打开文档,你就无需担心文档从会话中移除的问题,因为删除会话时会自动将文档移除。使用CATDocumentServices的静态方法Remove可以从会话中移除文档。
" `4 i( ^8 P/ ~( t8 w+ O& e+ [# f( O; S8 {& [
rc = CATDocumentServices::Remove (*pDoc);3 X5 ~1 S, j1 \$ A7 V, j& @5 M
if (SUCCEEDED(rc)) cout << "Document removed OK" << endl;$ W* _8 \5 x/ C1 y0 d
pDoc = NULL ;: C4 V  L$ C6 m
删除会话5 h' j$ V2 v8 i, r

/ e9 u& f. t4 e1 s$ ~在程序的最后不要忘记使用全局函数Delete_Session删除会话。& i! P5 X7 u, R" d8 G& O9 o

. [5 g; k+ N) e+ B" |: Irc = ::Delete_Session(sessionName);
: g* D# c, f$ E2 T4 ?if (SUCCEEDED(rc)) cout << "Session deleted OK" << endl;
' s1 F' f! F' f1 Y" y
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

全部回复1

cwp86 发表于 2018-2-28 06:22:14

cwp86 沙发

2018-2-28 06:22:14

显示所有内容
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了