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

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

[复制链接]

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

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

admin 楼主

2017-12-27 08:59:02

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

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

x
新建文档是CAA开发中的常用操作,分为在批处理环境下新建和在可视化交互环境下新建两种。下面以在批处理环境下新建为例,简要介绍步骤及涉及的方法。% d# D$ D! A/ o: W1 P6 E. W5 f+ B9 F

3 h( D+ c2 k. H创建会话2 D8 `# {" z3 i$ E3 T8 r
+ k8 X/ w: ^1 v3 K1 r  R
这是一个批处理程序,在使用文档之前首先需要打开一个会话。在CAA中,打开一个会话可使用全局函数Create_Session。
. V' N% Q" O2 d& p- F  B: [$ }6 T
- Z4 w3 o& s2 S4 B& O* l# Pchar *sessionName = "CAA2_Sample_Session";7 X0 |9 l5 v  l8 W0 C
CATSession *pSession = NULL;
" q$ z+ n0 t9 r$ F% THRESULT rc = ::Create_Session(sessionName, pSession);
( C' h5 V: _# H' D创建文档
7 F. Q4 n1 m* r' o
5 ^+ g* P& J# B" Z3 V) d# w+ z会话打开之后,可以使用CATDocumentServices的静态方法New创建文档,该方法创建一个文档并对它进行初始化,使其可以被加载、存储和编辑。在该例子中,使用“Part”作为这个文档的类型,在交互式的模式中,这是使用File/New操作后显示的名称,不是文件的类型,即在这里不要使用“CATPart”。
" X" R; d# ?" g7 [
: }+ z6 r9 p6 z1 C7 H& ^CATDocument* pDoc = NULL;
7 }8 u  |2 z; @# P9 ]( E1 `rc = CATDocumentServices::New("Part",pDoc);
) M  ?! d( D* n! s) }if (NULL != pDoc) cout << "New document created OK" << endl;8 l" _1 K8 k+ F5 @4 R
保存文档
, i. W! Y( w! d* n6 |5 E% v3 q- }
! W) k& I: y' a% W0 Y6 O* K使用CATDocumentServices的静态函数SaveAs保存文档,该方法使用指向前面使用New方法所创建文档的指针作为第一个参数,用文档文件名作为第二个参数。+ B$ A4 G  |: \$ V. O# @: {

; f, u- `" l9 i' ^5 `6 {$ Rrc = CATDocumentServices::SaveAs (*pDoc, "TestPart");& C* M+ c/ D" w! J  t
if (SUCCEEDED(rc)) cout << "Document saved OK" << endl;
8 U5 p& \- S! i0 t8 e" d移除文档: ?) e- w" C% R4 U
# q; I4 j, @0 }8 ], J! m
在同一个Session中如果你要再次打开文档,有必要在保存完成以后从会话中移除文档。如果不需要再次打开文档,你就无需担心文档从会话中移除的问题,因为删除会话时会自动将文档移除。使用CATDocumentServices的静态方法Remove可以从会话中移除文档。
8 Q3 z1 H9 K! w$ o" @* f8 v7 @
1 Z% x' ]- T: C8 H! Yrc = CATDocumentServices::Remove (*pDoc);
0 E- k7 \5 S& C: I/ U( h/ a& k  Hif (SUCCEEDED(rc)) cout << "Document removed OK" << endl;
$ G" I, B9 C* }: BpDoc = NULL ;
' o8 j/ t  I2 C* q" e) V3 v删除会话% M5 H: P  B; c6 s; U
2 s4 d/ [2 |1 v$ l
在程序的最后不要忘记使用全局函数Delete_Session删除会话。, G9 R. n5 H: }7 G

. W4 E8 v& x( Yrc = ::Delete_Session(sessionName);
5 d8 H' G& |# \if (SUCCEEDED(rc)) cout << "Session deleted OK" << endl;
1 i3 m% ]5 u* Z: v" N) m
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了