Halaman

Jumat, 31 Desember 2010

Petunjuk Operasi Program IrriCad (Procad)

Program IrriCad (Irrigation CAD)
Bagi kita yang bekerja di bidang konsultan perencanaan sumber daya air, khususnya dalam perencanaan irigasi, sudah tidak asing lagi dengan salah satu program bantu penggambaran desain IrriCad atau Procad. Program ini dibuat untuk mempermudah dalam penggambaran desain saluran, baik itu saluran irigasi maupun pembuang. Demikian juga dalam perencanaan sungai, baik pekerjaan normalisasi, tanggul, atau penggambaran profil muka air banjir. Gambar yang dihasilkan berupa gambar potongan memanjang (long section) dan potongan melintang (cross section), untuk saluran atau sungai.
Salah satu keunggulan program penggambaran ini adalah : gambar-gambar yang dihasilkan sudah mengikuti Kriteria Penggambaran (KP-07), dari Standar Perencanaan Irigasi. Input data untuk program ini cukup mudah, yaitu menggunakan form worksheet dari Microsoft Excel.
Sehingga para desainer tinggal membuat perencanaan profil memanjang saluran serta perencanaan posisi bangunan-bangunan irigasi yang diperlukan berikut dengan elevasi rencana dan kehilangan tingggi masing-masing bangunan. Salah satu keunggulan lainnya dari program ini dalam penggambaran desain potongan melintang saluran adalah perhitungan volume pekerjaan tanah yang sudah terintegrasi sehingga gambar yang dihasilkan sudah termasuk rincian volume pekerjaan tanah tiap potongan melintang saluran. Dengan program ini dapat mempercepat proses penggambaran desain dibandingkan penggambaran secara manual.
Petunjuk pengoperasian program tersebut dapat didownload disini.

Selanjutnya......

Menggambar Profil Melintang Sungai/Saluran dengan AutoLisp

Pada postingan terdahulu pernah kami sajikan sebuah tutorial untuk Menggambar Profil Tanah Asli dengan AutoLisp. Pada metode yang disajikan, input data profil melintang dilakukan secara langsung dengan mengetik data elevasi dan jarak pada Command Window. Cara tersebut cukup praktis digunakan apabila data cross section yang akan diplot tidak terlalu banyak. Seperti pada waktu kita akan menggambar profil tanah asli sebelum kita menggambar bangunan air misalnya. Sedangkan apabila cross section yang akan digambar cukup banyak, misalnya data pengukuran profil melintang sungai/saluran yang terdiri dari banyak profil, maka cara tersebut menjadi kurang praktis.
Kali ini kami sajikan sebuah program Lisp untuk menggambar profil melintang sungai/saluran/ atau tanah asli hasil pengukuran dengan menggunakan input data berupa file teks. Atau data dalam lembar kerja excel disimpan dalam file teks (*.prn). Dengan data pengukuran yang biasanya telah diolah dalam program excel selanjutnya akan lebih mudah dijadikan file teks tanpa mengetik kembali data yang diperlukan.

List programnya adalah sebagai berikut:
;========================================
;            < cross-sungai.lsp >        
;            ** crss **                  
;      plot data cross sungai            
;         20 September 2003              
;========================================

(defun c:crss ()
  (setvar "dimzin" 1)
  (setvar "blipmode" 1)
  (setvar "cmdecho" 1)
(princ "\n Format data <10><10>: B1:<No Patok> B2<Datum> B3<Jarak - Elv> ")
(setq p0 (getpoint "\nTitik Awal Gambar Cross  : "))
(setq p00a (polar p0 (* 1.5 pi) 150))
(setq p00b (polar p0 (* 1.5 pi) 300))
  (setvar "dimzin" 0)
  (setvar "blipmode" 0)
  (setvar "cmdecho" 0)

;=======================
; skala gambar          
;=======================
;  (setq ssv (getreal "\nSkala Vertikal    < 100 200 : 100 >?:"))
  (setq ssv 100)
  (setq ssh 100)
  (if (equal ssv nil)
    (setq scy 100.0)
    (setq scy ssv)
  )
  ;(setq ssh (getreal "\nSkala Horizontal  < 100 200 500 : 100 >?:"))
  (if (equal ssh nil)
    (setq scx 100.0)
    (setq scx ssh)
  )
  (setq scv (/ 1000 scy)
sch (/ 1000 scx)
  )

;======== INPUT FILE DATA ++++
(setq fnam1 "/Procad/Data/")
(setq fnam2 "*.prn")

(setq lastLL 2 lastRR 5)
(setq f (getstring (strcat "\nFile Input Data Cross c:/procad/data/ < " fnam2 " > ? : ")))
(if (/= f "") (setq fnam2 f))
(setq fnam (strcat fnam1 fnam2))
(setq check (findfile fnam))
(while (= check nil) (prompt "\nFile Not Found .....! ")
  (setq f (getstring (strcat "\nFile Input Data Cross c:/procad/data/ < " fnam2 " > ? : ")))
    (if (/= f "") (setq fnam2 f))
     (setq fnam (strcat fnam1 fnam2))
      (setq check (findfile fnam))
        ) ; while
;===================================================================
;====== BACA DATA ======================================== BARIS 1 =
(setq fp (open fnam "r"))
(setq file (read-line fp)) ; baris 1 no. patok
(if (= file "") (setq file nil))
(if (= file nil) (setq stop 1) (setq stop 0))
(setq noptk (atof (substr file 11 10))) ; No.patok
(setq file (read-line fp)) ; baris 2 
(setq eldat (atof (substr file 11 10))) ; Elevasi datum
(setq file (read-line fp)) ; baris 3 
(setq file (read-line fp)) ; baris 4 
(setq jar0 (atof (substr file 1  10))) ; jarak datar 0
(setq elt1 (atof (substr file 11 10))) ; elevasi titik pertama

  (setq p01 (polar p0 (* 0.5 pi) (* (- elt1 eldat) scv)))
  (command "color" 20 "-linetype" "s" "dashed2" "")
  (command "line" p0 p01 "")
  (command "color" 20 "-linetype" "s" "continuous" "")
  (command "line" p0 (polar p0 (* 1.5 pi) 20) "")
  (command "color" 7)
  (setq p01tx (polar p0 (* 1.5 pi) 5))
  (setq p50 (polar p0 pi 20))
  (setq p51 (polar p0 pi 30))
  (setq p52 (polar p51 (* 1.5 pi) 5))
  (setq p53 (polar p52 (* 1.5 pi) 10))
  (setq p54 (polar p0 pi 33))
  (setq p55 (polar p54 (* 1.5 pi) 10))
  (setq p56 (polar p55 (* 1.5 pi) 10))
  (command "text" "j" "tc" '(346.0 113.0) "3.5" 0 (strcat "P." (rtos noptk 2 0)))
  (command "text" "j" "tc" p01tx "2.5" 90 (rtos elt1 2 2))
  (if (> eldat 0)
  (command "text" "j" "bl" p51 "2.5" 0 (strcat "+" (rtos eldat 2 2) " m"))
  (command "text" "j" "bl" p51 "2.5" 0 (strcat (rtos eldat 2 2) " m"))
  );if
  (command "text" "j" "ml" p52 "2.5" 0 "ELEVASI (m)")
  (command "text" "j" "ml" p53 "2.5" 0 "JARAK  (m)")
  (command "color" 50 "-linetype" "s" "continuous" "")
  (command "line" p0 p54 "")
  (command "color" 20 "-linetype" "s" "continuous" "")
  (command "line" p55 (polar p55 (* 0.0 pi) 33) "")
  (command "line" p56 (polar p56 (* 0.0 pi) 33) "")
  (command "line" p54 p56 "")

(setq file (read-line fp)) ; baris 4 
(setq jar1 (atof (substr file 1  10))) ; jarak datar 1
(setq elt  (atof (substr file 11 10))) ; elevasi titik pertama
;====
  (if (= jar1 "")
    (setq jar1 nil)
  )
  (if (= jar1 nil)
    (setq stop 1)
    (setq stop 0)
  )
  (while (= stop 0)
  (setq jar (- jar1 jar0))
    (setq jar0 jar1)
    (setq p2  (polar p0 0 (* jar sch))
  p21 (polar p2 (* 0.5 pi) (* (- elt eldat) scv))
    )
    (command "color" 20 "-linetype" "s" "dashed2" "")
    (command "line" p2 p21 "")
    (command "color" 20 "-linetype" "s" "continuous" "")
    (command "line" p01 p21 "")
    (command "color" 50 "-linetype" "s" "continuous" "")
    (command "line" p0 p2 "")
    (command "color" 20 "-linetype" "s" "continuous" "")
    (command "line"
     (polar p0 (* 1.5 pi) 10)
     (polar p2 (* 1.5 pi) 10)
     ""
    )
    (command "line"
     (polar p0 (* 1.5 pi) 20)
     (polar p2 (* 1.5 pi) 20)
     ""
    )

    (setq p22 (polar p2 (* 1.5 pi) 20))
    (command "line" p2 p22 "")
    (setq p2tx1 (polar p2 (* 1.5 pi) 5)
  p2tx3 (polar p0 0 (* (/ jar 2) sch))
  p2tx2 (polar p2tx3 (* 1.5 pi) 15)
    )
(if (< (* jar sch) 10) 
    (setq sdttx2 90) (setq sdttx2 0))
    
    (command "color" 7)
    (command "text" "j" "bc" p2tx1 "2.5" 90 (rtos elt 2 2))
    (command "text" "j" "mc" p2tx2 "3.0" sdttx2 (rtos jar 2 2))
    (setq p0 p2)
    (setq p01 p21)

(setq file (read-line fp)) ; baris 5 dst
(setq jar1 (atof (substr file 1  10))) ; jarak datar 1
(setq elt  (atof (substr file 11 10))) ; elevasi titik pertama
;plot patok
    (if (= jar1 "")
      (setq jar1 nil)
    )
    (if (= jar1 nil)
      (setq stop 1)
      (setq stop 0)
    )
  ) ;while

(close fp)
)
;;defun

Berikut langkah-langkah menggunakan program ini :
1. Copy dan paste list program diatas di note pad atau di program AutoLisp, simpan dengan nama cross-sungai.lsp atau langsung download program autolisp yang sudah saya siapkan (cross-sungai.lsp ) dan tempatkan di folder yang anda pilih 
2. Buat file input data dengan excel sebagai berikut :
• Buka lembar kerja baru dalam excel
• Edit lebar kolom A dan B menjadi 10 dengan cara (select kolom A dan B > Format> column width> 10> OK)
• Pada cell A1 : isi dengan nomor patok, misalnya : P1
• Pada cell A2 : isi dengan elevasi datum (bidang referensi) dari gambar cross section. (ambil elevasi terendah dari data yang akan digambar (mis:13.45), kurangi dengan 3 sampai 5 dan ambil harga bulat, (misalnya diambil nilai datum 10.00))
• Pada cell A3 : ketik "Jarak datar"
• Pada cell B3 : ketik "Elevasi"
• Pada baris ke-4,5,6..... dan seterusnya isilah dengan data cross section, yang berupa jarak datar (jarak kumulatif dari kiri ke kanan, jarak datar pertama = 0) di kolom A, dan elevasi di kolom B.
(Contoh input file excel dapat anda download disini)
• Selanjutnya simpan data dalam bentuk file teks dengan cara : 
File> Save as> (pada save as type cari pilihan “formatted text (*.prn)”> ketik nama file (mis:cross-1.prn) > simpan file di lokasi folder (C:/Procad/data/), kalau belum ada folder tersebut buatlah terlebih dahulu.
 
3. Dari program AutoCad, selanjutnya Load program dengan cara : Klik menu Tools> Load Application> cross-sungai.lsp (cari di folder tempat anda menempatkan file)> Load> Close
4. Pada Command Window di Auto CAD ketik “crss” lalu tekan
5. Selanjutnya masukkan nama file input data yang diminta di command window (mis: cross-1.prn). Maka cross section akan tergambar.

Selanjutnya......