coretan tentang autocad dan excel

April 17, 2009

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

Filed under: AutoCAD — Tags: — cadex @ 17:39
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)

3 Comments »

  1. […] import point dengan autolisp […]

    Pingback by [XLS-MAP-03]: Plotting List Koordinat dari Excel ke AutoCAD « coretan tentang autocad dan excel — October 25, 2010 @ 22:39

  2. Saya sering buka artikel mas zaeinul di website. Mas Zaenul memang hebat, top markotop saya seneng. Saya sudah pernah ketemu dengan mas Zaenul waktu pengukuran di Dente lampung bantu pak Topo semarang. Mas aku kepingin diajari program sederhana interaktif antara Autocad dan Database, atau Excell prosedur yang simpel saja mas. pakai Visual Lisp atau VBA. Maturnuwun Mas Semoga makin Sukses.

    Comment by Sunarto Semarang. — February 5, 2012 @ 17:38


RSS feed for comments on this post. TrackBack URI

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 )

Twitter picture

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

Facebook photo

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

Google+ photo

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

Connecting to %s

Blog at WordPress.com.

%d bloggers like this: