SolidWorks API C#开发的一些新手引导(一)
本人是机械专业,机械行业,属于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#开发的一些新手引导(一)相关推荐
- solidworks api二次开发实例详解_Solidworks开发语言对比及分析
很多初学Solidworks二次开发的同学,也许都会纠结使用何种语言进行二次开发.对于Solidworks二次开发的语言,官方有VBA,VB.NET,C#以及C++,四种语言. 用户通常会有如下疑问, ...
- [SW]SolidWorks API SDK二次开发学习心得01--开发方式
SolidWorks二次开发之前,我们先来了解下SolidWorks二次开发有哪些方式 1.宏:在SolidWorks中录制宏,方便制图 2.API SDK: ATL Addin:直接嵌入SolidW ...
- SolidWorks二次开发官方教程-API Fundamentals学习分享
今天618,送大礼! 间断的花了快两个月时间,终于把官方的API基础知识学习完了. 下面是链接和截图: API Fundamentals https://my.solidworks.com/train ...
- SolidWorks API Help------功能类别(3)
Model Interfaces 模型视图 IAnnotationView 注解视图 IAttribute 属性 IAttributeDef 默认属性 IBody2 实体 ICoEdge *** IC ...
- SolidWorks二次开发的研究
三维机械设计软件SolidWorks是一套基于Windows的CAD/CAE/CAM/PDM桌面集成系统,是由美国SolidWorks公司在总结和继承大型机械CAD软件的基础上,在Windows环境下 ...
- C# Solidworks二次开发 输入零件名选中零件
实现功能 基于.NET Framework控制台应用程序进行SolidWorks二次开发,实现输入零件名,在软件中选中零件. 注意:(1)进行SolidWorks控制台程序二次开发不能使用.NET C ...
- SolidWorks二次开发 API-获取当前语言与重命名文件
新的一年了,开始新的分享. 做SolidWorks二次开发的时候,难免会遇到多语言的问题. 针对不同语言的客户生成不同语言的菜单,所以我们要知道Solidworks的当前界面语言是什么. 这个就简单的 ...
- Python SolidWorks 二次开发---SolidWorks另存文件为其他格式
Python SolidWorks 二次开发-SolidWorks另存文件为其他格式 Python SolidWorks 二次开发-SolidWorks另存文件为其他格式 文章目录 Python So ...
- C# SolidWorks 二次开发 API---提高草图绘制效率
最近在图书馆借了本<solidworks api二次开发实例详解> 来学习一下. 发现了一个后续开发时需要注意的问题,以前在画草图的时候,我都先用代码设定捕捉模式后再画线,画完之后再恢复设 ...
最新文章
- 0.7秒完成动漫线稿上色,爱奇艺发布AI上色引擎
- Ajax---局部刷新
- python3 requests 不进行编码 直接发送的方法
- VS2015 error MSB6006: “cmd.exe”已退出 代码为 3
- JAVASE8流库Stream学习总结(三)
- 品质标签分几种颜色_小标签大学问,如何给实验室仪器贴标签?
- 攻防世界-web-unfinish-从0到1的解题历程writeup
- 互联网时代IT系统的变革-硬件系统定制化发展
- php where 不包含,php – 除非它们包含“where”或“like”子句,否则不允许删除
- java map清除值为null的元素_Java中的集合框架大总结
- RTX5 | 内存池04 - 共享内存用于线程之间的通讯(阻塞方式)- 使用信号量
- 中国移动宣布已开通5G基站近5万个,在50个城市提供5G服务
- 初入c++ (八) c++输入和输出
- linux删除目录tmpab是什么意思_linux 下tmp目录文件怎么被删除的?
- linux主机设备acl,linux上的终端类型、ACL、PAM模块
- 安卓bochs安装linux教程,Ubuntu 14.04 LTS 安装和配置Bochs
- linux系统semba,examples.desktop
- 基于MK802 MiniPC的扩展开发应用-软/硬件修改和扩展
- 基频,倍频,基波,谐波,基音,泛音
- SpringSecurity之授权