基于Python的Solidworks集成與參數自動化建模

1. 目標

通過python語言調用Solidworks軟件,進行結構自動化建模(適用零件及裝配體),實現模型參數化,為后續結構參數優化提供基礎。

2. 軟件版本

本案例使用Solidworks2020、Python3.8

3. 參數化模型示例

基于Solidworks軟件建立法蘭幾何模型(單位為mm-deg),如下圖所示。

基于Python的Solidworks集成與參數自動化建模的圖1

法蘭幾何模型

使用方程式將需要優化的參數(法蘭上端倒角角度及下端圓盤外徑)定義為全局變量,如下圖所示。

基于Python的Solidworks集成與參數自動化建模的圖2

全局變量定義

基于Python的Solidworks集成與參數自動化建模的圖3

法蘭上端倒角角度參數定義

基于Python的Solidworks集成與參數自動化建模的圖4

法蘭下端圓盤外徑參數定義

4. 模型自動化更新

基于python語言的Solidworks二次開發編程實現模型參數的自動更新,并保存為通用的x_t格式文件。

基于Python的Solidworks集成與參數自動化建模的圖5基于Python的Solidworks集成與參數自動化建模的圖6

圖4.1 法蘭模型自動更新程序

部分代碼:

import os, win32com.client
import pythoncom
Nothing = win32com.client.VARIANT(pythoncom.VT_DISPATCH, None)
swEdition = 2020 # solidworks軟件版本
swApp = win32com.client.Dispatch('SldWorks.Application.{}'.format(swEdition - 1992)) # 通過com方式連接軟件
# 模型文件(支持零件和裝配體)
# fileName = 'flange.SLDPRT'    # 法蘭零件模型
fileName = 'clamping.SLDASM'     # 夾爪裝配模型
file = os.path.join(os.getcwd(), fileName)
if 'SLDPRT' in file:
    swApp.openDoc(file, 1) # 打開零件模型文件
    partDoc = swApp.activeDoc # 定義模型對象為當前打開的零件模型
elif 'SLDASM' in file:
    swApp.openDoc(file, 2) # 打開配模型文件
   assemDoc = swApp.activeDoc # 定義模型對象為當前打開的裝配模型
   components = assemDoc.GetComponents(True)
   for index in range(len(components)):
      if components[index].name == 'WFD-C-A2416B-12-006A 夾爪連接板3-8':
      component = components[index]
      break
   partDoc = component.GetModelDoc2
…………
swApp.closeDoc(file)
swApp.exitApp()

以下內容為付費內容,請購買后觀看

包含1個文件

通過Python調用Solidworks軟件,實現結構參數化建模與自動化更新,適用零部件及裝配體模型,附件給出了python代碼及案例文件。

基于Python的Solidworks集成與參數自動化建模.zip
936.56KB
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP

1
1