PLM之家PLMHome-工业软件与AI结合践行者

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

[复制链接]

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

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

admin 楼主

2017-12-27 08:59:02

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

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

x
新建文档是CAA开发中的常用操作,分为在批处理环境下新建和在可视化交互环境下新建两种。下面以在批处理环境下新建为例,简要介绍步骤及涉及的方法。( d' y9 b- P1 N! z5 o: r

7 a6 |& \& L7 B) L$ R; Q创建会话9 }# x2 N& S  z, C( K

! I1 J" |" t: P& R7 o" @这是一个批处理程序,在使用文档之前首先需要打开一个会话。在CAA中,打开一个会话可使用全局函数Create_Session。* T' G6 R6 g5 o7 j0 ^

5 t, B$ [, n" |8 hchar *sessionName = "CAA2_Sample_Session";9 O/ m$ G+ o7 V2 Y6 e2 b7 v& l  B2 G
CATSession *pSession = NULL;
: U& ]% ?6 e5 J2 K2 v" c7 p8 mHRESULT rc = ::Create_Session(sessionName, pSession);8 W! H# s  f* Q/ N
创建文档
7 S0 ]" f0 s$ W# B
2 d# ^/ A# e" l8 X会话打开之后,可以使用CATDocumentServices的静态方法New创建文档,该方法创建一个文档并对它进行初始化,使其可以被加载、存储和编辑。在该例子中,使用“Part”作为这个文档的类型,在交互式的模式中,这是使用File/New操作后显示的名称,不是文件的类型,即在这里不要使用“CATPart”。/ y% _0 z3 v! ~8 F4 h

' u# G9 m6 s# A* s* B- M' uCATDocument* pDoc = NULL;6 i+ ]1 Y" O& `# m
rc = CATDocumentServices::New("Part",pDoc);4 c2 q* H& J/ y$ l
if (NULL != pDoc) cout << "New document created OK" << endl;
+ B4 m# f/ `6 c6 N  s4 O( W保存文档
. g) O# }+ f; b+ @& c" A* w: U0 W$ i) _4 u
使用CATDocumentServices的静态函数SaveAs保存文档,该方法使用指向前面使用New方法所创建文档的指针作为第一个参数,用文档文件名作为第二个参数。. T' c* k" F1 D7 s
) f* v. c/ i! n7 u$ t
rc = CATDocumentServices::SaveAs (*pDoc, "TestPart");
  ^3 v3 h& T) }- P2 g+ Bif (SUCCEEDED(rc)) cout << "Document saved OK" << endl;
" G( c: V3 [% Q) V" y移除文档
" e, f& k9 [! a+ ?& E
2 B# A4 Y* M1 ?9 C! A* B+ n5 u在同一个Session中如果你要再次打开文档,有必要在保存完成以后从会话中移除文档。如果不需要再次打开文档,你就无需担心文档从会话中移除的问题,因为删除会话时会自动将文档移除。使用CATDocumentServices的静态方法Remove可以从会话中移除文档。: G; R: z5 @+ R/ M

* F% w. i6 \+ q- T) Vrc = CATDocumentServices::Remove (*pDoc);
/ m: H3 W# N5 Wif (SUCCEEDED(rc)) cout << "Document removed OK" << endl;
! a7 f3 Y" P* _& H. ]pDoc = NULL ;
3 k0 E2 r( B( ?/ _. j. E* y' H删除会话/ j# F$ h9 q' G/ e5 z& t

7 z" a2 ]& l% b' n在程序的最后不要忘记使用全局函数Delete_Session删除会话。
% W6 ?8 `3 j. k& y: G% o7 L* J
9 g- Z! c5 ]4 m& trc = ::Delete_Session(sessionName);
4 b6 i$ H  C7 e' D' \# P. u, R; Nif (SUCCEEDED(rc)) cout << "Session deleted OK" << endl;
- D0 Y: ^) R  e+ d9 _
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了