vbScript是一种基于Visual Basic的流行脚本语言。它是轻量级的,并且由Windows本机支持。代码可以在任何文本编辑器(例如记事本)中编辑。
脚本可以通过直接执行(即双击)或从命令行运行。命令行选项还支持输入参数。
vbScript 是后期绑定的,不需要使用 As 关键字显式声明变量类型。
vbScript 支持通过 ::CreateObject 和 ::GetObject 方法创建或连接到 COM 对象,这意味着它可以使用 SOLIDWORKS API 进行自动化。
使用以下行连接到 SOLIDWORKS 的实例。
Dim swApp
Set swApp = CreateObject("SldWorks.Application")
通过 vbScript 批量导出 SOLIDWORKS 模型
此 vbScript 示例演示如何使用 vbScript 批量导出 SOLIDWORKS 文档。
参数
> "export-sw-models.vbs" "C:\Models" sldprt "C:\Output" step
export-sw-models.vbs
Dim dirPath
dirPath = WScript.Arguments.Item(0)
Dim filter
filter = WScript.Arguments.Item(1)
Dim outDir
outDir = WScript.Arguments.Item(2)
Dim outExt
outExt = WScript.Arguments.Item(3)
Dim swApp
Set swApp = CreateObject("SldWorks.Application")
swApp.Visible = True
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
Dim folder
Set folder = fso.GetFolder(dirPath)
dim file
For Each file in folder.Files
If LCase(fso.GetExtensionName(file.Path)) = LCase(filter) Then
Dim docSpec
Set docSpec = swApp.GetOpenDocSpec(file.Path)
docSpec.ReadOnly = True
Dim swModel
Set swModel = swApp.OpenDoc7(docSpec)
If Not swModel is Nothing Then
Dim outFilePath
outFilePath = outDir & "\" & fso.GetBaseName(file) & "." & outExt
swModel.SaveAs outFilePath
swApp.CloseDoc swModel.GetTitle()
End If
End If
Next
swApp.ExitApp
使用 SOLIDWORKS API 脚本提取文件的质量属性
此示例演示如何通过 SOLIDWORKS API 使用 vbScript 从指定文件中提取质量属性。
get-mass-prps.vbs
Dim swApp
Set swApp = CreateObject("SldWorks.Application")
Dim filePath
filePath = InputBox("Specify the path to the part file")
Dim docSpec
Set docSpec = swApp.GetOpenDocSpec(filePath)
docSpec.ReadOnly = True
docSpec.Silent = True
Dim swModel
Set swModel = swApp.OpenDoc7(docSpec)
Dim swMassPrps
Set swMassPrps = swModel.Extension.CreateMassProperty()
MsgBox "Mass: " & swMassPrps.Mass & vbLf & "Volume: " & swMassPrps.Volume & vbLf & "Surface area: " & swMassPrps.SurfaceArea
swApp.CloseDoc swModel.GetTitle()
指定模型的质量属性显示在消息框中
从 Windows 文件资源管理器以快速视图模式打开 SOLIDWORKS 装配体
从 SOLIDWORKS 开启大型设计审阅模式
SOLIDWORKS 启用在大型设计审阅模式(也称为快速视图)中打开大型装配体或工程图的选项。这允许仅加载装配体和图纸的视图信息,并显着提高性能(大型装配体通常在几秒钟内打开,而不是几分钟甚至几小时)。以后可以根据需要加载单个组件。
在大型设计审阅模式下打开的装配体
但是,从 Windows 文件资源管理器打开文档时不支持此模式。
以下指南介绍了如何直接从 Windows 文件资源管理器启用快速查看模式。
opener.vbs
Dim swApp
Set swApp = CreateObject("SldWorks.Application")
swApp.Visible = True
Dim filePath
filePath = WScript.Arguments.Item(0)
If filePath <> "" then
Dim docSpec
Set docSpec = swApp.GetOpenDocSpec(filePath)
docSpec.ViewOnly = True
Dim swModel
Set swModel = swApp.OpenDoc7(docSpec)
If swModel is Nothing Then
MsgBox "Failed to open document"
End If
Else
MsgBox "File path is not specified"
End If
install.cmd
reg add "HKCR\SldAssem.Document\shell\Quick View\command" /ve /d "wscript.exe """%~dp0opener.vbs""" ""%%1""" /f
reg add "HKCR\SldDraw.Document\shell\Quick View\command" /ve /d "wscript.exe """%~dp0opener.vbs""" ""%%1""" /f
保存这两个文件。将这些文件保留在同一文件夹中很重要。
用于从 Windows 资源管理器启用快速模式的文件
快速视图(Quick View)命令将添加到 Windows 文件资源管理器的上下文菜单中。选择任何组件,然后单击鼠标右键。单击“快速查看”,文件将在 SOLIDWORKS 中以快速查看模式打开:
选择装配体时的快速查看上下文菜单
文章翻译自https://www.codestack.net/
仅供学习使用。