本人是机械专业,机械行业,属于Solidworks的使用者,最近在研究API这块,希望给新手带来一点帮助。

一、Solidworks API

Solidworks自带API帮助,虽然是英文的,但是结构很明确。可与结合本站作者 Paine_Zeng 翻译的API 2018中文版使用(文章末尾给出链接)。

首先说下API大致分类


  • SOLIDWORKS API

接口:

  • Application Interfaces
  • Annotation Interfaces
  • Assembly Interfaces
  • Drawing Interfaces
  • Configuration Interfaces
  • DimXpert Interfaces
  • Enumeration Interfaces
  • Feature Interfaces
  • Model Interfaces
  • Motion Studies Interfaces
  • Sketch Interfaces
  • Utility Interfaces
  • User-interface Interfaces
  • Custom Interfaces

主要是包含应用程序本身的接口,注释、装配、配置、草图等一些包含在SolidworksCAD中的API。

名称空间

  • SolidWorks.Interop.sldworks Namespace
  • SolidWorks.Interop.swmotionstudy Namespace
  • SolidWorks.Interop.swdimxpert Namespace
  • SolidWorks.Interop.swpublished Namespace
  • SolidWorks.Interop.sw3dprinter Namespace
  • SolidWorks.Interop.dsgnchk Namespace
  • SolidWorks.Interop.swhtmlcontrol Namespace
  • SolidWorks.Interop.swscanto3d Namespace
  • SolidWorks.Interop.swconst Namespace
  • SolidWorks.Interop.swcommands Namespace

看名称对号入座就行,主要是针对SolidWorks、Motion插件、DimXpert、Published、3D打印、设计检查等。

  • SOLIDWORKS FeatureWorks API

名称空间

SolidWorks.Interop.fworks Namespace

主要针对FeatureWorks功能,也就是中间格式文件的特征识别

  • SOLIDWORKS Costing API

名称空间

SolidWorks.Interop.sldcostingapi Namespace

主要是针对Costing模块,也就是成本估算这块

  • SOLIDWORKS Document Manager API

名称空间

SolidWorks.Interop.swdocumentmgr Namespace

主要是针对文档操作的,看功能应该是针对ESOLIDWORKS Explorer的API

  • SOLIDWORKS PDM Professional API

名称空间

EPDM.Interop.epdm Namespace

EPDM.Interop.EPDMResultCode Namespace

主要是针对PDM的API

  • SOLIDWORKS Routing API

名称空间

SolidWorks.Interop.SWRoutingLib Namespace

主要是针对Rounting,也就是管路的API

  • SOLIDWORKS Simulation API

名称空间

SolidWorks.Interop.cosworks Namespace

主要是指针对Simulation模块,也就是模拟算例的一些API

  • SOLIDWORKS Sustainability API

名称空间

SolidWorks.Interop.cosworks Namespace

Sustainability ,可持续这一块的API,貌似没发展中国家什么用。

  • SOLIDWORKS Toolbox Browser API

名称空间

SolidWorks.Interop.sldtoolboxconfigureaddin Namespace
SolidWorks.Interop.swbrowser Namespace

Toolbox Browser ,工具箱的API。

  • SOLIDWORKS Utilities API Help

名称空间
SolidWorks.Interop.gtswutilities Namespace

官方的解释是检查模型的几何形状和比较,照这个翻译,应该是针对工具菜单下的比较功能的API。

  • eDrawings API

名称空间

eDrawings.Interop.EModelMarkupControl Namespace
eDrawings.Interop.EModelViewControl Namespace

针对eDrawings的API,可以实现图形浏览(eDrawings Viewer),非常实用。


用的比较多的是SOLIDWORKS API、eDrawings API。所以SolidWorks.Interop.sldworks 、SolidWorks.Interop.swconst、SolidWorks.Interop.swcommands、eDrawings.Interop.EModelMarkupControl、eDrawings.Interop.EModelViewControl 等几个名称空间可以着重了解下。

二、Solidworks二次开发

二次开发主要分四大类:SOLIDWORKS宏、应用程序(App)、加载项(Addin)、其他程序。

SOLIDWORKS宏有很蛮多的书本有提及,可以参考这些数据。宏运行依赖Solidworks的宏功能。

应用程序,独立于Solidworks的应用程序。一般需要你打开SolidWorks,然后该程序实现与SolidWorks的连接,然后才能实现你自定义的功能。

加载项,就相当于Solidworks的插件,随Solidworks启动。

其他程序这里不做说明。


  • SOLIDWORKS宏

根据官方论坛坛友的反应,win7系统和老版本的SOLIDWORKS可以把宏保存为C#格式,这对C#开发很有帮助。

开发环境的话,只需要安装Solidworks就可以了。

  • 应用程序

你需要安装编程软件,比如Visual Studio。

然后需要Solidworks的API库,也就是DLL文件。如果你的Solidworks安装了API,那么它就在 你的安装目录\SOLIDWORKS Corp\SOLIDWORKS\api\redist ,这个文件夹下面。

包含了19个文件,18个DLL和一个文本文档。

如果你用C#开发,那么你需要新建一个项目,比如说WPF,然后在项目引用中添加这些DLL(右键引用,添加引用,浏览,找到这些文件即可)。

然后用using 添加你需要引用的名称空间,简化代码。比如

using SolidWorks.Interop.sldworks;
using SolidWorks.Interop.swconst;

最后,你可以在你的代码中使用这些API了。

  • 加载项

这个开发环境的搭建有点悬,大致说下。

用光盘中的SOLIDWORKS API SDK安装就可以了,但是,安装完后,在你的Visual Studio新建中可能没有Addin的项目。

这时候,你可能需要自己解包安装文件,然后找到swcsharpaddin这个压缩文件,然后解压的Visual Studio的模板目录下。

这时,Visual Studio虽然有了Addin的项目,但是新建后会报错,原因好像是这个东西是基于.NET4.0的和一些其他原因。

具体大家可以参考这里:

https://www.jianshu.com/p/10cd1b7ff18d

https://blog.csdn.net/liuzpzp007/article/details/83304965

https://www.jianshu.com/p/ac539ab68279

或者自行百度


最后给出资源

这里主要推荐的是Paine_Zeng的,比较全面,有源代码。

https://blog.csdn.net/zengqh0314/article/details/101025815

SOLIDWORKS API SDK 2019 SP5.rar

https://download.csdn.net/download/hd51cc/12370373

Solidwoks.Dll Of API.2019sp5.rar

https://download.csdn.net/download/hd51cc/12370368

SolidWorks API C#开发的一些新手引导(一)相关推荐

  1. solidworks api二次开发实例详解_Solidworks开发语言对比及分析

    很多初学Solidworks二次开发的同学,也许都会纠结使用何种语言进行二次开发.对于Solidworks二次开发的语言,官方有VBA,VB.NET,C#以及C++,四种语言. 用户通常会有如下疑问, ...

  2. [SW]SolidWorks API SDK二次开发学习心得01--开发方式

    SolidWorks二次开发之前,我们先来了解下SolidWorks二次开发有哪些方式 1.宏:在SolidWorks中录制宏,方便制图 2.API SDK: ATL Addin:直接嵌入SolidW ...

  3. SolidWorks二次开发官方教程-API Fundamentals学习分享

    今天618,送大礼! 间断的花了快两个月时间,终于把官方的API基础知识学习完了. 下面是链接和截图: API Fundamentals https://my.solidworks.com/train ...

  4. SolidWorks API Help------功能类别(3)

    Model Interfaces 模型视图 IAnnotationView 注解视图 IAttribute 属性 IAttributeDef 默认属性 IBody2 实体 ICoEdge *** IC ...

  5. SolidWorks二次开发的研究

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

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

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

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

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

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

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

  9. C# SolidWorks 二次开发 API---提高草图绘制效率

    最近在图书馆借了本<solidworks api二次开发实例详解> 来学习一下. 发现了一个后续开发时需要注意的问题,以前在画草图的时候,我都先用代码设定捕捉模式后再画线,画完之后再恢复设 ...

最新文章

  1. 0.7秒完成动漫线稿上色,爱奇艺发布AI上色引擎
  2. Ajax---局部刷新
  3. python3 requests 不进行编码 直接发送的方法
  4. VS2015 error MSB6006: “cmd.exe”已退出 代码为 3
  5. JAVASE8流库Stream学习总结(三)
  6. 品质标签分几种颜色_小标签大学问,如何给实验室仪器贴标签?
  7. 攻防世界-web-unfinish-从0到1的解题历程writeup
  8. 互联网时代IT系统的变革-硬件系统定制化发展
  9. php where 不包含,php – 除非它们包含“where”或“like”子句,否则不允许删除
  10. java map清除值为null的元素_Java中的集合框架大总结
  11. RTX5 | 内存池04 - 共享内存用于线程之间的通讯(阻塞方式)- 使用信号量
  12. 中国移动宣布已开通5G基站近5万个,在50个城市提供5G服务
  13. 初入c++ (八) c++输入和输出
  14. linux删除目录tmpab是什么意思_linux 下tmp目录文件怎么被删除的?
  15. linux主机设备acl,linux上的终端类型、ACL、PAM模块
  16. 安卓bochs安装linux教程,Ubuntu 14.04 LTS 安装和配置Bochs
  17. linux系统semba,examples.desktop
  18. 基于MK802 MiniPC的扩展开发应用-软/硬件修改和扩展
  19. 基频,倍频,基波,谐波,基音,泛音
  20. SpringSecurity之授权

热门文章

  1. Hive解析json字段,虽然json_tuple写法很优雅,但是效率并不一定高哦
  2. 为你的股票绘制趋势图
  3. mysql 分表 导入_如何解决MySQL分表与新数据的插入
  4. 推荐一本经典的操作系统和Linux原理书
  5. VC获取打印机与打印作业的状态
  6. Python编程 利用Python画一个爱心
  7. Java项目:JSP在线奶茶店销售网站平台
  8. xp升级windows7_雨林木风U盘启动盘装系统制作工具再次升级。。。
  9. unity保存加载慢_掌握Unity 5中的保存和加载功能
  10. java和微软不得不说的故事