| Referensi | : | [XLS-MAP-03]: Plotting List Koordinat dari Excel ke AutoCAD |
| Platform | : | Excel dan AutoCAD |
| Lokasi File | : | xls-svy-007.zip |
Rencananya program ini akan saya masukkan ke program perhitungan cut and fill cross section dengan vba/macro. Tetapi mempertimbangkan bahwa untuk melakukan koneksi excel ke autocad harus menggunakan library autocad yang sesuai dengan versi autocad yang sudah terinstall, maka code koneksi ini tidak saya masukkan.
Saat saya menulis program ini, saya menggunakan AutoCAD versi 2011. Versi autocad yang lain dan cara setting di Visual Basic Application, silahkan membaca [XLS-MAP-03]: Plotting List Koordinat dari Excel ke AutoCAD di section ‘Setting Reference ke AutoCAD Library’.
Code dalam visual basic application, saya bagi menjadi dua bagian yaitu Procedure Utama dan Procedure/Function Pendukung. Procedure Utama adalah nama macro yang akan dijalankan melalui menu excel, sedangkan procedure/function pendukung adalah procedure2 yang tidak ditampilkan dalam menu macro di excel.
Procedure Utama:
| Option Explicit Dim appCAD As AcadApplication Dim acadDoc As AcadDocument Dim acadMspace As AcadModelSpace Sub PlotGarisCrossSection() ‘Buat Layer dengan nama Design ‘plot label dengan jarak baris exiting =1, design =1, tinggi huruf=0.1 |
Text warna biru adalah procedure atau function pendukung.
Procedure Pendukung (Private):
| ‘==private sub dan function==== ‘================= ’1. Objects Excel ‘================= Private Function BacaListKoordinat(rtnListXY() As Double, ByVal strTitle As String) As Boolean Dim aRange As Range, cr As Range On Error GoTo Err_Trap: ‘membaca koordinat x dan y, hasilnya disimpan di rtnListXY() Private Function GetPointInCAD(strPrompt As String) As Variant Private Sub SetLayerAktif(strNamaLayer As String) Private Sub PlotGaris2D(ListTitik() As Double, Optional Xorigin As Double = 0, Optional Yorigin As Double = 0) Dim anEntity As AcadEntity, polyExisting As AcadLWPolyline, polyDesign As AcadLWPolyline Dim i As Integer, stLine(0 To 2) As Double, edLine(0 To 2) As Double, Xmin As Double, Xmax As Double textRotation = Application.Radians(90) ‘menulis text elevasi dan jarak Next i ‘Gambar Garis Base Line stLine(0) = Xmin: edLine(0) = Xmax stLine(0) = Xmin: edLine(0) = Xmax Set anEntity = GetOneEntity(“Pilih Polyline Design”) ‘menggambar garis vertikal di layer grid design edLine(0) = stLine(0) ‘menulis text elevasi dan jarak ‘Label jarak ‘Label elevasi Next i ‘===end private sub dan function” |
Download List Program (mdlPlot2CAD.bas)
Download contoh cross section (xls-svy-007.zip)
Menjalankan Makro
1. Buka Excel yang ada di file xls-svy-007.zip dan AutoCAD
2. Pada Program Excel tekan Alt+F11 untuk membuka Microsoft Visual Basic Editor
3. Di Microsoft Visual Basic Editor, tekan Ctr+M kemudian pilih file mdlPlot2CAD.bas yang sudah didownload.
4. Setting library ke AutoCAD yang ada di komputer Anda.
5. Keluar dari Microsoft Visual Basic Editor dengan menekan Alt+Q
6. Pada file xls-svy-007.xls, tekan Alt+F8 kemudian double click macro PlotGarisCrossSection
Gunakan Mouse untuk mengeblok koordinat (offset, elevasi) Existing yaitu $Q$7:$R$57, kemudian click OK. Akan muncul kotak dialog seperti di atas lagi, untuk memilih (mengeblok) koordinat design yaitu $S$7:$T$11. Akhiri dengan click OK
7. Pindah ke program AutoCAD, jika program tidak pindah ke AutoCAD secara otomatis.
8. Di Autocad akan muncul prompt
Command: Base Point >> Click sembarang lokasi di AutoCAD
Command: Pilih Polyline Existing >> Pilih Polyline Existing di AutoCAD
Command: Pilih Polyline Design >> Pilih Polyline Design di autoCAD
9. Lakukan setting warna Layer
10. Gambar cross section di AutoCAD, lengkap dengan label offset dan elevasi
selamat mencoba
==zainul==