Python SolidWorks 二次开发---SolidWorks保存文件
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保存文件相关推荐
- Python SolidWorks 二次开发---SolidWorks另存文件为其他格式
Python SolidWorks 二次开发-SolidWorks另存文件为其他格式 Python SolidWorks 二次开发-SolidWorks另存文件为其他格式 文章目录 Python So ...
- Python SolidWorks 二次开发—SolidWorks中的事件实现
Python SolidWorks 二次开发-SolidWorks中的事件实现 文章目录 Python SolidWorks 二次开发---SolidWorks中的事件实现 前言 一.如何实现com事 ...
- 基于Python的Solidworks二次开发方法
关于python简易二次开发Solidworks的小程序 第一次动手开发了一个Solidworks的小程序,实验的功能也很简单,出来分享一下,第一次大佬们也可以指出一些问题,来帮助我改进~ 此处特别感 ...
- 基于Python的Solidworks二次开发小尝试(一)
文章目录 前言 一.自我理解 二.使用步骤 1.建立 Python 与 SolidWorks 之间的关联 2.通过录制宏获取vb代码 总结 前言 第一次运用python对solidworks进行二次开 ...
- SolidWorks二次开发 API-获取当前语言与重命名文件
新的一年了,开始新的分享. 做SolidWorks二次开发的时候,难免会遇到多语言的问题. 针对不同语言的客户生成不同语言的菜单,所以我们要知道Solidworks的当前界面语言是什么. 这个就简单的 ...
- solidworks二次开发
1.solidworks二次开发加入时间限制 限制用户的使用期限,可以一定程度上保护自己的软件.思路:在第一次安装注册的时候,向注册表写入信息.这里采用一明一暗的做法.首先将当前时间写入注册表的某一项 ...
- Solidworks二次开发平台 --- RyS.SwWorks [2015-09-18更新]
RyS.SwWorks 是一款基于.NET的Solidworks二次开发平台,该平台封装了插件注册.菜单.工具栏.侧边栏.Document接口,使得Solidworks开发和部署简单高效. 安装程序中 ...
- SolidWorks二次开发的研究
三维机械设计软件SolidWorks是一套基于Windows的CAD/CAE/CAM/PDM桌面集成系统,是由美国SolidWorks公司在总结和继承大型机械CAD软件的基础上,在Windows环境下 ...
- 基于SOLIDWORKS二次开发的3D产品研发增效和企业信息化工具集SolidKits
基于SOLIDWORKS二次开发的SolidKits工具的含义是3D产品研发增效和企业信息化工具集,目前已经帮助高科技.机器人.航空航天.船舶.汽车.机械设备.电器.电子等行业的上百家制造业企业提供了 ...
最新文章
- 线上服务 CPU 又 100% 啦?一键定位 so easy!
- 开源项目OpenGene发起人:用“互联网+基因技术”改变肿瘤的诊断与治疗
- 恼人的函数指针(二)
- 基于FPGA的目标点的提取与定位系统设计
- vue通过监听实现相同路径的视图重新加载
- initialization of 'XXX' is skipped by 'case' label
- (Ⅰ)基于Hexo+GitHub Page搭建博客,绑定域名及备份
- SQL优化:从设计表结构开始(层次型表结构设计方法)
- c语言char指针用法,整理C语言中各种类型指针的特性与用法
- 算法笔记 -- 离散化
- 关于jupyter出现kernel dead问题
- 阿里云技术白皮书_2019年云计算发展白皮书发布 阿里云保持优势成亚太最大云服务商...
- 【2018CPCP-Final G:】Pastoral Life in Stardew Valley
- Unity3D shader简介
- yui3:widget
- python 处理excel公式_python 处理excel踩过的坑——data_only,公式全部丢失
- linux mint如何安装输入法(以google输入法为例)
- android system.img userdata.img文件解包打包及设置
- MFC对话框/控件下属性中的事件变成空白?
- Docker之alpine自定义阿里云镜像
热门文章
- 【JS提升】选项卡的两种实现方式
- 清平调·其一 李白
- 如何WEBP透明素材无损导入PS
- arm平台的录屏软件
- 如何下载video标签中的视频资源以blob:http开头地址的资源m3u8
- 魔塔之拯救白娘子~我的第一个VB6+DX8做的小游戏源码~3鼠标键盘和手柄引擎
- 微信小程序Vue+uniapp社区居民生活事务系统python小区物业报修缴费系统java
- 2021-2027中国LED密封胶市场现状及未来发展趋势
- PS入门(2-3) 矢量格式图像
- pandas 提取大于某值的数据_Pandas 数据处理(二) - 筛选数据