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

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

ztj100 2025-01-02 20:34 23 浏览 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指针,以访问其他接口。

相关推荐

Win10预览版10532已知问题汇总(微软win11正式版已知问题一览)

IT之家讯微软已向Insider用户推送了Win10预览版10532更新,本次更新对右键菜单、《Windows反馈》应用以及Edge浏览器进行了改进。除此之外还包含一些Bug,汇总如下,有意升级Wi...

Gabe Aul正测试Win10 Mobile 10532,Insider用户还需等

IT之家讯本月中旬微软向Insider用户推送了Win10Mobile预览版10512,该版本修复了一些Bug,增强了系统稳定性,但依然存在一些问题。今天,微软Insider项目负责人GabeAu...

微软开始推送Win10预览版10532快速版更新

8月28日消息,刚才,微软推送了Win10Build10532快速版,修复了之前的Bug,并带来了三项改进。主要来说,这次的更新改进了右键菜单的UI,使其更具Modern风格(见上图)。此外,更新...

Win10预览版10532更新内容大全(windows10更新预览版)

IT之家讯今天凌晨微软向Insider用户推送了Win10预览版10532快速版更新,本次更新主要带来了三处改进,汇总如下:o改进右键菜单,外观更加Modern。这是基于网友要求界面一致的反馈做出...

无法升级Win10预览版10532?也许Hyper-V在搞鬼

根据IT之家网友的反映,安装了微软虚拟机Hyper-V的Win10预览版用户无法成功升级Build10532版本,安装过程中会被要求回滚系统。很多朋友在尝试关闭虚拟机之后重启安装程序,结果仍然无法顺...

Win10预览版10532界面兴起“酷黑”风潮

Win10预览版10532的界面改动还是较为明显的,主要体现在右键菜单上面。总体来看,该版本的右键菜单间距更宽,视觉上更大气,操作上更便于触控。具体来说,任务栏右键菜单的变化最为明显。除了增加选项的宽...

Win10预览版10532上手图集(windows10预览版下载)

IT之家讯8月28日,微软今天推送了Win10预览版10532快速版更新,在该版本中,微软主要是加强细节上调整,并且主要是增强Edge浏览器性能等。在Windows10预览版10532中,微软改进了...

Win10预览版10532上手视频亮点演示

IT之家讯8月28日消息,今天凌晨微软向WindowsInsider快速通道用户推送了Win10预览版10532。在Windows10预览版10532中,微软改进了右键菜单,外观更加现代化。另外还...

第二篇 前端框架Vue.js(vue前端框架技术)

前端三大核心是网页开发的基础,Vue则是基于它们构建的“生产力工具”。通俗理解就是HTML是化妆的工具如眉笔,CSS是化妆品如口红,JavaScript是化妆后的互动,而Vue就是化妆助手。有了化妆工...

基于SpringBoot + vue2实现的旅游推荐管理系统

项目描述...

基于Vue以及iView组件的后端管理UI模板——iview-admin

介绍iView-admin是一套后端管理界面模板,基于Vue2.0,iView(现在为ViewUI)组件是一套完整的基于Vue的高质量组件库,虽然Github上有一套非常火的基于ElementUI...

别再说你会SPA开发了,这5个核心你真的搞懂了吗?

前言此spa非彼spa,不是你所熟知的spa。你所熟知的spa作者肯定是没有你熟悉的。我们这里指的是在前端开发中的一种模型,叫作单页应用程序,顾名思义,就是整个项目只有一个页面,而页面中的内容是动态的...

React.js Top20面试题(react.js中文官网)

概述作为React开发者,对框架的关键概念和原则有扎实的理解是很重要的。考虑到这一点,我整理了一份包含20个重要问题的清单,每个React开发者都应该知道,无论他们是在面试工作还是只是想提高技能。...

美媒:特朗普签署行政令后,FBI又发现约2400份、总计超14000页涉肯尼迪遇刺案文件

来源:环球时报新媒体1月23日特朗普下令公布肯尼迪遇刺案相关机密文件图源:美媒综合福克斯新闻网和Axios网站10日报道,在总统特朗普签署行政令,要求公布“肯尼迪遇刺案”相关政府机密文件之后,美国...

2021 年 Node.js 开发人员学习路线图

Node.js自发布以来,已成为业界重要破局者之一。Uber、Medium、PayPal和沃尔玛等大型企业,纷纷将技术栈转向Node.js。Node.js支持开发功能强大的应用,例如实时追踪...

取消回复欢迎 发表评论: