catiavba二次开发入门及提高

上传人:第*** 文档编号:64637634 上传时间:2018-12-28 格式:PDF 页数:135 大小:7.59MB
返回 下载 相关 举报
catiavba二次开发入门及提高_第1页
第1页 / 共135页
catiavba二次开发入门及提高_第2页
第2页 / 共135页
catiavba二次开发入门及提高_第3页
第3页 / 共135页
catiavba二次开发入门及提高_第4页
第4页 / 共135页
catiavba二次开发入门及提高_第5页
第5页 / 共135页
点击查看更多>>
资源描述

《catiavba二次开发入门及提高》由会员分享,可在线阅读,更多相关《catiavba二次开发入门及提高(135页珍藏版)》请在金锄头文库上搜索。

1、 CATIA VBACATIA VBA 二次开发入门与提高二次开发入门与提高 作者:Docker 许可声明 本书知识产权归本人所有,作者拥有所有权利。本书内容免费免费向所有人开放,任何人都可以把 本书内容作为一个整体进行查看、存储、复制、打印或传播。在使用本书时,视为读者已同意遵守 以下条款: 1. 使用者不得修改本书中的任何内容。使用者在阅读、分享过程中必须保证本书的完整性,不 得拆解成多个部分传播。 2. 使用者不得利用本书进行任何商业性活动, 不能利用本书获取经济利益, 包括虚拟的货币、 积分或声望。 本书内容完全免费。作者花费了大量精力完成本书内容编写、示例代码设计等工作。如果您觉得这

2、本书的内 容对您有帮助,可以选择打赏本文作者。您只需手机扫描下方的二维码(支付宝) ,就可以对作者表示赞助和支 持啦,谢谢! 作者自序 学习 CATIA VBA 二次开发的关键是理解 CATIA V5 Automation API 体系。CATIA Automation API 采 用面向对象技术设计,结构严密、逻辑清晰,是一个开放易学的体系结构。对于刚刚接触 CATIA VBA 二次开发的人来说,既要面临很多个全新的概念,又要掌握 API 中概念与 CATIA 数模中元素和操作 的对应关系, 在设计二次开发程序时难免产生一些困惑。 目前已经出版的书籍包括网上公共资源中, 关于 CATIA V

3、BA 二次开发比较好的资料很少, 这促使我在自己工作经验的基础上写一本参考性资料, 帮助那些想学习 CATIA 二次开发的编程者,也可以作为从事相关工作工程师的参考资料。 熟悉面向对象思想的工程师更容易看懂 CATIA Automation API, 在实践上需要他们有一定的 CATIA 建模经验,并且对 MCAD 软件设计思想有一定概念。比如零件文档和实例之间的关系、几何元素和 参考(Reference)之间的关系等等。读者需要在实际经验中不断总结操作方法和经验,加深对 CATIA 模型各级元素与 Automation API 对应概念之间关系的理解。 我在工作学习期间,接触了很多质量很高的

4、免费资源,如博客技术文章、免费书籍和开源代码 等。 这些免费资源让本人受益匪浅。 为了支持开源和免费共享精神, 本书内容及附加代码完全免费, 任何人都能够方便自由地获取和使用。 本书中附带了示例程序代码,用来演示相关功能,方便读者参考和学习。请在传播本书时连同 示例程序一起打包,以方便别人使用。示例程序不可用作商业用途,本人不保证示例代码的安全性 和健壮性;使用示例程序用作商业用途造成的任何损失与作者无关。 限于作者本人工作经验有限,对 CATIA V5 接触的广度和深度也实属不够,本书内容难免会有不 准确或错误之处, 请各位读者批评指正, 我会陆续更新。 反馈邮件可发送到邮箱 。 如果读者希

5、望分章节阅读, 也可以访问作者的博客 (链接如下: http:/ , 欢迎阅读和留言。 作者:Docker 2016 年 7 月于北京 目录目录 1 前言 . 1 1.1 CATIA 二次开发简介 1 1.2 本书讨论的内容 . 2 2 快速入门 . 4 2.1 CATIA 宏脚本 4 2.1.1 录制第一个宏文件 4 2.1.2 宏代码解释 6 2.1.3 编辑宏 7 2.1.4 创建宏 9 2.1.5 添加宏到 CATIA 工具条 10 2.2 VBA 项目 . 12 3 使用 Automation 帮助 16 3.1 基本概念 . 16 3.1.1 对象(Objects) 17 3.1.

6、2 属性(Properties) 20 3.1.3 方法(Methods) 22 3.1.4 参考(References) 24 3.2 Automation 查询技巧 . 25 3.2.1 Automation 目录 . 25 3.2.2 示例代码 27 3.2.3 搜索功能 27 4 CATIA 常用模块二次开发 29 4.1 基础结构模块(Infrastructure) . 29 4.1.1 Application 对象 . 29 4.1.2 Document 35 4.1.3 Selection 39 4.1.4 枚举变量 49 4.1.5 CATIA 选项 51 4.1.6 视图控制

7、 57 4.2 草图设计模块 . 60 4.2.1 创建草图 60 4.2.2 创建草图特征 61 4.2.3 草图约束 63 4.2.4 练习:创建 5 个圆台 64 4.3 零件设计模块 . 65 4.3.1 概述 65 4.3.2 零件属性 66 4.3.3 ShapeFactory 对象 67 4.3.4 练习:创建凸轮轴 69 4.4 创成式曲面设计(GSD)模块 . 75 4.4.1 HybridShapeFactory 对象介绍 . 75 4.4.2 几何图形集 77 4.4.3 练习:创建离散元素集合 78 4.4.4 练习:创建旋转楼梯 81 4.5 装配设计模块 . 82

8、4.5.1 Product 对象概述 82 4.5.2 Product 对象详解 83 4.5.3 遍历装配体下所有产品 85 4.5.4 装配特征 85 4.5.5 装配约束 86 4.5.6 练习:提取和更新产品 BOM 86 4.6 工程图模块 . 93 4.6.1 DrawingSheet 94 4.6.2 DrawingView . 95 4.6.3 练习:绘制工程图框 96 4.7 空间分析模块 . 98 4.7.1 测量(Measurable) . 98 4.7.2 碰撞检测 102 4.8 知识工程与专家系统 . 102 4.8.1 Parameter . 102 4.8.2

9、Releation 105 4.8.3 Reactoin . 105 5 CATIA VBA 开发的几种方式 . 108 5.1 CATIA 宏 108 5.1.1 宏的存储 108 5.1.2 语法特点 109 5.1.3 文件操作 113 5.1.4 文件对话框 115 5.1.5 调用外部脚本 116 5.1.6 宏脚本加密 116 5.2 VBScript 117 5.3 VBA 项目 . 117 5.3.1 VBA 项目的文件结构 119 5.3.2 VBA 项目的设置 119 5.3.3 窗体 121 5.3.4 模块 123 5.3.5 VBA 项目的使用限制 124 5.4 V

10、B.net . 124 5.4.1 V 库的版本兼容 . 125 5.4.2 引用 125 5.4.3 操作函数封装 127 1 CATIA VBA 二次开发入门与提高 1 前言前言 1.1 CATIA 二次开发简介二次开发简介 在 CAD 软件中实现复杂产品数字化定义是一项繁琐辛苦的工作。为了精确定义产品形状,一个 零件设计有可能需要成百上千次交互操作命令才完成;通常一个大型产品由几百个或者更多零部件 组成,完成整个产品全数字化建模需要企业投入巨大人力和时间成本。 目前大型商业 CAD 系统都具有行业通用性,但所有的用户需求都是个性化的。比如汽车厂商更 关心如何高效的设计出汽车,它需要的是一

11、个面向汽车设计的 CAD 系统,以提高其设计效率;而服 装厂商更关心面向服装设计的 CAD 功能。 由于这个矛盾 (或者需求) 的存在, 养活了中国很多家 CAD 软件代理公司和二级厂商。得益于 CAD 软件提供的二次开发接口,这些厂商专门为各相关行业的企 业提供 CAD 定制开发服务;部分有条件和实力的企业也有自己的二次开发团队,实现企业内部 CAD 功能个性化定制开发。 CAD 软件功能的个性化定制,其目的是满足用户使用习惯、企业知识/标准的封装、产品数据管 理等方面的个性需求,这是 CAD 二次开发最基本的驱动力。 使得 CAD 二次开发需求比较广泛的另一个原因是产品设计自动化需求。 在

12、主流设计方法中, CAD 软件的元素/特征需要自底向上建模,全新产品的数模设计从草图、点、线开始。这就需要非常繁琐 的操作步骤和大量时间才能完成一个产品数模设计。在这个场景下,用户可能更喜欢某些元素/特征 能够自动创建出来。这里说的“自动”包含两层意思,其一是重复操作的自动化完成,其二是某些 流程自动化完成。 几乎所有的 CAD 软件都提供了宏命令。当用户选择“录制宏”时,用户的操作命令和数据被记 录在一段程序中。用户通过宏代码可以查看、重现被记录的操作。更重要的是,用户可以编辑宏更 改录制的操作命令(或数据)并执行。宏代码实现了用户操作和程序代码之间的映射,是非常有用 的学习二次开发的工具。

13、 通过以上讨论,我们可以简单给 CAD 二次开发一个定义。所谓 CAD 二次开发,就是利用 CAD 系 统提供的 API 接口进行程序设计开发,拓展原生 CAD 软件功能,实现 CAD 软件功能个性化和操作自 动化。 一些 CAD 系统除了宏以外,还提供了深层开发模式,允许用户调用更底层的函数、实现更高层 次的功能(菜单、工具条) ,甚至可以把相关菜单和工具条集成到原有 CAD 系统中,使得二次开发应 用与原系统风格完全一致,用户体验很好。 CATIA 基于开放式可扩展的 V5 架构使得用户可以方便地通过二次开发扩展应用功能。CATIA 提 供了两种编程 API,一种是 Automation

14、API,采用组件对象模型(Component Object Model,COM)技 术把相关模块接口封装在独立的组件内。 另一种是 C+/Java API, 在 C+的快速集成开发环境 (RADE) 2 CATIA VBA 二次开发入门与提高 中进行程序设计。 在 VBA 和 CAA 的选择问题上,历来存在争论,读者应根据自己的理解进行对比和选择。下面就 作者自己的理解,给出 VBA 和 CAA 各自的优缺点,供大家参考。 优点 缺点 VBA (1)支持多种开发语言,开发方式灵活。 (2)API 相对简单,入门快 (3)支持进程内和进程外程序 (4)一套源码支持多个 CATIA V5 版本(极

15、少 部分 API 会有出入) (1)部分 CATIA 底层功能不 具备 VBA API 接口 (2)程序效率不如 CAA CAA (1)有比较底层的程序接口,可以实现高级 开发功能 (2)能够开发具有 CATIA 系统风格的界面, 相关菜单和工具命令按钮嵌入在 CATIA 原生 系统中使用方便 (1)采用 C+语言在 RADE 环境中开发,门槛高 1.2 本书讨论的内容本书讨论的内容 本书把所有基于 AutomationAPI 的 CATIA 二次开发统称为 CATIA VBA 二次开发,这是本书讨论的 核心内容。这种叫法可能和部分人的理解不一致,请注意区别。 由于 COM 技术支持几乎所有程

16、序语言,所以 CATIA VBA 二次开发也可以采用各种编程语言来实 现。按照使用语言的不同,CATIA VBA 二次开发的开发模式大体有如下几种: (1)VBA Project:采用 CATIA 提供的 VBA 集成开发环境(IDE)进行程序设计,项目是进程内应 用程序,能够设计窗体界面,可以方便地把生成的程序添加到 CATIA 工具条中。 (2)CATIA 宏脚本:采用 VBScript 语言编写代码,也可以把程序集成到 CATIA 工具条中,但脚 本程序的输入输出功能较弱,无法实现复杂的交互界面。 (3)其他脚本语言:采用 VBScript,JavaScript,Python 等语言编写代码,在 CATIA 以外执行, 特点是可以写成比较短小灵活的代码集成到其他应用中。 (4)高级语言编写的程序,如 VB.net,C#。可以制作比较复杂的交互界面,可以利用.net 优势

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号