本文最后更新于 2024年10月20日 下午
Solidworks 学习笔记(1)
不知道过了多久,又再一次写起笔记。这其中经历了太多,有时候真的挺无奈的。
记叙一下在 Solidworks 使用过程中的心得。
背景
众所周知,使用 Solidworks 画焊件需要型材截面数据,但是软件本身提供的 gb 库太少,甚至无法使用。这就需要我们自行把焊件截面数据导入,通过种种方法在互联网上找到了免费的型材数据,但是有些截面数据不能用。
这时候,可以上某宝花那么一些小钱就能解决。但是某宝上面的东西也是良莠不齐。如果你也爱折腾,不妨试试这个方法。
开始操作
第一步
首先查一下想要的型材标准,这里就以圆钢为例(其他的槽钢,工字钢之类的我已经做好了),看图:
第二步
接着打开 Solidworks 新建一个零件,选一个面绘制草图,就是绘制圆钢的截面轮廓,看图:
这个草图原点就是焊件轮廓的插入点,像什么型钢之类的可以适当调整一下。
把图上的尺寸标一下,确保完全定义,这里稍微修改一下草图尺寸名称,便于直观观察
然后退出草图,我这里还没有保存,保存一下,这里选中草图然后保存为 .sldlfp
第三步
然后使用 excel 表格插入一些配置,在窗口标题栏上插入,插入-表格-excel设计表
这里,自动生成,然后打勾
这里,选择哪些尺寸要被表格控制,圆钢就一个外径尺寸需要控制,如果要是其他截面,要控制的尺寸就比较多一些
确认之后,表格就创建好了,表格第一列是配置名称,第二列就是被控制的参数。把默认的配置复制一份,随便改一下配置名称,然后点击表格外区域关闭表格
可以看到配置已经被添加了
切换到配置页面看看
这个意思就是,使用不同的配置控制不同的轮廓大小,对于一些轮廓相同但是大小不同的零件很好用,展开表格,右键 excel 设计表,把表格打开
这里在询问,添加哪些其他的参数,没有额外的参数就直接 取消
表格打开之后就是这个样子
操作一下表格,把配置都添加进去
然后关闭表格窗口,配置都被添加进来
在表格中把 默认0 配置删了,这里询问要不要在零件中删掉默认 配置0 ,确认
往下拉,可以看到最初的默认配置还在
随便激活其他的配置,然后右键默认配置,删除它
到目前为止,一个拥有多配置的草图就完成了,当然它是激活哪个配置就是哪个配置的外径大小
第四步
把上一步中的那些配置都拆分出来
先看一下保存选项,在 设置-性能-清除缓存配置数据 选项开启
把设计树栏点到其他非配置界面(似乎能提高性能?)
然后标题栏 工具-宏-新建
选定保存位置之后,会自动打开宏编辑界面
把原有的代码全部删掉,然后把下面的代码粘贴进去
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| Dim swApp As Object Dim Part As Object Dim boolstatus As Boolean Dim longstatus As Long
Sub main() Set swApp = Application.SldWorks Set Part = swApp.ActiveDoc Dim myModelView As Object Set myModelView = Part.ActiveView myModelView.FrameState = swWindowState_e.swWindowMaximized
Dim configNames As Variant configNames = Part.GetConfigurationNames() Dim i As Integer For i = LBound(configNames) To UBound(configNames) boolstatus = Part.Extension.SelectByID2(configNames(i), "CONFIGURATIONS", 0, 0, 0, False, 0, Nothing, 0) boolstatus = Part.ShowConfiguration2(configNames(i)) Dim savePath As String savePath = "E:\sollidworks\库\焊件型材库\GB型材库\GBT 702-2004 热轧圆钢\" & configNames(i) & ".SLDLFP" longstatus = Part.SaveAs3(savePath, 0, 2) Next i End Sub
|
把savePath = "E:\sollidworks\库\焊件型材库\GB型材库\GBT 702-2004 热轧圆钢\" & configNames(i) & ".SLDLFP"
这里面的E:\sollidworks\库\焊件型材库\GB型材库\GBT 702-2004 热轧圆钢
替换为要保存的路径,即为图中的高亮部分,然后点击运行
经过一段时间的运行,导航到目录下,可以看到型材数据已经被拆分出来了
这时候已经可以使用了,只不过还存在问题,原来的配置并没有被删掉,文件夹下面的所有文件都是原来那么多配置,只是被激活的配置不同
第五步
删除未被激活的配置
关掉打开的文件和宏窗口,这时回到了主页,在主页标题栏 工具-宏-新建 ,再新建一个宏文件
同样,删掉原有的代码,然后粘贴以下内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
| Sub main()
Dim swApp As Object Set swApp = Application.SldWorks
Dim folderPath As String folderPath = "E:\sollidworks\库\焊件型材库\GB型材库\GBT 702-2004 热轧圆钢\"
Dim fso As Object Set fso = CreateObject("Scripting.FileSystemObject")
Dim folder As Object Set folder = fso.GetFolder(folderPath)
Dim file As Object For Each file In folder.Files If LCase(fso.GetExtensionName(file.Name)) = "sldlfp" Then On Error GoTo Cleanup Dim Part As Object Dim longstatus As Long, longwarnings As Long
Set Part = swApp.OpenDoc6(file.Path, 1, 0, "", longstatus, longwarnings) swApp.ActivateDoc2 file.Name, False, longstatus Set Part = swApp.ActiveDoc Dim myModelView As Object Set myModelView = Part.ActiveView myModelView.FrameLeft = 0 myModelView.FrameTop = 0 myModelView.FrameState = swWindowState_e.swWindowMaximized
Dim activeConfigName As String activeConfigName = Part.GetTitle()
Dim configNames As Variant Dim i As Integer Dim configCount As Long
configNames = Part.GetConfigurationNames() configCount = UBound(configNames) + 1
For i = 0 To configCount - 1 If configNames(i) <> activeConfigName Then boolstatus = Part.Extension.SelectByID2(configNames(i), "CONFIGURATIONS", 0, 0, 0, True, 0, Nothing, 0) boolstatus = Part.DeleteConfiguration2(configNames(i)) End If Next i
Dim swErrors As Long Dim swWarnings As Long boolstatus = Part.Save3(1, swErrors, swWarnings) Part.ClearSelection2 True
Cleanup: If Not Part Is Nothing Then swApp.CloseDoc activeConfigName Set Part = Nothing End If End If Next file
Set folder = Nothing Set fso = Nothing Set swApp = Nothing
End Sub
|
把folderPath = "E:\sollidworks\库\焊件型材库\GB型材库\GBT 702-2004 热轧圆钢\"
这里面的E:\sollidworks\库\焊件型材库\GB型材库\GBT 702-2004 热轧圆钢
替换为刚刚保存的路径,即为图中的高亮部分,然后点击运行
运行结束后,到文件夹下查看,可以看到文件明显变小了许多
随便打开一个看看
切换到配置树,其他配置都被删掉了,excel设计表亦是如此
把文件夹添加到焊件库,绘制焊件试试
这样就完成了对焊件库的自制与使用
完结
其实还有一些问题,例如第二个宏程序在使用过程中会造成内存回收不及时造成内存泄漏,不知道有无大神优化一下程序。另外,本文仅作参考,本文具有时效性,或许有更好用的工具,只是没有被发现而已。