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

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

[复制链接]

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

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

admin 楼主

2017-12-27 08:59:02

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

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

x
新建文档是CAA开发中的常用操作,分为在批处理环境下新建和在可视化交互环境下新建两种。下面以在批处理环境下新建为例,简要介绍步骤及涉及的方法。
  J4 @8 X5 l  g# G$ S$ h
/ e, I4 s. |# U7 d  l0 |创建会话
  Q4 T) e0 G: \3 J# b) `
0 y8 @# Z) @$ b/ E8 c  t+ T! a这是一个批处理程序,在使用文档之前首先需要打开一个会话。在CAA中,打开一个会话可使用全局函数Create_Session。" a# A+ E2 r7 s) z' R: A/ K# V' }

  @0 F& z0 E( j$ Hchar *sessionName = "CAA2_Sample_Session";  e9 F& h0 \' R* F' l
CATSession *pSession = NULL;
8 w7 F. @' b* H+ e& o* sHRESULT rc = ::Create_Session(sessionName, pSession);0 u" O% x+ F! a/ _) I
创建文档! q% r: I1 f' t- Q5 `* G
/ l. N- C5 c! F# e% V0 }
会话打开之后,可以使用CATDocumentServices的静态方法New创建文档,该方法创建一个文档并对它进行初始化,使其可以被加载、存储和编辑。在该例子中,使用“Part”作为这个文档的类型,在交互式的模式中,这是使用File/New操作后显示的名称,不是文件的类型,即在这里不要使用“CATPart”。
, a/ v9 [' v/ Q4 _
7 Z- c" K0 \8 Z7 m% s$ PCATDocument* pDoc = NULL;9 I* s# W* O% v& B0 Y4 G
rc = CATDocumentServices::New("Part",pDoc);
7 U5 d( N& t9 mif (NULL != pDoc) cout << "New document created OK" << endl;
/ u  n- ~/ z7 T) t保存文档6 c7 `( V$ O. w( t

2 I# ^, Y% i, e# k8 Y0 C使用CATDocumentServices的静态函数SaveAs保存文档,该方法使用指向前面使用New方法所创建文档的指针作为第一个参数,用文档文件名作为第二个参数。8 y% V$ P1 G1 {& Y8 |
2 k  N8 N8 O: \) f$ Z
rc = CATDocumentServices::SaveAs (*pDoc, "TestPart");) N7 m8 W; I+ [0 h* U
if (SUCCEEDED(rc)) cout << "Document saved OK" << endl;
- N9 }2 _; a9 t移除文档$ S: x  Z$ @& p; F% ^

7 e5 Y% _+ E: ?9 {, [- v) [. {在同一个Session中如果你要再次打开文档,有必要在保存完成以后从会话中移除文档。如果不需要再次打开文档,你就无需担心文档从会话中移除的问题,因为删除会话时会自动将文档移除。使用CATDocumentServices的静态方法Remove可以从会话中移除文档。
, ?3 N: s+ l3 D4 Q5 [% L- J/ H, q0 z8 i
rc = CATDocumentServices::Remove (*pDoc);  u+ F( @4 L' |: m7 m; }
if (SUCCEEDED(rc)) cout << "Document removed OK" << endl;
- a3 j6 r/ P* H2 D* b! B3 ?/ IpDoc = NULL ;. r$ v' Q. V9 D1 G
删除会话
( m" }- |: F8 v* n+ ?6 d
: X1 \/ m/ o/ _4 I4 z在程序的最后不要忘记使用全局函数Delete_Session删除会话。
+ O: N" X( m& y
8 r9 q* d  ^$ ~* B* o" S3 arc = ::Delete_Session(sessionName);
* k% W. L  ~2 a0 m. e$ A2 Y4 r0 w0 oif (SUCCEEDED(rc)) cout << "Session deleted OK" << endl;
: c8 c. I7 t% V& R: E( l. [
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了