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

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

[复制链接]

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

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

admin 楼主

2017-12-27 08:59:02

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

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

x
新建文档是CAA开发中的常用操作,分为在批处理环境下新建和在可视化交互环境下新建两种。下面以在批处理环境下新建为例,简要介绍步骤及涉及的方法。; F& l1 ?+ W( D4 u, Z

9 L' J' `) ?) w9 w3 t创建会话/ X( J* W/ O# S5 S
7 N& Q' V+ x% \6 p/ W3 |
这是一个批处理程序,在使用文档之前首先需要打开一个会话。在CAA中,打开一个会话可使用全局函数Create_Session。
- Z$ ?8 O" P  U/ F8 J3 _, R2 i# g: }4 H3 E) }. {: G
char *sessionName = "CAA2_Sample_Session";$ B/ Z; ]* Y$ r( z! }
CATSession *pSession = NULL;
! `# p: y9 j, T6 P9 DHRESULT rc = ::Create_Session(sessionName, pSession);
, d# i( A; u+ D, @创建文档& X9 b5 S* L  f0 o

  d3 e, d) S' z* G会话打开之后,可以使用CATDocumentServices的静态方法New创建文档,该方法创建一个文档并对它进行初始化,使其可以被加载、存储和编辑。在该例子中,使用“Part”作为这个文档的类型,在交互式的模式中,这是使用File/New操作后显示的名称,不是文件的类型,即在这里不要使用“CATPart”。- U+ J$ [6 @2 M8 J( w9 e: E

6 y/ H& ?8 {. q7 H* s1 lCATDocument* pDoc = NULL;" @4 u+ m' F, j0 y7 i7 m
rc = CATDocumentServices::New("Part",pDoc);
% q$ i+ N  R8 A+ C) I; H- Tif (NULL != pDoc) cout << "New document created OK" << endl;
) ]' A7 v' t" i0 Q: d# g3 x保存文档
. C. l1 Q4 R( c& M! y( E5 @( F+ Z; r
使用CATDocumentServices的静态函数SaveAs保存文档,该方法使用指向前面使用New方法所创建文档的指针作为第一个参数,用文档文件名作为第二个参数。
- b- I3 b/ v1 J: r# c0 g! o. G
- Z7 D" G" R8 frc = CATDocumentServices::SaveAs (*pDoc, "TestPart");7 I+ Q  ~* Q! j/ |; Q, y
if (SUCCEEDED(rc)) cout << "Document saved OK" << endl;1 Q4 h4 A: d2 K( D3 f
移除文档
6 d, P6 X8 S& m, `: Z0 |& `3 H. K4 c) b+ ?5 a. G8 X* b5 G. R
在同一个Session中如果你要再次打开文档,有必要在保存完成以后从会话中移除文档。如果不需要再次打开文档,你就无需担心文档从会话中移除的问题,因为删除会话时会自动将文档移除。使用CATDocumentServices的静态方法Remove可以从会话中移除文档。6 ^  w6 m& s: {5 X

# E9 n% U* s5 o- U0 x3 Y: trc = CATDocumentServices::Remove (*pDoc);$ x. t) ~+ Y- d
if (SUCCEEDED(rc)) cout << "Document removed OK" << endl;. I2 \% T# [, K, V5 R2 n
pDoc = NULL ;
! ^1 j  y& C* d. ]8 e2 S删除会话
$ h0 y" e8 r$ Z, f2 \% {3 }
# a5 Z7 r! m  X2 t% P在程序的最后不要忘记使用全局函数Delete_Session删除会话。
' W2 I( ?/ U6 N& M' ^! L& F0 |  j9 y" h, }, F2 \
rc = ::Delete_Session(sessionName);" b8 W: b+ e1 S* j* C
if (SUCCEEDED(rc)) cout << "Session deleted OK" << endl;' v" ~3 i" }7 r% n
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了