Referensi | : | Help di Excel dan Help di LDD |
Platform | : | Excel 2003/2007 Land Development Desktop 2006 |
Lokasi File | : |
Posting kali ini merupakan janji saya yang pernah aku tulis di wall Facebook Group Land Desktop Indonesia.
Waktu itu aku berjanji untuk menulis langkah-langkah di visual basic application khususnya di program excel (VBA-Excel) agar bisa meng-akses database, membuat, mengedit ataupun meng-update object-object Land Development Desktop (LDD).
Sebelumnya mohon maaf dalam posting kali ini tidak disajikan snap shot atau print screen dari program LDD karena saya sudah tidak mempunyai program tersebut walaupun sebelumnya saya pernah membuat di VBA-Excel untuk LDD. VBA-Excel tersebut sangat membantu para drafter dalam hal otomasi penggambaran long profile, cross section dan perhitungan cut and fill. Program tersebut sudah tidak saya pakai lagi setelah saya bermigrasi ke civil 3D.
Dalam posting ini akan diuraikan tahapan-tahapan sebagai berikut:
- Setting references di VBA-Excel
- Membuat code atau macro sederhana untuk membuat object di land development desktop
Setting References di VBA-Excel
1. Jalankan program Excel, kemudain tekan tombol Alt+F11 untuk membuka Visual Basic Application Editor (Macro) atau bisa disebut VBAIDE (VBA Integrated Development Environment)
2. Di VBAIDE, klik menu [Insert] kemudian pilih [Module]. Hasil proses ini akan muncul module baru yang secara default diberi nama Module1
3. Pilih atau click Module1. Kemudian dari menu [Tool], pilih [References]. Secara default VBA-Excel akan menampilkan referenses yang sedang dipakai seperti gambar di bawah:
Pada gambar di samping reference ‘Microsoft Excel 12.0 Object Library’ dan ‘Microsoft Office 12.0 Object Library’ secara default terpilih karena saya menggunakan excel 2007.
Jika menggunakan Microsoft Office 2003, maka referencenya menjadi ‘Microsoft Excel 11.0 Object Library’ dan ‘Microsoft Office 11.0 Object Library’
4. Scroll down sampai ditemukan reference ‘AutoCAD 2006 Type Library’, click check box
5. Scroll down lagi dan pilih reference sbb:
5.1. Autodesk Civil Engineering Land 3.0 Object Library (AeccXLand30)
5.2. Autodesk Civil Engineering UI Land 3.0 Object Library (AeccXUiLand30)
5.3 AEC Base 4.7 Application Library (AecXUiBase47)
5.4 AEC Base 4.7 Object Library (AecXBase47)
6. Dari langkah 4 sampai 5 VBAIDE sudah terreferensikan dengan LDD versi 2006. Jika Anda menggunakan versi yang lain, carilah reference dengan nama seperti di atas yang membedakan hanya versi angkanya saja. Jika ada beberap program LDD terinstall, maka pilih salah satu saja. Saya tidak menyarankan beberapa program LDD beda versi terinstall dalam satu komputer karena pada saat running program biasanya ada masalah.
Membuat Code atau Visual Basic Code
1. Double click Module1 kemudian copy atau tulis syntax berikut:
Option Explicit ‘cek variable hrs sudah didefinisikan explicitly Dim acadApp As AcadApplication ‘object autocad application Dim LddApp As AeccApplication ‘object LDD application Dim actProject As AeccProject ‘object project active di LddApp Dim projDoc As AeccDocument ‘object document active di actProject ‘Fungsi untuk koneksi ke Aplikasi Autocad ‘InPut: tidak ada ‘OutPut: TRUE jika Autocad Diaktifkan Function ConnectCAD() As Boolean On Error Resume Next Set acadApp = GetObject(, “AutoCAD.Application”) If Err.Number Then MsgBox “Autocad Belum diaktifkan”, vbCritical Err.Clear ConnectCAD = False Exit Function End If ConnectCAD = True End Function ‘=====End ConnectCAD=============== ‘Fungsi untuk koneksi ke LDD 2006 Function InitializeLandDevelopment(AcadApp As AcadApplication, _ ‘========End InitializeLandDevelopment=================================== ‘Contoh Aplikasi Macro untuk Melist Station alignment Sub ListStationDariAligment() Set actProject = LddApp.ActiveProject Dim Aligns As AeccAlignments, aLg As AeccAlignment |
Fungsi yang lain, silahkan berlatih dan dikembangkan sendiri.
Dulu saya berlajar dari Help tentang vba/activex customization dan juga tidak malu untuk bertanya ke http://forums.autodesk.com/t5/AutoCAD-Land-Desktop/bd-p/83
===Selamat Mencoba===