Python SolidWorks 二次开发—SolidWorks保存文件

Python SolidWorks 二次开发—SolidWorks保存文件


文章目录

  • Python SolidWorks 二次开发---SolidWorks保存文件
  • 一、连接SolidWorks 二次开发
  • 二、保存文件函数:Save3
    • 1.Save3函数定义
    • 2.Save3函数的使用

一、连接SolidWorks 二次开发

连接SolidWorks见>>Python SolidWorks 二次开发—Python如何连接SolidWorks

二、保存文件函数:Save3

使用Save3函数进行文件的保存

1.Save3函数定义

函数原型如下:

Function Save3( _ByVal Options As System.Integer, _ByRef Errors As System.Integer, _ByRef Warnings As System.Integer _
) As System.Boolean

参数说明:
Options:保存文件时的选项,包含以下选项

Member Description
swSaveAsOptions_AvoidRebuildOnSave 8 or 0x8
swSaveAsOptions_Copy 2 or 0x2
swSaveAsOptions_DetachedDrawing 128 or 0x80; Not a valid option for IPartDoc::SaveToFile2
swSaveAsOptions_IgnoreBiography 256 or 0x100; Prune a SOLIDWORKS file’s revision history to just the current file name
swSaveAsOptions_OverrideSaveEmodel 32 or 0x20; Saves eDrawings-related information into a section of the file being saved; specifying this setting overrides the Tools, Options, System Options, General, Save eDrawings data in SOLIDWORKS document setting; not a valid option for IPartDoc::SaveToFile2
swSaveAsOptions_SaveEmodelData Obsolete.
swSaveAsOptions_SaveReferenced 4 or 0x4; Supports parts, assemblies, and drawings; this setting indicates to save all components (sub-assemblies and parts) in both assemblies and drawings; if a part has an external reference, then this setting indicates to save the external reference
swSaveAsOptions_Silent 1 or 0x1
swSaveAsOptions_UpdateInactiveViews 16 or 0x10; Not a valid option for IPartDoc::SaveToFile2; this setting is only applicable for a drawing that has one or more sheets; this setting updates the views on inactive sheets

Errors:保存文件出现错误的定义,包含如下选项

Member Description
swFileLockError 16 or 0x10
swFileNameContainsAtSign 8 or 0x8 = File name cannot contain the at symbol (@)
swFileNameEmpty 4 or 0x4 = File name cannot be empty
swFileSaveAsBadEDrawingsVersion 1024 or 0x400
swFileSaveAsDoNotOverwrite 128 or 0x80 = Do not overwrite an existing file
swFileSaveAsInvalidFileExtension 256 or 0x100 = File name extension does not match the SOLIDWORKS document type
swFileSaveAsNameExceedsMaxPathLength 2048 or 0x800 = File name cannot exceed 255 characters
swFileSaveAsNoSelection 512 or 0x200 = Save the selected bodies in a part document. Valid option for IPartDoc::SaveToFile2; however, not a valid option for IModelDocExtension::SaveAs
swFileSaveAsNotSupported 4096 or 0x1000 = Save As operation:is not supported was executed is such a way that the resulting file might not be complete, possibly because SOLIDWORKS is hidden; if the error persists after setting SOLIDWORKS to visible and re-attempting the Save As operation, contact SOLIDWORKS API support.
swFileSaveFormatNotAvailable 32 or 0x20 = Save As file type is not valid
swFileSaveRequiresSavingReferences 8192 or 0x2000 = Saving an assembly with renamed components requires saving the references
swFileSaveWithRebuildError Obsolete = See swFileSaveWarning_e
swGenericSaveError 1 or 0x1
swReadOnlySaveError 2 or 0x2

Warnings:保存文件出现警告的定义,包含如下选项

Member Description
swFileSaveWarning_AnimatorCameraViews 128 or 0x80
swFileSaveWarning_AnimatorFeatureEdits 16 or 0x10
swFileSaveWarning_AnimatorLightEdits 64 or 0x40
swFileSaveWarning_AnimatorNeedToSolve 8 or 0x8
swFileSaveWarning_AnimatorSectionViews 256 or 0x100
swFileSaveWarning_EdrwingsBadSelection 32 or 0x20
swFileSaveWarning_MissingOLEObjects 512 or 0x200
swFileSaveWarning_NeedsRebuild 2 or 0x2
swFileSaveWarning_OpenedViewOnly 1024 or 0x400
swFileSaveWarning_RebuildError 1 or 0x1
swFileSaveWarning_ViewsNeedUpdate 4 or 0x4
swFileSaveWarning_XmlInvalid 2048 or 0x800

返回值,返回布尔类型,保存成功放回true,失败返回falese

2.Save3函数的使用

执行以下代码可直接在SolidWorks中保存当前激活的文件

import win32com.client
from swconst import constants
import pythoncomdef savefile():# SolidWorks年份版本sldver=2018# 建立com连接,如只有一个版本,可以只写"SldWorks.Application"swApp=win32com.client.Dispatch(f'SldWorks.Application.{sldver-1992}')# 提升API交互效率swApp.CommandInProgress =True# 显示SolidWorks界面swApp.Visible =True# 获取当前激活文档对象swModel = swApp.ActiveDoc#错误和警告Errors=win32com.client.VARIANT(pythoncom.VT_BYREF | pythoncom.VT_I4, -1)Warnings=win32com.client.VARIANT(pythoncom.VT_BYREF | pythoncom.VT_I4, -1)# constants.swSaveAsOptions_Silent也可以直接按照选项说明写整数:1boolstatus = swModel.Save3(constants.swSaveAsOptions_Silent, Errors, Warnings)if boolstatus:print('文件保存成功')else:print(f'文件保存失败,出现如下错误:{Errors}')print(f'文件保存失败,出现如下警告:{Warnings}')if __name__ == '__main__':savefile()

Python SolidWorks 二次开发---SolidWorks保存文件相关推荐

  1. Python SolidWorks 二次开发---SolidWorks另存文件为其他格式

    Python SolidWorks 二次开发-SolidWorks另存文件为其他格式 Python SolidWorks 二次开发-SolidWorks另存文件为其他格式 文章目录 Python So ...

  2. Python SolidWorks 二次开发—SolidWorks中的事件实现

    Python SolidWorks 二次开发-SolidWorks中的事件实现 文章目录 Python SolidWorks 二次开发---SolidWorks中的事件实现 前言 一.如何实现com事 ...

  3. 基于Python的Solidworks二次开发方法

    关于python简易二次开发Solidworks的小程序 第一次动手开发了一个Solidworks的小程序,实验的功能也很简单,出来分享一下,第一次大佬们也可以指出一些问题,来帮助我改进~ 此处特别感 ...

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

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

  5. SolidWorks二次开发 API-获取当前语言与重命名文件

    新的一年了,开始新的分享. 做SolidWorks二次开发的时候,难免会遇到多语言的问题. 针对不同语言的客户生成不同语言的菜单,所以我们要知道Solidworks的当前界面语言是什么. 这个就简单的 ...

  6. solidworks二次开发

    1.solidworks二次开发加入时间限制 限制用户的使用期限,可以一定程度上保护自己的软件.思路:在第一次安装注册的时候,向注册表写入信息.这里采用一明一暗的做法.首先将当前时间写入注册表的某一项 ...

  7. Solidworks二次开发平台 --- RyS.SwWorks [2015-09-18更新]

    RyS.SwWorks 是一款基于.NET的Solidworks二次开发平台,该平台封装了插件注册.菜单.工具栏.侧边栏.Document接口,使得Solidworks开发和部署简单高效. 安装程序中 ...

  8. SolidWorks二次开发的研究

    三维机械设计软件SolidWorks是一套基于Windows的CAD/CAE/CAM/PDM桌面集成系统,是由美国SolidWorks公司在总结和继承大型机械CAD软件的基础上,在Windows环境下 ...

  9. 基于SOLIDWORKS二次开发的3D产品研发增效和企业信息化工具集SolidKits

    基于SOLIDWORKS二次开发的SolidKits工具的含义是3D产品研发增效和企业信息化工具集,目前已经帮助高科技.机器人.航空航天.船舶.汽车.机械设备.电器.电子等行业的上百家制造业企业提供了 ...

最新文章

  1. 线上服务 CPU 又 100% 啦?一键定位 so easy!
  2. 开源项目OpenGene发起人:用“互联网+基因技术”改变肿瘤的诊断与治疗
  3. 恼人的函数指针(二)
  4. 基于FPGA的目标点的提取与定位系统设计
  5. vue通过监听实现相同路径的视图重新加载
  6. initialization of 'XXX' is skipped by 'case' label
  7. (Ⅰ)基于Hexo+GitHub Page搭建博客,绑定域名及备份
  8. SQL优化:从设计表结构开始(层次型表结构设计方法)
  9. c语言char指针用法,整理C语言中各种类型指针的特性与用法
  10. 算法笔记 -- 离散化
  11. 关于jupyter出现kernel dead问题
  12. 阿里云技术白皮书_2019年云计算发展白皮书发布 阿里云保持优势成亚太最大云服务商...
  13. 【2018CPCP-Final G:】Pastoral Life in Stardew Valley
  14. Unity3D shader简介
  15. yui3:widget
  16. python 处理excel公式_python 处理excel踩过的坑——data_only,公式全部丢失
  17. linux mint如何安装输入法(以google输入法为例)
  18. android system.img userdata.img文件解包打包及设置
  19. MFC对话框/控件下属性中的事件变成空白?
  20. Docker之alpine自定义阿里云镜像

热门文章

  1. 【JS提升】选项卡的两种实现方式
  2. 清平调·其一 李白
  3. 如何WEBP透明素材无损导入PS
  4. arm平台的录屏软件
  5. 如何下载video标签中的视频资源以blob:http开头地址的资源m3u8
  6. 魔塔之拯救白娘子~我的第一个VB6+DX8做的小游戏源码~3鼠标键盘和手柄引擎
  7. 微信小程序Vue+uniapp社区居民生活事务系统python小区物业报修缴费系统java
  8. 2021-2027中国LED密封胶市场现状及未来发展趋势
  9. PS入门(2-3) 矢量格式图像
  10. pandas 提取大于某值的数据_Pandas 数据处理(二) - 筛选数据