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

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

[复制链接]

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

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

admin 楼主

2017-12-27 08:59:02

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

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

x
新建文档是CAA开发中的常用操作,分为在批处理环境下新建和在可视化交互环境下新建两种。下面以在批处理环境下新建为例,简要介绍步骤及涉及的方法。0 o+ q" r1 X  E
) c; J# r. \# W$ w/ w
创建会话
% F$ E9 d/ \4 Z6 w5 q. M8 f) M: M
这是一个批处理程序,在使用文档之前首先需要打开一个会话。在CAA中,打开一个会话可使用全局函数Create_Session。. H) Q; a9 m) n. k2 p" Q" ^- b# A

9 ~/ ^' @; `: M+ v3 D" ochar *sessionName = "CAA2_Sample_Session";8 J  d8 s/ h& F/ P
CATSession *pSession = NULL;
7 Z- _7 t9 B2 T. oHRESULT rc = ::Create_Session(sessionName, pSession);5 O; U2 A2 ]3 `% R6 Q  @; Y3 s, ~! e
创建文档
4 N# b, L9 `$ J- ?2 A8 T0 p, h3 `4 C% h6 o" A9 @" m
会话打开之后,可以使用CATDocumentServices的静态方法New创建文档,该方法创建一个文档并对它进行初始化,使其可以被加载、存储和编辑。在该例子中,使用“Part”作为这个文档的类型,在交互式的模式中,这是使用File/New操作后显示的名称,不是文件的类型,即在这里不要使用“CATPart”。
! v& N  e! H6 H/ J& l$ X4 P$ n1 Z1 a
CATDocument* pDoc = NULL;
$ c5 x2 N. `! V6 W! zrc = CATDocumentServices::New("Part",pDoc);8 C0 [/ a$ w6 D6 C# ^
if (NULL != pDoc) cout << "New document created OK" << endl;
! C8 }6 `4 e$ Q4 L/ u$ h保存文档& J0 |" j0 A+ o3 U: |! p( B
( r7 i0 y: P6 b% A3 ~' ^6 b
使用CATDocumentServices的静态函数SaveAs保存文档,该方法使用指向前面使用New方法所创建文档的指针作为第一个参数,用文档文件名作为第二个参数。2 H/ i6 F1 X( v

, ^" _! p" E# t# u7 u& W8 L# Prc = CATDocumentServices::SaveAs (*pDoc, "TestPart");
9 p4 ?  p; A' n0 D- g/ C1 \$ lif (SUCCEEDED(rc)) cout << "Document saved OK" << endl;
3 M# \$ H; m6 ~* c5 o; d移除文档
, y4 k1 u1 U6 V' n- x1 A' k/ V# W% t1 }/ A
在同一个Session中如果你要再次打开文档,有必要在保存完成以后从会话中移除文档。如果不需要再次打开文档,你就无需担心文档从会话中移除的问题,因为删除会话时会自动将文档移除。使用CATDocumentServices的静态方法Remove可以从会话中移除文档。
+ ^3 T( l" K/ R( |  Y4 |6 K! R# w2 V
rc = CATDocumentServices::Remove (*pDoc);
- P& K% Z) s  x5 r3 z' mif (SUCCEEDED(rc)) cout << "Document removed OK" << endl;
, B  b* N2 k/ R; O9 ppDoc = NULL ;
: Y' {! @6 P6 T4 j% q; {6 X删除会话
  H- f# ^  w2 {  o( r- Z: B6 O" O1 f8 ?4 R; ~$ |
在程序的最后不要忘记使用全局函数Delete_Session删除会话。
0 c5 l# k4 A, b0 `3 r
8 d: U  l7 s& C" B: rrc = ::Delete_Session(sessionName);
) h; F9 |4 g! x; Pif (SUCCEEDED(rc)) cout << "Session deleted OK" << endl;# s8 D/ s4 }, C9 Q
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了