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
def connectsld():
# 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 的常量参数,主要用来查询常量的设定值文章来源:https://www.toymoban.com/news/detail-671454.html
不生成以上2个文件依然可以直接用Python连接SolidWorks,以上两个文件可以方便查询相关属性和方法及常量的设定文章来源地址https://www.toymoban.com/news/detail-671454.html
到了这里,关于Python SolidWorks 二次开发---Python如何连接SolidWorks的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!