基于C#的SolidWorks插件开发(1)--SolidWorksAPI接⼝介绍这是两年前毕业时写的⼀篇关于SolidWorks插件开发与公司PDM集成的毕业设计,最近闲来⽆事拿出来整理⼀下,⼤神们可以略过。
1.1 SolidWorks API接⼝
正确调⽤SolidWorks API 是完成SolidWorks⼆次开发中参数化设计的基础。调⽤SolidWorksAPI 是指调⽤SolidWorks 的事件、⽅法、属性、以及相关功能,从⽽完成零部件实体建模的全过程。
SolidWorks的API接⼝分为两种:⼀种是基于OLE Autonation的IDispatch技术;另⼀种是基于Windows基础的COM 。
OLE(Object Linking and Embedding,对象连接与嵌⼊),简称OLE技术。
基于OLE Automation 的IDispatch 技术作为快速开发的⼿段,⼀般常⽤于VB、Delphi 编程语⾔的接⼝,通过IDispatch 接⼝暴露对象的属性和⽅法,以便在客户程序中使⽤这些属性并调⽤它所⽀持的⽅法。此种技术只能开发EXE 形式的程序,所开发的CAD 系统不能直接加挂在SolidWorks 系统界⾯下,⽆法实现与SolidWorks 系统的集成[12]。
COM(Component Object Model ,组件对象模型)[13]技术是SolidWorks API 的基础,是Microsoft 公司提出的并被⼤多数公司⽀持的⼀种标准协议,它建⽴了⼀个软件模块同另⼀个软件模块的连接,当这种连
接建⽴之后,两个模块之间就可以通过接⼝来进⾏通讯。COM接⼝更为简洁⾼效,这种技术可以使⽤最多的SolidWorks API 函数。
1.2 SolidWorks API对象结构
Solidworks API 通过⾯向对象思想组织所有的接⼝对象,如图3.1所⽰
Solidworks API对象可以分为以下⼏个⼤类。
百度api接口(1) 应⽤程序对象:应⽤程序对象包括SldWorks、ModelDoc2、PartDoc、AssemblyDoc及DrawingDoc对象。
(2) 配置⽂件对象:配置⽂件对象管理零件中不同模块(零件⽂档模式)与装配体中不同零件(装配体⽂档模式)的状态。
(3) 事件对象:Solidworks API接⼝中提供了对事件的⽀持,当前版本中⽀持的事件类型有AssemblyDoc事件、DrawingDoc事件、FeatMgrView事件、ModelView事件、PartDoc事件、SldWorks事件及SWPropertySheet事件。
(4) 注解对象:注解对象管理⽂档的注解。
(5) 模型对象:模型对象描述SolidWorks内部数据结构。
(6) 特征对象:特诊对象描述SolidWorks应⽤程序所提供的特征操作,这些特征对象与SolidWorks 软件本⾝提供的特征操作相对应。
(7) 草图对象:草图对象包括管理所有的草图元素,如圆弧、长⽅形、样条曲线等。
1.3 SolidWorks API对象简介
(1) SldWorks对象:SldWorks对象是所有其他对象的⽗类,提供了直接或间接访问其他所有SolidWorks API接⼝的⽅法,在⼆次开发中访问其他接⼝都要通过它。SldWor ks对象是⼆次开发中最重要的⼀个对象,通过它才能建⽴⼆次开发插件与SolidWorks 应⽤程序之间的连接。
(2) ModelDoc对象:ModelDoc对象是SldWorks对象的⼦对象,同时也是所有⽂档模型对象(PartDoc对象、AssemblyDoc对象及DrawingDoc对象)的⽗对象,它封装了不同⽂档模型通⽤的属性和⽅法,包括⽂档打来、关闭、打印和保存等。同时,ModelDoc对象提供了直接访问PartDoc对象、AssemblyDoc对象和DrawingDoc对象的⽅法。
(3) PartDoc对象:PartDoc对象提供Part⽂档模式下的操作。
(4) AssemblyDoc对象:AssemblyDoc对象管理装配体的操作时与装配相关的,如导⼊零部件、添加/取消装配关系、隐藏/现实零部件等。
(5) DrawingDoc对象:DrawingDoc对象管理⼯程图⽂档的操作,如创建、删除、对其视图等。
(6) SelectionMgr对象:SelectionMgr对象是选择管理对象,⽤于管理⽤户的选择操作,通过它可以获得指向当前⽤户在SolidWorks中选择的元素。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论