SolidWorks 2008 API是由组成组成SolidWorks 2008软件的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 2008的对象都采用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内部数据结构,2008中模型文件由点 线 面 体 等元素组成
                               分别由Body2 CoEdge Face2 Vertex 等对象管理
@特征对象
    描述程序提供的特征操作,与相应操作对应

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

对象体系

SldWorks 根类 所有对象父类 访问其他接口都要通过它
功能:
    程序操作:退出
    文档操作:创建新文件,打开,关闭,退出
    交互界面管理:命令,工具栏,属性页,
    程序窗口管理:切换当前活动文档,修改窗口显示模式
    创建开发人员自定义属性
'最重要的对象,通过它才能建立联系,都应该在入口函数中获取指向当前SolidWorks2008应用程序的SolidWorks指针,以访问其他接口

SldWorks 
--------------------------------------------------------|CustomPropertyManager    /*一般属性*/
Environment        /*环境*/                                |MathPoint                /*数学点*/
Frame            /*框架*/                                |MathTransform            /*数学变换*/
AttributeDef    /*属性定义*/                            |MathUtility            /*数学效应?*/
Modeler            /*模型*/                                |MathVector                /*矢量*/
SWPropertySheet /*属性表单*/                            |PropertyManagerPage2    /*属性表2*/
ModelDoc2
    |---------------------------'所有文档模型父类 封装了通用的 属性 方法--文档打开,关闭,打印,保存,提供了直接访问三种文档对象的方法
    |---------------
    |--PartDoc        /*零件文档*/
    |--AssemblyDoc    /*装配体文档*/
    |--DrawingDoc    /*工程图文档*/
    |---------------
        |
        |Feature        /*特征*/ 
            |Annotation        /*注释*/
                |FeatMgrView    /*特征管理器视图*/
         ModelView        /*模型视图*/
         Dimension        /*尺寸 特征 标注?*/
         Sketch            /*草图*/
         DesignTable    /*设计表格目录?*/
         Attribute        /*属性*/
         SelectionMgr    /*选择管理器*/-----------'选择管理对象,用于管理用户的管理造作,通过它可以获得指向选择的元素
         LayerMgr        /*图层管理器*/
         Configuration    /*构造轮廓*/
         ModelDocExtension        /*模型延展?*/
         ConfigurationManager    /*模型管理*/
         ModelViewManager        /*模型视图管理*/
         SketchManager            /*草图管理*/

PartDoc /*零件对象*/*---------------'创建实体或特征/执行零部件压缩解压/获取零部件的三角片数据/获取实体指针
    |--LightDialog /*光照*/
    |--Body2------------------------------/*模型对象*/
        |--Face2
            |--Surface
            |--Loop2              /*环?*/
            |    |--CoEdge
            |    |    |--Edge          /*边*/
            |    |        |--Curve  /*曲线*/    
            |    |        |--Vertex /*顶点*/
            |    |--Edge
            |        |--Curve
            |        |--Vertex
            |--Edge
                |--Curve
                |--Vertex

AssemblyDoc/*装配对象*/--------------------'导入零部件/添加/取消装配关系/隐藏/显示零部件
    |
    |--LightDialog
    |--Component2    /*元件*/
    |    |--Body2    /*实体*/
    |--Mate2
    |    |--MateEntity2    /*链接实体*/
    |    |--MateLoadReference /*链接装配?*/
    |--AdvacedSelectionCriteria /*高级选择标准?*/

DrawingDoc/*工程图文档*/--------------------'工程图文档的创建 删除 对齐等
        |--LightDialog
        |--Sheet
        |    |--BomTable    /*bom表*/
        |--View
            |--Annotation /*注释*/
            |--Gtol            
            |--Note            /*管理文本注释--标记?*/
            |--DatumTag        /*数据标签?*/
            |--DatumTargetSym /*...数据目标..?*/

Feature /*特征对象*/
|--MidSurface2 /*中间表面*/
|--RefAxis/*...轴线*/
|--ReferenceCurve/*引用曲面*/
|--RefPlan/*...面*/
|--ChamferFeatureData2/*斜面特征数据*/
|--CircularPatternFeatureData/*环形样式特征数据*/
|--DraftFeatureData2/*草图特征数据*/
|--DomeFeatureData2/*圆顶特征数据*/
|--ExtrudeFeatureData2/*挤压特征数据*/
|--LinearPatternFeatureData/*线性样式特征数据*/
|--LoftFeatureData/*顶层特征数据*/
|--MirrorPatternFeatureData/*镜像样式特征数据*/
|--MirrorSolidFeatureData/*镜像固体特征样式*/

Sketch/*草图对象*/
|--SketchHatch/*草图入口?*/
|--SketchText/*草图文本*/
|--SketchPoint/*草图点*/
|--SketchSegment/*草图片段*/

Other Object        
Parameter        /*参数*/                    
Entity            /*实体*/
EnumBodies2        /*实体数*/    
EnumCoEdges        /*特殊?边数*/
EnumFaces2        /*面数*/
EnumEdges        /*边数*/
EnumDocuments    /*文档数*/
Enumloops2        /*环数*/
EnumComponents2 /*部件数*/
EnumDrSections    /*选择数*/
EnumSketchHathes/*草图数?*/
EnumSketchSegments        /*草图部分数*/
EnumDisplayDimensions    /*陈列规模数*/
EnumModelViews            /*模型视图数*/

SolidWorks二次开发类层次结构相关推荐

  1. 基于SOLIDWORKS二次开发的3D产品研发增效和企业信息化工具集SolidKits

    基于SOLIDWORKS二次开发的SolidKits工具的含义是3D产品研发增效和企业信息化工具集,目前已经帮助高科技.机器人.航空航天.船舶.汽车.机械设备.电器.电子等行业的上百家制造业企业提供了 ...

  2. Python SolidWorks 二次开发—SolidWorks中的事件实现

    Python SolidWorks 二次开发-SolidWorks中的事件实现 文章目录 Python SolidWorks 二次开发---SolidWorks中的事件实现 前言 一.如何实现com事 ...

  3. sw二次开发 python_基于C#的SolidWorks二次开发.doc

    摘要: 气动电阻点焊钳已经被各大汽车制造厂商广泛运的用于汽车焊接工艺中.它以无污染.压力稳定.动作敏捷等优点逐步替代了国内常见的液压传动焊钳,改变了液压传动滞缓的现象,从而达到了焊接循环的要求.本次毕 ...

  4. Solidworks二次开发平台 --- RyS.SwWorks [2015-09-18更新]

    RyS.SwWorks 是一款基于.NET的Solidworks二次开发平台,该平台封装了插件注册.菜单.工具栏.侧边栏.Document接口,使得Solidworks开发和部署简单高效. 安装程序中 ...

  5. SolidWorks二次开发的研究

    三维机械设计软件SolidWorks是一套基于Windows的CAD/CAE/CAM/PDM桌面集成系统,是由美国SolidWorks公司在总结和继承大型机械CAD软件的基础上,在Windows环境下 ...

  6. C# SolidWorks二次开发 干涉检查

    总体思路 基于.NET Framework控制台应用程序进行SolidWorks二次开发,选中输入零件,实现干涉检查功能. 使用SelectByID2方法,选中待检查零件,然后使用ToolsCheck ...

  7. C# Solidworks二次开发 输入零件名选中零件

    实现功能 基于.NET Framework控制台应用程序进行SolidWorks二次开发,实现输入零件名,在软件中选中零件. 注意:(1)进行SolidWorks控制台程序二次开发不能使用.NET C ...

  8. SolidWorks二次开发 API-获取当前语言与重命名文件

    新的一年了,开始新的分享. 做SolidWorks二次开发的时候,难免会遇到多语言的问题. 针对不同语言的客户生成不同语言的菜单,所以我们要知道Solidworks的当前界面语言是什么. 这个就简单的 ...

  9. Python SolidWorks 二次开发---SolidWorks另存文件为其他格式

    Python SolidWorks 二次开发-SolidWorks另存文件为其他格式 Python SolidWorks 二次开发-SolidWorks另存文件为其他格式 文章目录 Python So ...

最新文章

  1. 进度条三方库tdqm trange用法
  2. TensorFlow教程:快速入门深度学习五步法(附Keras实例)
  3. 源码安装zabbix3.2.7时PHP ldap Warning
  4. error: ‘to_string’ is not a member of ‘std’———已解决
  5. android中TextView分段显示不同颜色,字体,时间
  6. Mysql常见的引擎
  7. Atitit.http连接合并组件   ConnReducerV3 新特性
  8. Python爬虫-博客and贴吧
  9. julia linux下载位置,在 Ubuntu 上安装 Julia
  10. 【实习周报】2019年6月 前端开发实习工作周报汇总
  11. [网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)
  12. @RestController当中的value 含义
  13. 颗粒归仓水稻总体产量5500吨 国稻种芯-洪江:怀化水稻秋收
  14. 【控制control】机械臂运动学、动力学模型
  15. Ubuntu下重力方向调节
  16. 51nod 1718 Cos的多项式 【数学】
  17. Charles(青花瓷)抓包教程
  18. 如何获取全国各省市区的地理区域位置(地图-JSON-点位-行政区域)
  19. 浅谈 路由器,交换机,集线器,vlan作用
  20. 友善之臂linux内核移植步骤,友善之臂 madplayer 移植过程补充

热门文章

  1. php soap调用webservice,php调用webservice的例子 - soapclient
  2. 智能控制理论基础之专家控制系统!
  3. write once , run anywhere
  4. 国美与车势达成独家战略合作,共建汽车新零售平台“买车车”
  5. generated always
  6. Linux程序和进程管理
  7. iview侧边导航收起
  8. cesium实现加载城市三维建筑物
  9. 单片机机器周期怎么计算公式_单片机指令周期怎么计算
  10. linux环境下批量删除SVN未加入版本控制的文件