Mengenal Solidworks Macro: Otomatisasi Desain dengan Mudah
- Jethro Jiang
- 3 days ago
- 16 min read
Pernah merasa sering mengulang langkah yang sama saat menggunakan SolidWorks? Misalnya mengekspor drawing ke PDF, mengubah satuan (unit), menambahkan custom property, membuat konfigurasi baru, atau mengganti nama file. Aktivitas yang terlihat sederhana ini jika dilakukan berulang setiap hari dapat menghabiskan banyak waktu dan mengurangi produktivitas.
Untungnya, SolidWorks menyediakan fitur SolidWorks Macro yang dapat mengotomatiskan berbagai pekerjaan berulang hanya dengan beberapa klik. Dengan memanfaatkan macro, Anda dapat mempercepat proses desain, mengurangi risiko kesalahan, dan meningkatkan efisiensi kerja.

Dalam artikel ini, Anda akan mempelajari apa itu SolidWorks Macro, manfaatnya bagi proses desain, cara membuat macro pertama tanpa harus mahir pemrograman, hingga contoh script VBA yang siap digunakan.
Apa itu SolidWorks Macro?
SolidWorks Macro adalah fitur otomatisasi yang memungkinkan Anda menjalankan serangkaian perintah di SolidWorks secara otomatis. Dengan macro, pekerjaan berulang seperti menyimpan file, mengekspor drawing ke PDF atau DWG, menambahkan custom property, hingga membuat konfigurasi baru dapat diselesaikan lebih cepat dan konsisten.
Secara teknis, SolidWorks Macro bekerja menggunakan SolidWorks API (Application Programming Interface), yaitu antarmuka pemrograman yang memungkinkan macro mengakses dan mengendalikan berbagai fungsi di dalam SolidWorks. Berkat API ini, macro dapat melakukan tugas sederhana maupun proses yang lebih kompleks, seperti memproses banyak file sekaligus atau membuat model 3D secara otomatis.
SolidWorks mendukung beberapa bahasa pemrograman untuk membuat macro, masing-masing dengan tingkat kesulitan dan penggunaan yang berbeda.
Bahasa | Format File | Tingkat Kesulitan | Cocok Untuk |
VBA (Visual Basic for Applications) | .swp, .swb | Pemula | Engineer dan pengguna yang sudah terbiasa dengan Macro Excel |
VB.NET (VSTA) | .vbproj | Menengah | Developer atau engineer dengan pengalaman .NET |
C# (VSTA) | .csproj | Menengah–Lanjut | Developer profesional dan proyek otomatisasi yang lebih kompleks |
Bagi sebagian besar pengguna SolidWorks, terutama engineer dan drafter, VBA merupakan pilihan yang paling direkomendasikan. Selain mudah dipelajari, VBA sudah terintegrasi langsung di SolidWorks sehingga Anda dapat mulai membuat dan menjalankan macro tanpa perlu menginstal software tambahan.
Mengapa SolidWorks Macro Penting?
Menggunakan SolidWorks Macro bukan hanya tentang menghemat beberapa klik. Fitur ini dapat meningkatkan produktivitas, mengurangi kesalahan, dan membuat alur kerja desain menjadi lebih efisien. Berikut beberapa alasan mengapa banyak engineer mulai memanfaatkan macro dalam pekerjaan sehari-hari.
1. Menghemat Waktu Pengerjaan
Bayangkan sebuah tim engineering harus menyiapkan 50 file drawing untuk dikirim ke vendor setiap akhir minggu. Jika dilakukan secara manual, prosesnya biasanya meliputi:
Membuka setiap file drawing.
Memeriksa title block.
Mengekspor drawing ke PDF dengan nama file yang sesuai.
Menyimpan file ke folder yang benar.
Mengulangi proses yang sama hingga semua file selesai.
Pekerjaan tersebut dapat memakan waktu sekitar 2–3 jam. Dengan SolidWorks Macro, seluruh proses dapat diotomatisasi sehingga selesai hanya dalam beberapa menit. Engineer pun bisa memanfaatkan waktu yang tersisa untuk fokus pada desain, analisis, atau pengembangan produk.
2. Mengurangi Risiko Human Error
Pekerjaan yang dilakukan berulang kali sering kali memicu kesalahan, seperti salah memberi nama file, lupa mengisi custom property, atau memilih format ekspor yang tidak sesuai.
SolidWorks Macro menjalankan setiap langkah secara konsisten sehingga risiko kesalahan dapat diminimalkan dan hasil kerja menjadi lebih akurat.
3. Meningkatkan Efisiensi Tim
Macro yang sudah dibuat tidak hanya dapat digunakan oleh satu orang. File macro dapat dibagikan kepada seluruh anggota tim sehingga setiap engineer dapat menjalankan proses yang sama dengan standar yang konsisten.
Cara ini membantu meningkatkan produktivitas tim sekaligus mempercepat proses kerja tanpa harus membuat ulang alur otomatisasi dari awal.
Mengenal Macro Toolbar di SolidWorks
Sebelum membuat atau menjalankan SolidWorks Macro, Anda perlu mengaktifkan Macro Toolbar. Toolbar ini berfungsi sebagai pusat kontrol untuk merekam, menjalankan, mengedit, dan membuat macro baru secara langsung dari antarmuka SolidWorks.
Ikuti langkah-langkah berikut untuk menampilkan Macro Toolbar:
Buka Tools.
Pilih Customize.
Masuk ke tab Toolbars.
Centang Macro, lalu klik OK.
Setelah aktif, Macro Toolbar akan muncul di area toolbar SolidWorks dan menyediakan beberapa tombol utama berikut.
Tombol | Fungsi |
Record/Pause | Memulai atau menjeda proses perekaman macro. |
Stop | Menghentikan perekaman dan menyimpan macro. |
Run | Menjalankan file macro (.swp) yang sudah dibuat. |
New | Membuat macro baru dan membuka editor VBA. |
Edit | Membuka macro yang sudah ada untuk di edit di VBA Editor. |
Cara Membuat SolidWorks Macro Tanpa Menulis Kode
Bagi pemula, cara paling mudah mempelajari SolidWorks Macro adalah menggunakan fitur Record Macro. Fitur ini akan merekam setiap langkah yang Anda lakukan di SolidWorks, lalu secara otomatis mengubahnya menjadi kode VBA. Anda tidak perlu memahami pemrograman untuk mulai membuat macro sederhana.
Contoh: Merekam Macro untuk Export PDF
Pada contoh berikut, Anda akan membuat macro yang secara otomatis mengekspor
drawing aktif ke format PDF.
Langkah 1: Buka Drawing
Buka file drawing SolidWorks (.slddrw) yang ingin diekspor, lalu pastikan file tersebut sedang aktif.
Langkah 2: Mulai Merekam Macro
Pilih Tools → Macro → Record, atau klik tombol Record pada Macro Toolbar.
Setelah perekaman dimulai, SolidWorks akan merekam setiap tindakan yang Anda lakukan hingga proses dihentikan.
Langkah 3: Lakukan Proses Export PDF
Selanjutnya, lakukan proses ekspor seperti biasa.
Klik File → Save As.
Pada Save as type, pilih Adobe Portable Document Format (*.pdf).
Tentukan nama file dan lokasi penyimpanan.
Klik Save.
Jika muncul jendela PDF Options, sesuaikan pengaturan yang diinginkan, lalu klik OK.
Semua langkah tersebut akan direkam secara otomatis sebagai macro.
Langkah 4: Simpan Macro
Setelah selesai merekam:
Pilih Tools → Macro → Stop, atau klik tombol Stop pada Macro Toolbar.
Beri nama macro, misalnya ExportPDF.
Simpan dengan format SW VBA Macros (*.swp).
Pilih folder penyimpanan yang mudah diakses, lalu klik Save.
Langkah 5: Jalankan Macro
Untuk menguji hasilnya:
Buka file drawing lain.
Pilih Tools → Macro → Run.
Pilih file macro .swp yang telah disimpan.
Klik Open.
Jika semua langkah dilakukan dengan benar, drawing aktif akan langsung diekspor ke format PDF secara otomatis. Dengan cara ini, Anda tidak perlu lagi mengulangi proses ekspor secara manual setiap kali membuat drawing baru.
Cara Menambahkan SolidWorks Macro ke Toolbar
Setelah berhasil membuat SolidWorks Macro, Anda dapat menambahkannya ke toolbar agar bisa dijalankan hanya dengan satu klik. Cara ini akan mempercepat pekerjaan karena Anda tidak perlu lagi membuka menu Tools → Macro → Run setiap kali ingin menjalankan macro.
Ikuti langkah-langkah berikut:
Klik kanan pada area toolbar SolidWorks, lalu pilih Customize.
Buka tab Commands.
Pada daftar kategori di sebelah kiri, pilih Macro.
Klik New Macro Button, lalu seret (drag) tombol tersebut ke posisi toolbar yang diinginkan.
Saat jendela Customize Macro Button muncul, lakukan pengaturan berikut:
Macro: Klik tombol ..., lalu pilih file macro berformat .swp yang ingin digunakan.
Method: Biarkan pengaturan default, atau isi main jika macro menggunakan prosedur Sub Main().
Tooltip: Masukkan teks yang akan muncul saat kursor diarahkan ke ikon, misalnya Export ke PDF.
Icon: Pilih ikon bawaan atau gunakan ikon kustom agar lebih mudah dikenali.
Klik OK untuk menyimpan pengaturan.
Sekarang SolidWorks Macro sudah tersedia di toolbar dan dapat dijalankan kapan saja hanya dengan satu klik.
Tips: Selain melalui toolbar, Anda juga dapat menjalankan SolidWorks Macro menggunakan kombinasi tombol keyboard. Caranya, buka Customize → Keyboard, cari nama macro yang telah dibuat, lalu tetapkan shortcut sesuai kebutuhan. Dengan shortcut keyboard, proses otomatisasi akan menjadi lebih cepat dan efisien, terutama untuk macro yang sering digunakan.
Memahami Kode VBA pada SolidWorks Macro
Setelah selesai merekam SolidWorks Macro, Anda dapat melihat dan mengedit kode yang dihasilkan. Langkah ini berguna jika ingin memahami cara kerja macro atau menambahkan fungsi baru sesuai kebutuhan.
Untuk membuka kode macro:
Pilih Tools → Macro → Edit.
Pilih file macro berformat .swp yang telah dibuat.
SolidWorks akan membuka Microsoft VBA Editor yang berisi kode hasil perekaman.
Pada dasarnya, setiap SolidWorks Macro yang direkam akan menghasilkan struktur kode VBA yang hampir sama. Perbedaannya terletak pada perintah yang direkam sesuai aktivitas yang Anda lakukan.
Berikut contoh SolidWorks Macro sederhana yang digunakan untuk mengekspor drawing ke format PDF.
' ================================================
' Macro Dasar SolidWorks: Export Drawing ke PDF
' Dibuat dengan fitur Record Macro SolidWorks
' ================================================
Option Explicit
Sub main()
' Deklarasi variabel
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim strFilePath As String
Dim strPDFPath As String
' Hubungkan ke aplikasi SolidWorks yang sedang berjalan
Set swApp = Application.SldWorks
' Ambil dokumen yang sedang aktif
Set swModel = swApp.ActiveDoc
' Pastikan ada dokumen yang terbuka
If swModel Is Nothing Then
MsgBox "Tidak ada dokumen yang aktif. Silahkan buka drawing terlebih dahulu.", _
vbExclamation, "SolidWorks Macro"
Exit Sub
End If
' Pastikan dokumen berupa drawing
If swModel.GetType <> swDocDRAWING Then
MsgBox "Dokumen aktif bukan drawing. Macro ini hanya untuk file drawing.", _
vbExclamation, "SolidWorks Macro"
Exit Sub
End If
' Ambil lokasi file drawing
strFilePath = swModel.GetPathName
' Buat nama file PDF: ganti ekstensi .slddrw dengan .pdf
strPDFPath = Left(strFilePath, Len(strFilePath) - 7) & ".pdf"
' Export ke PDF
Dim swExportPDFData As SldWorks.ExportPdfData
Set swExportPDFData = swApp.GetExportFileData(swExportDataFileType_e.swExportPdfData)
Dim bRet As Boolean
bRet = swModel.Extension.SaveAs(strPDFPath, 0, swSaveAsOptions_Silent, _
swExportPDFData, 0, 0)
' Tampilkan hasil
If bRet Then
MsgBox "Drawing berhasil diexport ke:" & vbNewLine & strPDFPath, _
vbInformation, "Export Berhasil"
Else
MsgBox "Export gagal. Periksa izin folder atau format file.", _
vbCritical, "Export Gagal"
End If
End Sub
Penjelasan Singkat Kode
Meskipun terlihat cukup panjang, setiap bagian kode memiliki fungsi yang jelas:
Option Explicit memastikan setiap variabel harus dideklarasikan sehingga mengurangi risiko kesalahan penulisan kode.
Set swApp menghubungkan macro dengan aplikasi SolidWorks yang sedang berjalan.
Set swModel mengambil dokumen yang sedang aktif.
Pengecekan dokumen memastikan file yang dibuka adalah drawing sebelum proses export dimulai.
strPDFPath membuat nama file PDF secara otomatis berdasarkan nama file drawing.
SaveAs() menjalankan proses export ke format PDF.
MsgBox menampilkan notifikasi apakah proses export berhasil atau gagal.
Anda tidak harus langsung memahami seluruh kode di atas. Untuk tahap awal, cukup pahami alur kerjanya terlebih dahulu.
Seiring bertambahnya pengalaman, Anda dapat mengedit atau menambahkan fungsi baru sehingga SolidWorks Macro mampu mengotomatiskan proses yang lebih kompleks sesuai kebutuhan pekerjaan.
Memahami Struktur Kode SolidWorks Macro
Setelah melihat contoh kode sebelumnya, Anda mungkin bertanya-tanya apa fungsi setiap bagian di dalam SolidWorks Macro. Berikut penjelasan singkat dari baris-baris kode yang paling sering digunakan.
Dim swApp As SldWorks.SldWorks
Baris ini mendeklarasikan variabel swApp sebagai objek aplikasi SolidWorks. Variabel ini menjadi pintu utama untuk mengakses berbagai fitur dan perintah melalui SolidWorks API.
Set swApp = Application.SldWorks
Perintah ini menghubungkan variabel swApp dengan aplikasi SolidWorks yang sedang berjalan sehingga macro dapat mengendalikan proses di dalamnya.
Set swModel = swApp.ActiveDoc
Kode ini mengambil dokumen yang sedang aktif, baik berupa Part, Assembly, maupun Drawing. Setelah itu, macro dapat membaca atau memodifikasi dokumen tersebut.
swModel.GetType
Digunakan untuk mengetahui jenis dokumen yang sedang dibuka. Nilai yang umum digunakan antara lain:
swDocPART → File Part.
swDocASSEMBLY → File Assembly.
swDocDRAWING → File Drawing.
Pengecekan ini penting agar macro hanya dijalankan pada jenis file yang sesuai.
swModel.Extension.SaveAs(...)
Perintah SaveAs() digunakan untuk menyimpan file ke lokasi, nama, atau format yang berbeda, misalnya mengekspor drawing menjadi PDF, DWG, atau format lainnya.
Contoh SolidWorks Macro yang Siap Digunakan
Setelah memahami struktur dasarnya, saatnya mencoba contoh SolidWorks Macro yang dapat langsung diterapkan pada pekerjaan sehari-hari. Macro berikut merupakan salah satu yang paling sering digunakan oleh engineer untuk menghemat waktu.
Macro 1: Batch Export Semua Drawing ke PDF
Macro berikut akan mencari seluruh file .slddrw di dalam folder yang dipilih, kemudian mengekspornya secara otomatis ke format PDF tanpa perlu membuka dan menyimpan setiap file secara manual.
' ================================================
' Macro: Batch Export Drawing ke PDF
' Fungsi: Export semua file .slddrw dalam folder
' yang dipilih ke PDF secara otomatis
' ================================================
Sub main()
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swExportPDFData As SldWorks.ExportPdfData
Dim fDialog As Object
Dim strFolderPath As String
Dim strFile As String
Dim intCount As Integer
Set swApp = Application.SldWorks
' Pilih folder menggunakan dialog
Set fDialog = CreateObject("Shell.Application")
Set objFolder = fDialog.BrowseForFolder(0, "Pilih folder yang berisi file Drawing:", 0)
If objFolder Is Nothing Then
MsgBox "Tidak ada folder yang dipilih.", vbInformation
Exit Sub
End If
strFolderPath = objFolder.Self.Path
intCount = 0
' Loop semua file .slddrw
strFile = Dir(strFolderPath & "\*.slddrw")
Do While strFile <> ""
Dim errors As Long, warnings As Long
Set swModel = swApp.OpenDoc6(strFolderPath & "\" & strFile, _
swDocDRAWING, swOpenDocOptions_Silent, "", errors, warnings)
If Not swModel Is Nothing Then
Dim strPDFPath As String
strPDFPath = strFolderPath & "\" & Left(strFile, Len(strFile) - 7) & ".pdf"
Set swExportPDFData = swApp.GetExportFileData(1)
swModel.Extension.SaveAs strPDFPath, 0, swSaveAsOptions_Silent, _
swExportPDFData, 0, 0
swApp.CloseDoc swModel.GetPathName
intCount = intCount + 1
End If
strFile = Dir()
Loop
MsgBox intCount & " drawing berhasil diekspor ke PDF." & vbNewLine & _
"Lokasi: " & strFolderPath, vbInformation, "Selesai"
End Sub
Macro 2: Mengisi Custom Property Secara Massal
Mengisi Custom Property seperti Material, Part Number, Revision, atau Project secara manual pada setiap file dapat memakan banyak waktu. Terutama jika sebuah assembly terdiri dari puluhan hingga ratusan komponen.
Dengan SolidWorks Macro, Anda dapat menambahkan atau memperbarui Custom Property pada seluruh komponen di dalam assembly aktif secara otomatis. Cara ini membantu menjaga konsistensi data sekaligus mengurangi risiko kesalahan saat pengisian informasi.
' ================================================
' Macro: Isi Custom Property ke Semua Komponen
' Fungsi: Menambahkan/update custom property
' di semua part dalam assembly aktif
' ================================================
Sub main()
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swAssy As SldWorks.AssemblyDoc
Dim swComp As SldWorks.Component2
Dim swCompModel As SldWorks.ModelDoc2
Dim vComps As Variant
Dim i As Integer
' Input nama property dan nilainya
Dim strPropName As String
Dim strPropValue As String
strPropName = InputBox("Masukkan nama Custom Property:" & vbNewLine & _
"Contoh: Proyek, Revisi, Dibuat Oleh", _
"Custom Property", "Proyek")
If strPropName = "" Then Exit Sub
strPropValue = InputBox("Masukkan nilai untuk property '" & strPropName & "':", _
"Nilai Property", "Proyek-2025")
If strPropValue = "" Then Exit Sub
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
If swModel.GetType <> swDocASSEMBLY Then
MsgBox "Silakan buka Assembly terlebih dahulu.", vbExclamation
Exit Sub
End If
Set swAssy = swModel
vComps = swAssy.GetComponents(False)
Dim intCount As Integer
intCount = 0
For i = 0 To UBound(vComps)
Set swComp = vComps(i)
Set swCompModel = swComp.GetModelDoc2
If Not swCompModel Is Nothing Then
Dim swCustProp As SldWorks.CustomPropertyManager
Set swCustProp = swCompModel.Extension.CustomPropertyManager("")
swCustProp.Add3 strPropName, swCustomInfoType_e.swCustomInfoText, _
strPropValue, swCustomPropertyAddOption_e.swCustomPropertyReplaceValue
swCompModel.Save3 swSaveAsOptions_Silent, 0, 0
intCount = intCount + 1
End If
Next i
MsgBox intCount & " komponen berhasil diperbarui dengan property '" & _
strPropName & "' = '" & strPropValue & "'", _
vbInformation, "Update Selesai"
End Sub
Macro 3: Export Flat Pattern Sheet Metal ke DXF
Bagi engineer yang bekerja dengan Sheet Metal, proses mengubah flat pattern menjadi file DXF sering dilakukan sebelum dikirim ke mesin laser cutting, CNC punch, atau plasma cutting.
Jika dikerjakan secara manual, proses ini cukup memakan waktu, terutama saat menangani banyak komponen. Dengan SolidWorks Macro, Anda dapat mengotomatiskan proses export sehingga file DXF siap digunakan untuk proses manufaktur hanya dalam beberapa langkah.
' ================================================
' Macro: Export Flat Pattern Sheet Metal ke DXF
' Fungsi: Export .dxf dari semua part sheet metal
' ================================================
Sub main()
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim strSavePath As String
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
If swModel Is Nothing Then
MsgBox "Tidak ada dokumen yang aktif.", vbExclamation
Exit Sub
End If
If swModel.GetType <> swDocPART Then
MsgBox "Silahkan buka Part Sheet Metal terlebih dahulu.", vbExclamation
Exit Sub
End If
' Tentukan lokasi file DXF
strSavePath = Left(swModel.GetPathName, Len(swModel.GetPathName) - 7) & "_flatpattern.dxf"
' Export ke DXF
Dim bRet As Boolean
bRet = swModel.ExportToDWG2(strSavePath, swModel.GetPathName, _
swExportToDWG_e.swExportToDWG_ExportSheetMetal, _
True, Empty, False, False, 0, Empty)
If bRet Then
MsgBox "Flat pattern berhasil diekspor ke DXF:" & vbNewLine & strSavePath, _
vbInformation, "Export Berhasil"
Else
MsgBox "Export gagal. Pastikan part memiliki fitur Sheet Metal.", _
vbCritical, "Export Gagal"
End If
End Sub
Macro 4: Menyimpan Semua Dokumen yang Sedang Dibuka
Saat mengerjakan banyak Part, Assembly, atau Drawing sekaligus, sering kali ada beberapa file yang belum disimpan.
Macro berikut akan memeriksa seluruh dokumen yang sedang terbuka, kemudian menyimpan hanya file yang memiliki perubahan sehingga Anda tidak perlu melakukannya satu per satu.
' ================================================
' Macro: Save All Open Documents
' Fungsi: Simpan semua dokumen yang terbuka sekaligus
' ================================================
Sub main()
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim intCount As Integer
Set swApp = Application.SldWorks
Set swModel = swApp.GetFirstDocument
intCount = 0
Do While Not swModel Is Nothing
If swModel.GetSaveFlag Then
swModel.Save3 swSaveAsOptions_Silent, 0, 0
intCount = intCount + 1
End If
Set swModel = swModel.GetNext
Loop
If intCount > 0 Then
MsgBox intCount & " dokumen berhasil disimpan.", _
vbInformation, "Save All"
Else
MsgBox "Tidak ada dokumen yang perlu disimpan.", _
vbInformation, "Save All"
End If
End Sub
Macro 5: Mengubah Unit Dokumen ke MMGS Secara Otomatis
Dalam proses desain, penggunaan satuan yang tidak konsisten dapat menyebabkan kesalahan dimensi, perhitungan, maupun proses manufaktur. Jika Anda sering menerima file dari berbagai sumber, mengubah unit secara manual tentu kurang efisien.
Dengan SolidWorks Macro, Anda dapat mengubah sistem satuan dokumen menjadi MMGS (Millimeter, Gram, Second) hanya dalam satu klik.
' ================================================
' Macro: Ubah Unit ke MMGS (mm, gram, second)
' Fungsi: Ganti unit sistem di dokumen aktif
' ================================================
Sub main()
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swUserUnit As SldWorks.UserUnit
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
If swModel Is Nothing Then
MsgBox "Tidak ada dokumen yang aktif.", vbExclamation
Exit Sub
End If
' Atur unit ke MMGS
Dim swDocUnits As SldWorks.ModelDocExtension
Set swDocUnits = swModel.Extension
' Unit panjang ke milimeter
Set swUserUnit = swModel.GetUserUnit(swUserUnitsType_e.swLengthUnit)
swUserUnit.SetSystemUnit swLengthUnit_e.swMM
' Unit massa ke gram
Set swUserUnit = swModel.GetUserUnit(swUserUnitsType_e.swMassUnit)
swUserUnit.SetSystemUnit swMassUnit_e.swGRAM
swModel.ForceRebuild3 False
MsgBox "Unit berhasil diubah ke MMGS (Millimeter - Gram - Second).", _
vbInformation, "Ubah Unit"
End Sub
Tips Debugging SolidWorks Macro untuk Pemula
Saat belajar membuat SolidWorks Macro, munculnya error merupakan hal yang wajar. Bahkan programmer berpengalaman pun sering melakukan proses debugging untuk menemukan dan memperbaiki kesalahan pada kode.
Berikut beberapa error yang paling sering muncul beserta cara mengatasinya.
Error: Object Variable or With Block Variable Not Set
Error ini biasanya muncul ketika sebuah objek belum diinisialisasi atau masih bernilai Nothing.
Penyebab yang paling umum:
Tidak ada dokumen yang terbuka saat macro dijalankan.
Jenis dokumen tidak sesuai, misalnya macro untuk Drawing dijalankan pada Part.
Komponen tidak dapat diakses karena berstatus Suppressed atau Lightweight.
Solusi:
Selalu lakukan pengecekan sebelum menggunakan objek, seperti contoh berikut.
Set swModel = swApp.ActiveDoc
If swModel Is Nothing Then
MsgBox "Tidak ada dokumen yang aktif!"
Exit Sub
End If
Dengan pengecekan ini, macro akan berhenti dengan aman apabila tidak menemukan dokumen yang aktif.
Error: Type Mismatch
Error Type Mismatch terjadi ketika tipe data yang digunakan tidak sesuai, misalnya memasukkan nilai teks ke variabel yang seharusnya berisi angka.
Solusi
Tambahkan perintah berikut di bagian paling atas setiap modul VBA.
Option Explicit
Perintah Option Explicit akan memaksa setiap variabel dideklarasikan terlebih dahulu sehingga kesalahan penulisan nama variabel maupun tipe data dapat terdeteksi lebih awal.
Cara Menggunakan VBA Debugger
VBA Editor menyediakan fitur Debugger yang sangat membantu untuk mencari penyebab error pada SolidWorks Macro.
Ikuti langkah-langkah berikut:
Buka VBA Editor, lalu klik di sisi kiri baris kode untuk menambahkan Breakpoint (titik merah).
Jalankan macro seperti biasa. Eksekusi akan berhenti tepat di breakpoint.
Arahkan kursor ke variabel untuk melihat nilai yang sedang tersimpan.
Tekan F8 (Step Into) untuk menjalankan kode satu baris demi satu baris.
Gunakan Immediate Window (Ctrl + G) untuk menguji variabel atau menjalankan perintah VBA secara langsung.
Dengan memanfaatkan fitur debugger, Anda dapat menemukan letak kesalahan lebih cepat dibandingkan menebak-nebak penyebab error.
Sumber Belajar SolidWorks Macro Gratis
Anda tidak selalu harus membuat SolidWorks Macro dari awal. Saat ini tersedia banyak referensi gratis yang dapat digunakan untuk belajar, memodifikasi kode, maupun mencari solusi atas kebutuhan tertentu.
Sumber | Deskripsi |
CodeStack | Koleksi macro VBA SolidWorks yang lengkap dan gratis. |
CADSharp | Menyediakan ratusan contoh macro beserta tutorialnya. |
CAD Booster | Cocok untuk pemula yang ingin mempelajari VBA dan SolidWorks API secara bertahap. |
SolidWorks Forum | Komunitas pengguna SolidWorks yang aktif berbagi solusi, diskusi, dan contoh macro. |
GoEngineer | Berisi artikel teknis, tips penggunaan SolidWorks, serta contoh macro dari reseller resmi. |
Arismadata | Menyediakan tutorial SolidWorks dan macro dalam bahasa Indonesia sehingga lebih mudah dipahami. |
Tips Keamanan Sebelum Menjalankan Macro
Sebelum menggunakan SolidWorks Macro yang diunduh dari internet, pastikan Anda memeriksa isi kodenya terlebih dahulu. Beberapa macro dapat mengakses sistem file, menghapus data, atau menjalankan proses otomatis dalam jumlah besar.
Agar lebih aman, lakukan beberapa langkah berikut:
Gunakan macro hanya dari sumber yang terpercaya.
Periksa kode VBA sebelum menjalankannya.
Uji macro pada file contoh atau proyek percobaan terlebih dahulu.
Hindari langsung menjalankan macro pada data produksi tanpa proses pengujian.
Dengan kebiasaan tersebut, Anda dapat memanfaatkan SolidWorks Macro secara aman sekaligus mengurangi risiko kehilangan data atau kesalahan pada proyek yang sedang dikerjakan.
VBA vs VSTA: Mana yang Sebaiknya Dipilih?
Saat mulai belajar SolidWorks Macro, banyak pengguna bingung memilih antara VBA dan VSTA. Keduanya sama-sama dapat digunakan untuk membuat otomatisasi, tetapi memiliki tujuan yang berbeda.
Aspek | VBA | VSTA |
Tingkat kesulitan | Mudah dipelajari | Lebih kompleks |
Performa | Cocok untuk sebagian besar kebutuhan | Lebih optimal untuk proyek besar |
Debugging | Dasar | Lebih lengkap |
Antarmuka | UserForm | WinForms atau WPF |
Distribusi | File .swp | Perlu proses compile |
Cocok untuk | Engineer dan drafter | Developer atau proyek enterprise |
Macro vs Add-in: Apa Perbedaannya?
Selain macro, SolidWorks juga menyediakan Add-in, yaitu aplikasi yang terintegrasi langsung dengan SolidWorks dan berjalan selama software digunakan.
Aspek | Macro | Add-in |
Cara kerja | Dijalankan saat diperlukan | Berjalan otomatis di latar belakang |
Pembuatan | Relatif mudah | Lebih kompleks |
Distribusi | File macro (.swp) | Installer atau add-in |
Contoh penggunaan | Export PDF, rename file, update property | PDM, integrasi ERP, otomatisasi tingkat lanjut |
Roadmap Belajar SolidWorks Macro untuk Pemula
Agar proses belajar lebih terarah, Anda dapat mengikuti tahapan berikut.
1. Pelajari Dasar Macro
Merekam (Record Macro) dan menjalankan macro.
Membuka serta memahami kode hasil rekaman.
Mencoba mengubah bagian sederhana, seperti nama file atau lokasi penyimpanan.
2. Kuasai Dasar VBA
Memahami tipe data, variabel, kondisi (If...Then), dan perulangan (Loop).
Berlatih menggunakan contoh macro yang sudah ada, lalu memodifikasinya sesuai kebutuhan.
3. Belajar SolidWorks API
Memahami struktur objek pada SolidWorks API.
Menggunakan API Help untuk mempelajari fungsi dan metode yang tersedia.
Membuat macro yang sesuai dengan alur kerja Anda.
4. Tingkatkan ke Level Lanjutan
Membuat antarmuka menggunakan UserForm.
Menerapkan error handling yang lebih baik.
Mempelajari VSTA jika membutuhkan proyek otomatisasi yang lebih kompleks atau bekerja dalam tim pengembangan.
Butuh Lisensi SolidWorks Resmi dan Dukungan Profesional?
Untuk memanfaatkan fitur SolidWorks Macro, VBA Editor, hingga SolidWorks API secara optimal, Anda memerlukan lisensi SolidWorks resmi. Selain mendapatkan fitur yang lengkap, Anda juga memperoleh pembaruan software dan dukungan teknis yang terpercaya.
PT Grand Asia Technology merupakan reseller dan partner resmi SolidWorks di Indonesia yang telah membantu berbagai perusahaan manufaktur, engineering, dan institusi pendidikan dalam mengimplementasikan solusi SolidWorks.
Layanan yang kami sediakan meliputi:
Lisensi SolidWorks Resmi: Tersedia paket Standard, Professional, dan Premium. Kami siap membantu memilih lisensi yang paling sesuai dengan kebutuhan dan anggaran perusahaan.
Training dan Implementasi: Dapatkan pelatihan SolidWorks yang dipandu oleh engineer berpengalaman, termasuk materi SolidWorks Macro dan SolidWorks API untuk meningkatkan produktivitas tim.
Technical Support: Mulai dari instalasi, aktivasi, hingga troubleshooting, tim kami siap memberikan pendampingan agar penggunaan SolidWorks berjalan lebih optimal.
Konsultasi Gratis: Masih bingung menentukan paket atau ingin mendiskusikan kebutuhan workflow engineering Anda? Konsultasikan bersama tim kami tanpa biaya.
Hubungi PT Grand Asia Technology sekarang untuk mendapatkan informasi mengenai lisensi SolidWorks, demo produk, maupun konsultasi sesuai kebutuhan bisnis Anda.
Oleh: Tim Technical Support Grand Asia Technology Ditinjau oleh: Engineer Bersertifikat CSWP & CSWA | Reseller Resmi SolidWorks Indonesia Update terakhir: 1 September 2026
FAQ Seputar SolidWorks Macro
Apakah harus bisa pemrograman untuk menggunakan SolidWorks Macro?
Tidak. Anda dapat memanfaatkan fitur Record Macro untuk membuat macro tanpa menulis kode. Namun, mempelajari dasar-dasar VBA akan membantu jika ingin membuat macro yang lebih fleksibel dan sesuai kebutuhan.
Apakah SolidWorks Macro aman digunakan?
Ya, selama macro berasal dari sumber yang terpercaya. Sebelum menjalankan macro dari internet, sebaiknya periksa isi kodenya dan uji terlebih dahulu pada file percobaan.
Apakah SolidWorks Macro bisa digunakan di semua versi SolidWorks?
Secara umum, file macro berformat .swp dapat digunakan di hampir semua versi SolidWorks. Namun, beberapa fungsi pada SolidWorks API mungkin berbeda tergantung versi yang digunakan.
Apakah SolidWorks Macro tersedia di Student Edition?
Ya. Fitur macro juga tersedia di SolidWorks Student Edition, meskipun beberapa fitur API dapat memiliki keterbatasan dibandingkan versi komersial.
Bagaimana cara berbagi macro dengan anggota tim?
Simpan file macro .swp di folder bersama atau server perusahaan. Selanjutnya, setiap anggota tim dapat menambahkan macro tersebut ke toolbar SolidWorks sehingga semua orang menggunakan versi macro yang sama.
Apakah SolidWorks Macro dapat terintegrasi dengan Microsoft Excel?
Bisa. Dengan VBA, SolidWorks Macro dapat membaca maupun menulis data ke Microsoft Excel. Integrasi ini sering digunakan untuk membuat part dari data Excel, mengekspor BOM, atau mengotomatiskan pembuatan laporan.
Berapa lama waktu yang dibutuhkan untuk mempelajari SolidWorks Macro?
Untuk macro sederhana, biasanya diperlukan sekitar 1–2 minggu latihan. Jika ingin menguasai pembuatan macro yang lebih kompleks menggunakan SolidWorks API, waktu belajar bisa mencapai beberapa bulan tergantung intensitas latihan dan pengalaman pemrograman.
Referensi & Bacaan Lanjutan
SolidWorks Macro Help 2025 — Dokumentasi resmi Dassault Systèmes
CodeStack SolidWorks Tools — Library macro VBA gratis terlengkap
CAD Booster — Macro Basics — Tutorial pemula terbaik dalam bahasa Inggris
Artikel Terkait di Grand Asia Technology
Tutorial: Cara Membuat Rakitan di SolidWorks — Dasar-dasar assembly yang perlu dikuasai sebelum membuat macro untuk assembly
Panduan Perangkat Keras Terbaik untuk SolidWorks 2025 — Spesifikasi komputer yang optimal untuk menjalankan macro batch processing
8 Fitur Utama AI di SolidWorks 2025 — Kombinasi AI dan otomatisasi macro untuk workflow masa depan
Apa Itu SolidWorks Product Data Management — SolidWorks PDM bekerja bersama macro untuk manajemen file tingkat enterprise
Sertifikasi SolidWorks CSWA, CSWP, CSWE — Tingkatkan kompetensi resmi Anda sebagai pengguna SolidWorks



