Этот репозиторий содержит макрос для автоматического экспорта файлов (DXF/IGS) из моделей, перечисленных в BOM-таблице (Спецификации) чертежа SolidWorks. Решение позволяет ускорить подготовку производственных файлов и автоматизировать рутинные операции при работе с крупными проектами.
Видео: https://youtu.be/Awssakb-1NQ
- Автоматический экспорт DXF из всех листовых деталей, указанных в BOM-таблице.
- Экспорт IGS для сварных элементов (weldment).
- Скопируйте файл макроса side_loader.swp и SIDE.exe из папки macros_runner в удобную папку.
- Откройте чертёж (Drawing) в SolidWorks, который содержит интересующую таблицу спецификаций содержащую сварные конструкции и детали из листового металла.
- Выделите нужную BOM-таблицу (таблицу спецификации) на листе.
- Откройте меню макросов:
Tools → Macro → Run...
или используйте сочетание клавиш Alt+F8. - Выберите макрос и запустите его.
- По завершении работы в папке с исходным чертежом появятся папки
DXFи/илиIGSс экспортированными файлами.
Важно:
Макрос работает только с чертежами. Создайте спецификацию на деталь или сборку в чертеже Выделите таблицу и запустите макрос
В комплекте есть вспомогательный макрос для запуска внешней программы из SolidWorks. Это может быть, например, автоматический постпроцессор, скрипт сортировки, отправка файлов по сети и т.д.
Пример кода для макроса RunExeMacro на VBA:
' Макрос запускает внешний exe-файл, лежащий в той же папке, что и макрос
Sub RunExeMacro()
Dim exePath As String
Dim pid As Long
Set SwApp = Application.SldWorks
Dim macroPath As String
macroPath = SwApp.GetCurrentMacroPathFolder()
' Путь к exe-файлу в той же папке (замени SIDE.exe на нужный файл)
exePath = macroPath & "\SIDE.exe"
On Error GoTo ErrHandler
pid = Shell(exePath, vbNormalFocus)
Exit Sub
ErrHandler:
MsgBox "Ошибка запуска EXE: " & Err.Description & exePath
End Sub