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

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

cac55 2024-10-27 08:16 19 浏览 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指针,以访问其他接口。

相关推荐

Linux :远程访问的 16 个最佳工具(一)

通过远程桌面协议(RDP)可以访问远程Linux桌面计算机,这是Microsoft开发的专有协议。它为用户提供了一个图形界面,可以通过网络连接连接到另一台/远程计算机。FreeRDP是...

Guacamole安装部署_guacamole简单搭建

Guacamole安装部署Guacamole简介Guacamole是提供连接远程桌面的解决方案的开源项目(也可以说是一个远程桌面网关),通过浏览器就能远程操作服务器,适用于Chrome、Firefox...

1-FreeRTOS入门指南_freertos+lwip

本专栏是根据官方提供的文档进行FreeRTOS的各个功能函数的说明,以及函数的使用本专栏不涉及动手操作,只是对原理进行说明,FreeRTOS基础知识篇更新完成会对如何在开发板上进行上手实战操作。这里不...

Windows暂停远程桌面,这些工具可替代

Windows暂停远程桌面,这些工具可替代近日,Windows官方宣布将于2025年5月27日起,在Windows10和Windows11应用商店中下架“Microsoft远程桌面”应用。这一消...

现在做 Web 全景合适吗?_前端全景

作者:前端藏经阁转发链接:https://www.yuque.com/xwifrr/uxqg5v/cgclx0前言Web全景在以前带宽有限的条件下常常用来作为街景和360°全景图片可查看。它可以...

网页直连,MSTSC远程控制Windows新姿势!

不用安装软件,打开浏览器就能远程办公?今天要聊的是一种颠覆传统的远程控制玩法,直接用网页连接Windows电脑,无需下载客户端,手机、平板、Mac甚至Linux都能轻松操作。这可不是吹牛,结合MSTS...

QQ出现大面积盗号,原因已查明,请抓紧改密码

你没有看错,QQ又上了微博热搜,这次比较严重了,QQ出现大面积盗号,多个QQ群出现yellow信息,其次导致多位成员被踢出,并且还被封号处理,到底怎么回事?请继续往下看。在6月26日晚上10点左...

我在淘宝花10块钱,买到了能玩“宝可梦”的Q群机器人

十一月雨|文我是个没事喜欢逛淘宝的人,虽然是个不怎么好的习惯,但总是能够发现一些奇奇怪怪的东西,这次我发现的是一种Q群机器人。Q群机器人,大多是基于腾讯SmartQQ协议实现的一种能自动回复、自定...

Metasploit最实用的攻击模块"Meterpreter"

Meterpreter命令详解Meterpreter是Metasploit渗透测试平台框架中功能最强大的攻击载荷模块,在最新的Metasploitv4.5.0版本中,攻击载荷模块已经达到了25...

手机QQ再更新,上线了一个想让人“无法回避”的新功能

近日,手机QQ更新了V8.2.6.700版本,苹果iOS版和安卓版手机QQ上线了一个新功能:可以实时显示对方的手机电量以及充电状态。开通电量显示也很简单,长按主页左上方的头像,在在线状态中选择我的电量...

「网络安全」常见攻击篇(20)——点击劫持

什么是点击劫持?点击劫持(Clickjacking)技术又称为界面伪装攻击(UIredressattack),是一种视觉上的欺骗手段。通常有两种方式:攻击者使用一个透明的iframe,覆盖...

曾利用驱动人生升级通道传播的木马下载器攻击方法再次升级

一、概述御见威胁情报中心1月25日再次监测到曾利用驱动人生升级通道传播的木马下载器攻击方法再升级。本次升级主要变化在于攻击模块,木马在之前的版本上,新增计划任务“DnsScan”,在其中将永恒之蓝攻击...

QQ飞车手游:点券首个功能性宠物上架,实战稳定触发还不快入手?

随着版本的逐渐更新,点券宠物在道具模式发挥逐渐越来越小,曾经探讨点券宠物在道具是不是真的没有用?直到出现了波斯猫改变了,我对点券宠物在道具模式的看法,如今又一个强势点券宠物来袭,而且特性触发简单,还是...

工单系统设计实战(上):核心配置与效能提升

流程的标准化并非终点,而是研发效能持续革命的基石。当工单系统真正成为研发团队的“神经中枢”,每一次需求的精准流转、每一行代码的受控提交、每一次版本的可靠发布,都将汇聚成驱动产品持续进化的强大动力...

6个编辑PDF文档内容的工具(软件+网站)

在日常办公、学习和生活中,PDF文件因其格式稳定、跨平台兼容性强等特点,被广泛应用。但有时我们拿到PDF文件后,却发现需要修改其中的内容,总感觉有点难搞。其实PDF文档编辑修改也很简单,这里分享6个软...

取消回复欢迎 发表评论: