基于Python的Solidworks二次开发小尝试(一)

您所在的位置:网站首页 SOLIDWORKS二次开发pdf 基于Python的Solidworks二次开发小尝试(一)

基于Python的Solidworks二次开发小尝试(一)

2024-07-10 14:16| 来源: 网络整理| 查看: 265

文章目录 前言一、自我理解二、使用步骤1.建立 Python 与 SolidWorks 之间的关联2.通过录制宏获取vb代码 总结

前言

第一次运用python对solidworks进行二次开发,并未接触过solidworks所以操作起来有些困难,所以记录一下自己的心路历程。

一、自我理解

用python对solidworks进行二次开发可以减少很多人工流程,实现自动化绘图。solidworks提供了很多的API函数,可以在此基础上对solidworks进行二次开发。

二、使用步骤 1.建立 Python 与 SolidWorks 之间的关联

因为我用的是pycharm,所以以下操作均用pycharm讲述。 首先要找到python文件下的Lib\site-packages\win32com\client \makepy.py的设置文件。 可以直接用pycharm直接运行makepy.py,如果没有win32com文件,可以pip install pywin32。 因为pycharm可以生成venv虚拟环境,所以可以直接在虚拟环境中安装pywin32。 运行后分别选择SOLIDWORKS 20XX Type library和SOLIDWORKS 20XX Constant type library的文件,选择ok后,运行窗会出现一行地址,根据地址找到对应的文件。 在这里插入图片描述 SOLIDWORKS 20XX Type library和SOLIDWORKS 20XX Constant type library另存swconnect和swconst到venv虚拟环境下win32com的client。 在这里插入图片描述 以下代码即可用 Python 获取 SolidWorks 的接口::

import win32com.client as win32 import pythoncom sw_app = win32.Dispatch("Sldworks.application") #引入sldworks接口 sw_app.Visible = True #是否可视化 arg_Nothing = win32.VARIANT(pythoncom.VT_DISPATCH, None) #转义VBA中不同变量nothing sw_app.OpenDoc(r'D:\船舱\平板.SLDASM',1) #打开二次开发源文件 #sldworks 最高访问权限 2.通过录制宏获取vb代码

我们获取一个solidworks的操作,通过录制宏。首先打开solidworks,然后点击设置,选择宏,把录制宏按钮放到工具栏,方便操作。在这里插入图片描述 在这里插入图片描述 比如:我们实现一下,改变长度。 先点击录制宏,然后开始修改一下长度,停止录制。会生成一个.swp的文件,然后用编辑宏打开.swp的文件,就会出现vb代码。 在这里插入图片描述 我们只需要把vb代码转换成python代码即可。 示例代码如下:

import win32com.client as win32 import pythoncom sw_app = win32.Dispatch("Sldworks.application") #引入sldworks接口 sw_app.Visible = True #是否可视化 arg_Nothing = win32.VARIANT(pythoncom.VT_DISPATCH, None) #转义VBA中不同变量nothing sw_app.OpenDoc(r'D:\船舱\平板.SLDASM',1) #打开二次开发源文件 Part = sw_app.ActiveDoc myDimension1 = Part.Parameter("D6@草图1@镀锌平板.Part") myDimension1.SystemValue = 0.4 Part.SaveAs3(r"D:\船舱\test\test.SLDASM", 0, 2) #保存新的文件 总结

因为网上大部分都是c#对solidworks二次开发的资料,参考了一部分资料,也是为初学者提供一个保姆及入门教程,自己感觉python对solidworks 二次开发的核心就是python对vb代码的转换。 文章参考了大佬的文章 https://mp.weixin.qq.com/s/xf_lDViBEt0IR-sxPlQVRA 声明: 未经本人许可,任何单位及个人不得以任何形式对本文的全部或部分内容做转载、复制或商业用途。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3