Python SolidWorks 二次开发—Python如何连接SolidWorks
文章目录
前言
用Python来进行SolidWorks的二次开发其实是有点非主流的,因为Python本身的特性导致程序运行的效率会比VBA等SolidWorks原生支持的二次开发软件运行效率降低50%以上,用Python仅仅是因为语法简单,实现起来快捷,且所开发的功能仅供个人提高效率使用。这里记录一些开发过程,如有同样需求的可参考使用。
一、Python和SolidWorks的版本
Python使用的版本是3.8
SolidWorks使用的版本是2018
系统环境为WIN10
二、Python所需的环境
1.Anaconda
Python环境建议用Anaconda管理,这样比较方便管理各种环境和包
Anaconda官网地址,安装方法自行搜索
1.1Anaconda环境创建
第一步:打开Anaconda Powershell Prompt,并输入以下命令,其中XXXX为环境名称
conda create -n XXXX python=3.8
第二步:出现以下提示时输入确认,并等待环境创建完成
Proceed([y]/n)?
第三步:输入以下命令,激活刚才创建的环境
conda activate XXXX
第四步:在刚才激活的环境下,安装所需的包pywin32,输入以下命令
pip install pywin32
至此,Python所需的环境已经搭建完成
2.编辑器的选择
编辑器建议选择VS Code,配置简单,安装方便,体积小巧
VS Code官网地址,安装方法自行搜索
VS Code安装完成后安装以下2个插件
Python
Chinese (Simplified) (简体中文) Language Pack for Visual Studio Code
以上工作完成后即可开始Python连接SolidWorks
三、连接SolidWorks
以下代码将使用Python连接SolidWorks,连接成功后回弹出"Hello SolidWorks"对话框,详细代码如下
import win32com.client
defconnectsld():# SolidWorks年份版本
sldver=2018# 建立com连接,如只有一个版本,可以只写"SldWorks.Application"
swApp=win32com.client.Dispatch(f'SldWorks.Application.{sldver-1992}')# 提升API交互效率
swApp.CommandInProgress =True# 显示SolidWorks界面
swApp.Visible =True# 弹出SolidWorks自带对话框
swApp.SendMsgToUser("Hello SolidWorks")if __name__ =='__main__':
connectsld()
执行完成后显示如下对话框
四、makepy.py生成相关API的Python文档
1. makepy.py文件的位置
在 Anaconda 的XXXX环境下的 …\envs\XXXX\Lib\site-packages\win32com\client 文件夹内找到 makepy.py
2. 运行makepy.py文件生成的文件
在VS Code中直接运行makepy.py,会弹出下图对话框
选择下图中两个选项会生成两个.py后缀的文件,文件路径在VS Code终端中可以看到
3. 生成文件的作用
SldWorks 2018 Type Library(1a.0)生成的是SolidWorks COM API 的调用方法,主要用来查询相关属性和方法
SOLIDWORKS 2018 Constant type library(1a.0)生成的是SolidWorks COM API 的常量参数,主要用来查询常量的设定值
不生成以上2个文件依然可以直接用Python连接SolidWorks,以上两个文件可以方便查询相关属性和方法及常量的设定
版权归原作者 Bluma 所有, 如有侵权,请联系我们删除。