百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Solidworks 二次开发第10课:类层次结构

cac55 2024-10-27 08:16 15 浏览 0 评论

SolidWorksAPI是由组成SolidWorks 软件的COM组件提供的.

对象模型结构简介:

SldWorks对象最为根本,有他可以直接或间接的访问多有其他对象

部分对象只能间接地被访问,比如SketchSpline不能独自出现,只能存在于某种对象中,只能借助上一级来调用。

另一部分API只能单独调用,因为用户界面中没有用于交互的对象

SolidWorks类层次结构

与MFC或.NET的层次结构不尽相同,因为它们十分依赖类的继承等,可以从类体系获得很多好处,而SolidWorks则基于COM的API,使用接口,接口继承,方法库返回已知或新建的对象的接口

通过QueryInterface在接口间跳跃

QueryInterface:

IAssemblyDoc, IDrawingDoc, or IPartDoc can QueryInterface to IModelDoc2.

IEdge, IFace2, IFeature, ILoop2, or IVertex can QueryInterface to IEntity.

IBomTableAnnotation, IHoleTableAnnotation, IRevisionTableAnnotation, or IWeldmentCutListAnnotation can QueryInterface to ITableAnnotation.

IAttribute also can QueryInterface to IFeature.

ISketchArc, ISketchEllipse, ISketchLine, ISketchParabola, ISketchPoint, ISketchSpline, or ISketchText can QueryInterface to ISketchSegment.

PropertyManagerPage controls, such as IPropertyManagerPageActiveX, IPropertyManagerPageBitmap, IPropertyManagerPageBitmapButton, IPropertyManagerPageButton, etc., can QueryInterface to IPropertyManagerPageControl.

每个SolidWorks 的对象都采用COM技术构造的,与一般COM对象有同样的性质,都是由接口/属性/方法/事件组成

如 PartDoc对象--管理零件文档的对象

提供的SolidWorks API接口为IPartDoc.

属性3个 MaterialIdName,MaterialPropertyValues和MaterialUserName,对应PartDoc对象的材质ID,材质值和材质名称

方法 很多 比如 FirstFeature() GetMaterialPropertyName2() 访问这些方法的唯一途径是就是通过接口IPartDoc

事件 filesaveNotify(文件保存事件) DestroyNotify(文件退出事件)

SolidWorks对象结构

通过面向对象组织所有接口对象

@应用程序对象

SldWorks ModelDoc2 PartDoc(零件) AssemblyDoc(装配图) DrawingDoc(工程图) -对应三种文件类型

ModelDoc2对象提供了这三种文件类型共有的供能 比如打印文件保存 包含后三者

所以这几个接口可以通过QueryInterface查询

PartDoc AssemblyDoc DrawingDoc 又是多个其他SolidWorks对象组成

PartDoc 由 LightDialog对象(描述灯光环境) Body2对象以及隶属于Body2的多个对象(用于描述几何数据)组成

AssemblyDoc 由 LightDialog 对象 Component2对象(描述装配体的组成部件) Mate2对象(描述装配关系)组成

DrawingDoc 由 LightDialog 对象 Sheet对象(描述Bom表-物料清单-母件与所有子件的从属关系、单位用量及其他属性.) View对象及下面的多个对象(描述工程图内容)

@配置文件对象

管理零件中不同模块(零件文档模式)与装配体中不同零件(装配体文档模式)的状态.

零件文档模式下,可将复杂特征设置成压缩模式

在装配体文档模式下,可将其中一个或多个零件设置成压缩模式

@事件对象

2008支持的对象事件类型有

AssemblyDoc事件 DrawingDoc事件 FeatMgrView事件 ModelView事件 PartDoc事件 SldWorks事件 SWPropertySheet事件

开发人员可截获事件并根据需要加入相应的功能

@注解对象

管理文档的注解,如在程序中给零件添加文本注释由Note对象管理

@模型对象

描述SolidWorks内部数据结构,模型文件由点 线 面 体 等元素组成

分别由Body2 CoEdge Face2 Vertex 等对象管理

@特征对象

描述程序提供的特征操作,与相应操作对应

@草图对象

管理所有草图元素 如 圆弧 长方形 样条曲线等 草图由以下对象表示,通过这些对象可以获取和修改草图数据

对象体系

SldWorks 根类 所有对象父类 访问其他接口都要通过它

功能:

程序操作:退出

文档操作:创建新文件,打开,关闭,退出

交互界面管理:命令,工具栏,属性页,

程序窗口管理:切换当前活动文档,修改窗口显示模式

创建开发人员自定义属性

最重要的对象,通过它才能建立联系,都应该在入口函数中获取指向当前SolidWorks应用程序的SolidWorks指针,以访问其他接口。

相关推荐

博科矩阵新IP网络推动发展OTT服务

近日消息,日本电信服务提供商软银集团正在部署博科VDX交换机,为集团公司通用服务基础架构网络提供以太网矩阵,从而简化数据中心运营。这个新的基础架构将大幅度降低软银数据中心网络运营的复杂度和成本,使该公...

博科SDN战略落地 首款控制器Vyatta面世

ZDNET网络频道10月10日评论消息(文/于泽):虽然软件定义网络(SDN)近两年被炒得很热,但一直属于雷声大雨点小。各网络厂商都声称自家的交换机能够支持OpenFlow协议、实现SDN,不过就...

博科网络矩阵助Skilled Group“时刻在线”

澳大利亚最大的劳动力解决方案提供商SkilledGroup采用博科以太网和光纤通道存储区域网络(SAN)矩阵部署了一个创新的网络,从而打造了一个“时刻在线”的IT基础架构。博科矩阵实现了零停机环境以...

博科基于OpenDaylight推出SDN控制器Vyatta

ZDNET网络频道09月23日编译:博科周一宣布推出Vyatta控制器。Vyatta是博科SDN产品系列中一个新的主打产品。博科表示,Vyatta控制器是一步一步的从OpenDaylight项目中...

浏览器https方式访问博科FC光交显示没有匹配的加密算法套件

浏览器https方式访问博科FC光交显示没有匹配的加密算法套件报错的解决办法。。------------------------------------------------------------...

博科携手VMware推动软件定义数据中心和网络虚拟化的普及

2014年10月14日--博科(NASDAQ:BRCD)今天宣布,公司携手VMware,推出支持新IP的解决方案,以期让企业能够更轻松地迁移到软件定义数据中心(SDDC)和使用网络虚拟化。博科公司...

博科公司为追求速度极致的闪存拥趸提供光纤通道交换机

博科公司已经发布了一款每秒32Gbit第六代光纤通道交换机,这意味着其能够将现有每秒16Gbit连接速度提升一倍。其G620交换机采用1U机箱,提供24到64个端口,据博科方面所言这已经达到当前业...

博科推出第6代交换机 扩大光纤存储地位

博科今天宣布推出业内第一台第6代光纤通道存储网络交换机——博科G620,进一步扩大了博科在光纤通道技术领域的地位。这一全新专用且高密度SAN交换机提供突破性的性能和高可扩展性,旨在支持来自核心应用的数...

微信官宣新功能上线,聊天记录备份、迁移更好用了!

说到手机里哪个App最占空间,很多用户的答案大概都是微信,动辄占用几十甚至上百GB。不仅App本身体积庞大,更主要的是日积月累的聊天记录导致了空间的迅速消耗。此前,释放微信空间的常用方法是将...

局域网沟通工具--BeeBEEP(局域网内部聊天工具)

原文链接:局域网沟通工具--BeeBEEPHello,大家好啊!今天给大家带来一篇关于在信创终端上使用BeeBEEP的文章。BeeBEEP是一款安全、便捷的局域网即时通讯工具,支持文字聊天、文...

企业 IM 即时通讯底座,支持局域网通讯

在数字化浪潮下,企业对即时通讯的需求日益增长,尤其是对通讯安全性、可控性的要求愈发严苛。BeeWorks作为专业的企业IM即时通讯底座,凭借对局域网通讯的支持,为企业打造了优质可控的即时通讯与实...

IM即时通讯软件,构建企业局域网内安全协作

安全与权限:协同办公的企业级保障在协同办公场景中,BeeWorks将安全机制贯穿全流程。文件在局域网内传输与存储时均采用加密处理,企业网盘支持水印预览、离线文档权限回收等功能,防止敏感资料外泄;多人...

当今信息化时代都离不开WLAN, 今天给大家普及一下WLAN知识

无线局域网(WirelessLocalAreaNetworks/WLAN)一.无线让网络使用更自由:1.凡是自由空间均可连接网络,不受限于线缆和端口位置。二.无线让网络建设更经济:1.终端...

软网推荐:寻找WebQQ替代者 在线可以继续聊

不少公司禁止上班聊天,常常采取封禁QQ、关闭端口等方法,导致很多聊天软件无法使用。以前我们可以通过WebQQ绕开限制,不过WebQQ在2019年1月1日开始停止服务,想要继续隐蔽聊天,就只能找其他一些...

搭建自己的聊天室平台、公司内部聊天平台,Rocket.Chat搭建使用

一,简介rocket.chat是一个开源的社交软件,即可以直接在web页面使用,也可以下载APP(Android,IOS,Windows,MacOS)主要功能:群组聊天,直接通信,私聊群,桌面通知...

取消回复欢迎 发表评论: