top of page
logo GAT 7x7 cm.png

Mengenal Solidworks Macro: Otomatisasi Desain dengan Mudah

  • Writer: Jethro Jiang
    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.


Mengenal Solidworks Macro: Otomatisasi Desain dengan Mudah

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:

  1. Buka Tools.

  2. Pilih Customize.

  3. Masuk ke tab Toolbars.

  4. 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

  1. Pilih Tools → Macro → Record, atau klik tombol Record pada Macro Toolbar.

  2. 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.

  1. Klik File → Save As.

  2. Pada Save as type, pilih Adobe Portable Document Format (*.pdf).

  3. Tentukan nama file dan lokasi penyimpanan.

  4. Klik Save.

  5. 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:

  1. Pilih Tools → Macro → Stop, atau klik tombol Stop pada Macro Toolbar.

  2. Beri nama macro, misalnya ExportPDF.

  3. Simpan dengan format SW VBA Macros (*.swp).

  4. Pilih folder penyimpanan yang mudah diakses, lalu klik Save.


Langkah 5: Jalankan Macro

Untuk menguji hasilnya:

  1. Buka file drawing lain.

  2. Pilih Tools → Macro → Run.

  3. Pilih file macro .swp yang telah disimpan.

  4. 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:

  1. Klik kanan pada area toolbar SolidWorks, lalu pilih Customize.

  2. Buka tab Commands.

  3. Pada daftar kategori di sebelah kiri, pilih Macro.

  4. Klik New Macro Button, lalu seret (drag) tombol tersebut ke posisi toolbar yang diinginkan.

  5. Saat jendela Customize Macro Button muncul, lakukan pengaturan berikut:

  6. Macro: Klik tombol ..., lalu pilih file macro berformat .swp yang ingin digunakan.

  7. Method: Biarkan pengaturan default, atau isi main jika macro menggunakan prosedur Sub Main().

  8. Tooltip: Masukkan teks yang akan muncul saat kursor diarahkan ke ikon, misalnya Export ke PDF.

  9. Icon: Pilih ikon bawaan atau gunakan ikon kustom agar lebih mudah dikenali.

  10. 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:

  1. Pilih Tools → Macro → Edit.

  2. Pilih file macro berformat .swp yang telah dibuat.

  3. 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:

  1. Buka VBA Editor, lalu klik di sisi kiri baris kode untuk menambahkan Breakpoint (titik merah).

  2. Jalankan macro seperti biasa. Eksekusi akan berhenti tepat di breakpoint.

  3. Arahkan kursor ke variabel untuk melihat nilai yang sedang tersimpan.

  4. Tekan F8 (Step Into) untuk menjalankan kode satu baris demi satu baris.

  5. 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


Artikel Terkait di Grand Asia Technology



 
 
bottom of page