Tag: AutoCAD

[CAD-LIS-01]: Menulis Text dari List Koordinat

Referensi :
Platform : AutoCAD
Lokasi File : File Autolisp dan contoh input data ada di sini

Dengan mengunakan program CIVIL3D, Land Development, maupun dengan program AutoCAD MAP terbaru (yang aku punya versi 2009), mengimport dan menulis text dari list koordinat sangat mudah dilakukan tanpa menggunakan program bantu baik itu lewat autolisp, visual basic application maupun dengan membuat script.

Lain halnya jika kita hanya mempunyai program autocad atau autoCAD MAP yang belum mempunyai fasilitas import point, maka program bantu akan dibutuhkan. Program yang dipakai saat ini adalah ‘AutoLisp’

Contoh input list koordinat yang digunakan adalah berupa daftar koordinat geografis (lintang, bujur) dengan elevasi diset = 0 dan kolom terakhir adalah keterangan nama titiknya.

berikut adalah code autolisp:

;;; ————————————————————————–;
;;; TOPO.LSP
;;;   (C) Copyright 2001 by zainul_ulum@cbn.net.id
;;;   edit #1: 17 April 2009

;;;
;;; ————————————————————————–;
;;;
;;;  fungsi: menulis text di autocad dari input file format csv (comma delimeted)
;;;  format input file : x,y,z,keterangan

;;;  program utama : c:xyzd
;;;  sub program yang harus ada : Lokasi, Konversi

;;;  input : file ascii comma delimeted (*.csv), tinggi huruf
;;;  output: objext text di autocad dengan style “ST_KOORD” posisi di layer “TXT_KOORD”
;;;
;;; ————————————————————————–;

(defun Lokasi (mulai text / panjang huruf posisi)
;fungsi untuk mencari lokasi delimeted
(setq panjang (strlen text))
(setq huruf “Memilih Koma”)
(while (and (/= huruf “,”)(<= mulai panjang))
(setq mulai (+ mulai 1))
(setq huruf (substr text mulai 1))
)
(setq posisi mulai)
)

(defun Konversi (text Awal long)
;fungsi untuk mengambil bagian dari text
(setq konv (substr text Awal long))
)
(print “import titik : ketik xyzd”)
(defun c:xyzd(/ counter nama file DataFile pj posisi1 posisi2 posisi3
awal1 awal2 awal3 p1 p2 p3 p4 eZ eX eY Desc tr
pntDetil myList TxtInt TxtReal
)
;membuat style baru, jika style yang dicari tidak ada
(setq counter 0)
(command “-osnap” “none”)
(if (not (tblsearch “style” “ST_KOORD”))
(progn
(command  “style” “ST_KOORD” “simplex.shx”  “” “” “” “” “” “”)
)
)
;membuat layer baru, jika layer yang dicari tidak ada
(if (not (tblsearch “layer” “TXT_KOORD”))
(progn
(command  “layer” “m” “TXT_KOORD” “”)
)
)
;set aktif layer
(command “layer” “s” “TXT_KOORD” “”)
;memilih file
(setq nama (getfiled “Pilih Pile XYZ” “” “csv” 8))
;jika user menekan tombol cancel, tdk dijalankan
(if (/= nama nil)
(progn
(setvar “cmdecho” 0)
(setq file (open nama “r”))
(setq tgHuruf (getreal “\nTinggi Huruf : “))
(setq DataFile (strcase (Read-line file)))
(while (/= DataFile ‘nil)
(setq pj (strlen DataFile))
(setq posisi1 (lokasi 1 DataFile))
(setq posisi2 (lokasi posisi1 DataFile))
(setq posisi3 (lokasi posisi2 DataFile))
(setq awal1 (+ posisi1 1))
(setq awal2 (+ posisi2 1))
(setq awal3 (+ posisi3 1))
(setq p1 (- posisi1 1))
(setq p2 (- (- posisi2 posisi1) 1))
(setq p3 (- (- posisi3 posisi2) 1))
(setq p4 (- pj posisi3))
(setq eX (Atof (Konversi DataFile 1 p1)))
(setq ey (Atof (Konversi DataFile Awal1 p2)))
(setq eZ (Atof (Konversi DataFile Awal2 p3)))
(setq Desc (Konversi DataFile Awal3 p4))
(setq pntDetil (List eX eY eZ))
(command “text” “S” “ST_KOORD” pntDetil tgHuruf “0” Desc)
(setq DataFile (Read-line file))
);end while
(close file)
(setvar “cmdecho” 1)
);progn
);end if
)

Untuk menjalankan program, saat di command prompt autoCAD, ketik ‘ap diakhir dengan ‘Enter’

Command:ap<enter>

pilih file ‘AmbilKoordinat.lsp’, click tombol ‘close’ disusul dengan tombol ‘OK’

Command:xyzd<enter>

pilih file ‘BujurLintang0desc.csv’, click ‘OK’. Saat ditanya tinggi Huruf, masukkan nilai 0.01 (karena kalo dicoba angka 1 atau 2 hasil textnya terlalu besar)