关于用Python来做solidworks PDM二次开发的相关代码

编程小白,网上找了些关于python做SolidWorks和SolidWorks PDM二次开发的一些资料。

中间遇到了一些问题,不知道怎么处理,所以想着发到网上来,看看有没有大佬能帮忙指导下,感谢。

初次发帖,不太会弄格式,还请见谅,将就看下,具体问题描述写在代码注释中了。

换了个版本的PDM可以正常运行了,稍微更新下代码。

代码部分:

import pythoncom
import win32com.client
from pdm_lib import *  # makepy.py文件运行后下拉选择PDMWorks Enterprise 20xx Type Library生成文件,重命名文件为pdm_lib.py和当前py文件放在同一路径下。

folder_path = 'C:\\Users\\SJT\\Desktop\\研发球\\' # 替换为文件夹路径
file_path = 'C:\\Users\\SJT\\Desktop\\研发球\\零件1002.SLDPRT' # 替换为需要检入检出的文件路径
vault_name = '研发球' # PDM名称
vault = EdmVault5()

# 使用PDM名称直接登录
vault.LoginAuto(vault_name, 0)
folder = vault.GetFolderFromPath(folder_path)
file = vault.GetFileFromPath(file_path, folder)[0]

# 检出文件
file.LockFile(folder.ID, file.CurrentVersion)
if file.IsLocked:
    print('文件检出成功')

# 使用SolidWorks软件打开文件后保存文件
# 这里也可以直接在PDM中通过文件的标签页面来修改文件,后续也可以用PDM api提供的接口直接来修改文件。
swApp=win32com.client.Dispatch(f'SldWorks.Application')
swApp.CommandInProgress =True
swApp.Visible =True
Errors=win32com.client.VARIANT(pythoncom.VT_BYREF | pythoncom.VT_I4, -1)
Warnings=win32com.client.VARIANT(pythoncom.VT_BYREF | pythoncom.VT_I4, -1)
sw_app = swApp.OpenDoc6(file_path,1,1,"",Errors,Warnings)
sw_app.Save()
swApp.CloseDoc(file_path)
# swApp.ExitApp()

# 文件更新后,刷新folder和file的参数。
# 文件保存后,相关参数会变化,所以加了这段代码。
# 后面试了下,这段代码可以不加,正常运行。
# folder = vault.GetFolderFromPath(folder_path)
# file = vault.GetFileFromPath(file_path, folder)[0]

# 检入文件
file.UnlockFile(0,"检入文件测试",0,None) 
if file.IsLocked !='':
    print('文件检入成功')

  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
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工程师在实际工作中的效率和创造力。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值