[CAD-CIV-08]: Mengolah Gambar Cross Section di Civil 3D #1

Referensi :
Platform : AutoCAD dan Civil 3D
Lokasi File : contoh cross dan autolisp

Pada saat pelaksanaan proyek “Soil Investigation and Detail Engineering of Duri Canal Improvement” di area kerja chevron,  tahun 2006, saya menerima banyak gambar cross section existing canal dari contractor yang harus diproses lebih lanjut untuk analisa canal capacity.

berikut adalah salah satu contoh gambar yang aku terima dari kontraktor tersebut:

image

zoom in dari kotak warna merah:

image

Saat itu saya masih menggunakan autodesk land development versi 2006 lengkap dengan civil design dengan versi yang sama.

Dengan menggunakan program bantu autolisp untuk mengkonversi gambar polyline cross section ke textfile yang berisi list offset dan elevation, proses migrasi atau transformasi dari gambar cross section ke civil design dapat dilakukan menggunakan fasilitas import existing cross section dari file ascii di civil design 2006.

Sayangnya fasilitas tersebut sudah disupport lagi di Civil 3D.

Pada tulisan berikut akan digunakan cara lain untuk melakukan konversi polyline cross section ke civil 3D. Tahapannya adalah :

  1. membuat file field book yang berisi perintah ‘survey command line’ untuk membuat titik baru sepanjang garis centerline dengan input station, offset dan elevation. Perintah ‘survey command line yang dipakai adalah :  XS EL (point) [offset] [elevation] (description)
  2. membuat FIGURE ‘centerline’, panjang figure harus disesuaikan dengan panjang station cross section yang akan diproses.
  3. Import field book yang telah dibuat pada tahap 1, untuk membuat titik detil sepanjang figure centerline.
  4. Membuat surface dari titik-titik yang telah dibuat.
  5. Memasukkan parameter design.
  6. Membuat corridor.
  7. Melakukan sampling cross section.
  8. Menampilkan cross section dengan parameter design.

1. Membuat field book dari gambar cross section

sebelum field book dibuat, pastikan bahwa polyline sepanjang existing ground (tanah asli) tidak ada yang terputus. Pastikan juga bahwa vertex bergerak dari kiri ke kanan, gunakan perintah ‘pedit’ untuk melakukan pengecekan arah pergerakan vertex sepanjang polyline.

Proses konversi ke field book, menggunakan autolisp di bawah:

(defun NamaFile()
(setq acaddoc (vla-get-activedocument (vlax-get-acad-object)))
(setq lokasifull (vla-get-fullname acaddoc))
(setq folder (substr lokasifull 1 (- (strlen lokasifull) (strlen (vla-get-name acaddoc)))))
(setq nm (vla-get-name acaddoc))
(setq nodwg (substr nm 1 (- (strlen nm) (strlen “.dwg”))))
(setq loc (strcat folder nodwg “.fbk”))
(vlax-release-object acaddoc)
(setq NamaFile loc)
)(defun c:xs()
(vl-load-com)
(setq f (open (NamaFile) “w”))
(setq vs (getreal “\nFaktor Skala Vertikal: “))
(setq ent (car(entsel “\nPilih polyline>>”)))
(write-line “AUTO ON” f);aktifkan auto numbering
(while (/= ent nil);jika ada object yang terpilih
(setq obj (vlax-ename->vla-object ent));convert entity name ke object vlisp (objec activexautomation)
(if (= (vla-get-objectname obj) “AcDbPolyline”);hanya object polyline yang akan diproses
(progn
(setq sta (getreal “\nSta :”))
(setq cs (getpoint “\ncenter cross section>>”))
(setq es (getreal “\nelevasi center line: “))
(setq xyColl (vlax-safearray->list (vlax-variant-value (vla-get-coordinates obj))));ambil koordinat
(write-line (strcat “XS ” (rtos sta 2 2)) f);set cross section yang aktif
(write-line (strcat “BEGIN ”  “\”” (rtos sta 2 2) “\””) f);memulai nama figur sesuai dengan sta
(setq i 0)
(setq dx (nth i xyColl))
(while (/= dx nil)
(setq j (+ i 1))
(setq ycs (car (cdr cs)));koordinat y centerline (Rev.1)
(setq yj (nth j xyColl));koordinat y tiap vertex (Rev.1)
(setq dz (/ (- yj ycs) vs));beda antara koordinat y centerline dan vertex dibagi faktor skala vertikal (Rev.1)
(setq elevasi (+ es dz));elevasi cross section (Rev.1)
;(setq dz (/ (nth j xyColl) vs))
(setq offset (- dx (car cs)))
;(setq elevasi (+ es (- dz (car (cdr cs)))))
(write-line (strcat “XS EL ” (rtos offset 2 2) ” ” (rtos elevasi 2 2) ” ” “\”” (rtos sta 2 2) “\””) f)
(setq i (+ j 1))
(setq dx (nth i xyColl))
);end while
(write-line (strcat “END ”  “\”” (rtos sta 2 2) “\””) f);menutup figure
(vlax-release-object obj);release memory
);end progn
(print “Bukan object polyline”)
);enf if acdbpolyline
(setq ent (car(entsel “\nPilih polyline>>”)))
);end while
(close f);menutup file
);end xs

Jika autlolisp dijalankan, isikan input yang dimaksud sebagai berikut:

commmand:xs<enter>
Faktor Skala Vertikal: 1 <enter>Pilih polyline>>Sta:elevasi centerline:
perbandingan angka penyebut antara skala horisonal dengan skala vertikal. Jika skala horisontal 1:1000 dan vertikal 1:100, maka Faktor Skala Vertikal=(1000/100)=10Click atau pilih polyline cross sectionMasukkan angka stationnya tanpa tanda plus. Jika station tertulis 9+233, masukkan angka 9233Masukkan elevasi tanah di centerline cross section atau offset=0

ulangi proses di atas, sampai semua polyline cross section terpilih.

Berikut adalah contoh hasil proses konversi tersebut dalam bentuk file format field book survey.

image

lanjut ke bagian-2

==============BERSAMBUNG ========================

Advertisement

4 thoughts on “[CAD-CIV-08]: Mengolah Gambar Cross Section di Civil 3D #1

  1. saya tertarik sekali dengan tulisan mengenai cad ini dan telah mencoba untuk mengimport file.fbk
    saya mencoba file lisp tapi waktu proses import error “current center line undefined..mohon penjelasanya pak.
    terima kasih
    Tommy

    1. error tersebut muncul karena ‘figure’ centerline belum ada.
      Jika figure sudah ada dan aktif, maka import .fbk bisa dijalankan

      Cara membuat Figure Centerline, silahkan dibaca di bagian #2

    2. saya pngn bljr lbh jauh sm bapak,tentang pengolahan data survey pak,,blh minta no hp nya pak?,,terima kasih sblm nya pak
      Redi

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s