0


Python SolidWorks 二次开发---Python如何连接SolidWorks

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,以上两个文件可以方便查询相关属性和方法及常量的设定


本文转载自: https://blog.csdn.net/Bluma/article/details/128900918
版权归原作者 Bluma 所有, 如有侵权,请联系我们删除。

“Python SolidWorks 二次开发---Python如何连接SolidWorks”的评论:

还没有评论