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


前言

第一次运用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
声明:
未经本人许可,任何单位及个人不得以任何形式对本文的全部或部分内容做转载、复制或商业用途。

  • 6
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 11
    评论
SolidWorks可以通过Python编程语言进行二次开发Python是一种简单易学的脚本语言,拥有丰富的库和模块,可以很好地与Solidworks集成。 首先,为了进行SolidWorks二次开发,我们需要安装SolidWorks API以及Python的相关库。SolidWorks API是一组可用于对SolidWorks进行编程访问的库和接口。Python的相关库包括pywin32和comtypes,用于与SolidWorks的COM接口进行交互。 使用Python进行SolidWorks二次开发可以实现许多功能,如自动化生成零件、装配件和工程图。我们可以使用Python脚本读取和修改SolidWorks文件、创建和操作零件和装配件,以及生成和管理工程图。Python也可以帮助我们进行CAD数据的处理和分析,如提取尺寸信息、计算质量和重心等。 在二次开发中,我们可以编写Python脚本来快速完成重复性的任务,提高工作效率。Python的易学性和代码的简洁性使得二次开发变得更加容易,无需编写繁琐的代码,可以快速实现想要的功能。 除了使用已有的库和模块,我们还可以使用SolidWorks的API文档和示例代码来学习和开发自己的功能。SolidWorks提供了详细的API文档,其中包含各种对象和方法的说明,以及示例代码和教程来帮助我们开始二次开发。 总之,通过使用Python进行SolidWorks二次开发,我们可以实现自动化、快速和高效的CAD任务处理,并且具有灵活性和可扩展性。这极大地促进了CAD工程师在实际工作中的效率和创造力。
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小张Tt

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值