Autocad, program ini dirancang khusus untuk kegunaan pada Autocad, diluar Autocad program ini tidak bisa
digunakan. Manfaat lain Autolisp adalah bisa mempersingkat proses kerja seorang drafter, apabila seorang drafter
akan melakukan editing suatu objek, dengan menggunakan properties, umpamanya proses yang dibutuhkan sekitar
5 tahapan, tapi dengan menggunakan bantuan suatu program Autolisp, maka tahapan proses bisa dipersingkat
menjadi 2 kali tahapan, dan tahapan prosesnya bisa sekehendak pembuat program.
Fungsi bawaan dari Autocad biasanya kurang memenuhi selera dari pemakai, dengan kemampuan seseorang bisa
membuat program, maka segala sesuatu yang berada pada program Autocad tersebut bisa dirubah sekehendak
programernya. Umpamanya tampilan untuk menu, menu pull down, membuat ikon, program khusus yang bawaannya
tidak atau belum dilengkapi.
Autolisp sebenarnya sebuah program yang paling mudah dimengerti, mudah dipelajari dan paling praktis dipakai
pada Autocad. Sederhana saat aplikasi di Autocad , tidak berbelit-belit, tahapan pakainya singkat, sehingga program
Autolisp ini sangat digemari oleh para pemakai Autocad di seluruh dunia, dan mejadikan Autocad lebih populer
dibandingkan program cad yang lain.
Penulis akan memaparkan program ini secara jelas dan detil, bagaimana program Autolisp dibuat, dan bagaimana
memahami program bekerja, serta mencari kekeliruan pada program yang telah dibuat, dan contoh program yang
sudah jadi untuk aplikasi pada pekerjaan sehari-hari . Program ini untuk applikasi pada Autocad rilis 2005, apabila
digunakan pada rilis yang lebih tinggi atau lebih rendah, ada kemungkinan beberapa program tertentu tidak bisa
jalan.
Sementara tutorial ini hanya akan memaparkan program Autolisp konvensional , tidak akan mengupas program DCL
atau Dialog Control Language, maupun menambah Autolisp ActiveX , Autolisp reactor, tujuan penulis agar pembaca
lebih memahami program dasar Autolisp dulu, dan menjadikan lebih mahir ketika membuat program yang sederhana,
untuk kebutuhan intern pembaca.
Sangat dianjurkan bagi pembaca tutorial ini, terlebih dahulu harus menguasai program Autocad, sebelum
menjalankan program Autolisp, karena apabila anda tidak mengerti sama sekali tentang Autocad, niscaya akan
menemui kesulitan bila memaksakan mempelajari tutorial ini, dan apabila anda setelah membaca tutorial ini masih
mendapat kesulitan, ketika akan mengaplikasikannya , segera menghubungi penulis dengan alamat.
1). mteybid@yuasabattery.co.id
2). adesu@telkom.net
3). adesu_cad@yahoo.com
Aktif di forum sangat dianjurkan, khususnya yang berhubungan dengan Autolisp, dengan anda aktif di suatu forum
yang membahas perihal Autolisp, maka anda bisa menanyakan kepada seseorang ataupun sekelompok,
permasalahan yang anda hadapi, pertanyaan anda akan tersebar keseluruh dunia maya, hal ini akan dibaca oleh
programmer pemula maupun yang sudah mahir, yang pasti jawaban dari mereka akan anda dapat dengan beragam
pendapat. Dan seandainya anda telah menguasai program ini, tentu saja anda bisa membantu seseorang yang
merasa kesulitan ketika membuat sebuah program, kemampuan anda akan di hargai oleh orang lain.
1.1 Sejarah Autolisp
Autodesk mulai menyisipkan Autolisp pada Autocad versi 2.18 atau rilis 6 pada Januari 1986, pada rilis ini belum
dilengkapi Autolisp editor, bila anda ingin mengoreksi program Autolisp harus dilakukan melalui program notepad,
mulai pada rilis 2000 dilengkapi dengan editor untuk Autolisp, dengan sarana ini pengerjaan dan editing program
Autolisp semakin mudah.
Bahasa Autolisp asal muasalnya adalah dari bahasa Artificial Intelligence (AI), sekitar tahun 1950-an. Autodesk
membeli program ini dan dinamai Visual LISP, dengan diaplikasikan di Autocad program tersebut lebih popular
dengan nama Autolisp.
Program AutoLisp berasal dari versi pertama XLISP, yang dibuat oleh David Betz. Lisp adalah singkatan dari LISt
Processor atau dengan kata lain bisa berupa Lost In Silly Parenthesis, lisp adalah program bahasa yang
dikembangkan oleh MIT pada tahun 1956.
AutoLISP adalah sebuah bahasa program yang dirancang untuk memperluas dan multiguna pada fungsi AutoCAD.
Inti dasarnya dari bahasa program LISP, bermula sekitar tahun 1950, aslinya LISP dirancang untuk aplikasi Artificial
Intelligence (AI), dan masih berbasis untuk semua aplikasi AI. AutoCAD mulai memperkenalkan AutoLISP sebagai
program aplikasi antar muka atau interface pada rilis 2.1, pertengahan 1980. LISP telah dipilih sebagai awal
AutoCAD API , sebab ia mempunyai keunikan untuk proses perancangan tak berstruktur pada proyek AutoCAD,
yang melibatkan mencoba ulang perbedaan solusi pada masalah desain.
Visual LISP® (VLISP) adalah sebuah software tool yang dirancang untuk menyelesaikan pembentukan program
AutoLISP . VLISP Integrated Development Environment atau VLIDE adalah sarana untuk membuat, modifikasi ,
mencoba dan meload program, VLISP bisa dikata merupakan sebuah kendaraan untuk menyerahkan program
aplikasi di dalam Autolips.
1.2 Kelebihan Autolisp
1. Mampu mengakses sifat objek lebih komplit pada gambar tunggal
2. Sangat mudah untuk menjalankan dan menguji program.
3. Mudah mengakses program.
4. Tidak membutuhkan untuk mendeklarasikan dimensi variabel.
5. Sangat mudah mengerjakan dengan titik dan geometri
6. Sangat fleksibel pada perubahan variabel yang dinamis
7. Mudah membuat kode dan menjalankan
8. Tidak dibutuhkan penanganan khusus, library luar, atau variasi antar platform
9. Dapat dijalankan pada Windows/Dos/Unix dll dengan data file yang sama
10. Autolisp sangat bermanfaat pada proses array.
1.3 Kekurangan Autolisp
1. Hanya bekerja pada AutoCAD
2. Tidak bisa menampilkan dialog box
3. Proses bekerja program agak lambat bila dibandingkan dengan VBA.
1.4. Manfaat Autolisp
Manfaat Autolisp pada Autocad meliputi;
1.4.1. Bisa mempersingkat tahapan proses pada saat editing
1.4.2. Menyederhakan gambar kerja yang sering diulang
1.4.3. Bisa melengkapi program aplikasi yang belum lengkap
1.4.4. Mampu mengerjakan pekerjaan rumit, seperti kalkulasi, mencari objek dan manipulasi.
1.4.5. Bisa mempersingkat bekerja bagi seorang drafter.
1.4.6. Bisa membuat gambar menjadi demonstrative.
1.4.7. Bisa merubah tampilan menu, sekehendak pembuatnya.
Pengenalan editor visual lisp
Permulaan untuk menjalankan sebuah program Autolisp, adalah anda harus jalankan dulu program Autocad, ada
dua cara untuk menuju dan membuka editor visual lisp. Pertama melalui perintah command, ketik “vlide” langsung
pada command prompt, teknik kedua melalui menuTool>AutoLISP>Visual Lisp Editor.
Maka akan muncul seperti gambar dibawah ini (klik untuk memperbesar).
Keterangan Tabel: Perubahan warna huruf ketika dibuat di Visual Lisp Console (klik untuk melihat gambar besarnya)
Meloading program
Ada dua cara untuk meloading sebuah program, kedalam sesi Autocad, serta ada yang permanen dan ada pula yang
sementara.
Permanen
Untuk yang permanen ikuti petunjuk, anda dapat mengakses menu AutoCAD tools>load application… Ini akan
membuka kotak dialog load/unload application.
Langkah selanjutnya adalah lakukan klik pada tombol “Contents..” yang akan membuka dialog startup suite. Tekan
tombol “Add”, lakukan pencarian dimana disimpannya file yang anda simpan tersebut, setelah ketemu, tekan add dan
tekan selanjutnya close sampai dialog tersebut tutup.
Pada sesi lain, lakukan untuk menetapkan agar Autocad selalu membaca ketika setiap saat dibuka, arahkan kursor
ke menu “Tools”, kemudian pilih “Options” dan di klik, akan timbul dialog Options.
Pilih tanda”+” dan di klik pada “Support File Search Path”, folder tersebut akan terurai kebawah, disebelah kanan
dialog cari tombol add yang berada dibawah tombol browse, kemudian lakukan tekan tombol “Add”, bagian akhir atau
paling bawah support file search path tadi , akan terbentuk sejenis kotak kosong, tekan lagi tombol ”Browse” maka
dialog berikutnya akan muncul, cari lagi file yang anda simpan, tetapi disini bukan mencari filenya, hanya mencari
lokasi folder tempat file tersebut disimpan, setelah diketemukan tekan tombol ok, dan lanjutkan dengan menekan
tombol “Apply” ikuti dengan tekan tombol “OK”.
Sementara
Meloading kode untuk sementara, yaitu dengan cara , buka “visual lisp console editor”, buka file “Test.lsp”, setelah
terbuka cari ikon yang bernama “Load active edit window”, tekan tombol tersebut, dan seketika editor berubah ke
“Visual lisp console”, dengan menampilkan
; 1 form loaded from #
_$
Keterangan diatas menyatakan, bahwa pada drive F dengan folder Test, dan nama file Autolispnya Test.LSP, telah
dilakukan loading.
Ini bukti bahwa anda telah meload sebuah program, ke Autocad seperti nama yang terlampir di atas.
Mencoba program
Sekarang Autocad sudah siap untuk menerima perintah yang anda masukan, yang harus diketahui oleh setiap
pemakai cad, adalah perintah apa yang harus dimasukkan ke command prompt, kembali lagi kita ke kode Autolisp
yang telah ditulis.
Keterangan gambar: Tanda panah menunjukan nama kode dari program itu.
Lihat tanda panah warna biru, menunjuk pada kata “test”, selalu diletakkan setelah kata “c:”, itu adalah kode yang
harus anda ingat , ketika akan menguji sebuah program.
Ketik kata “test” pada command prompt, lanjutkan dengan menekan tombol enter, amati hasilnya dan apa yang
terjadi, seketika timbul di layar monitor sebuah garis lurus , dari kordinat 0,0 sampai dengan kordinat 10,0
Amati kode di gambar tutorial sebelumnya, program tersebut menunjukkan pada kita, bahwa program itu sedang
membuat garis dari kordinat “0,0,0” ke kordinat “10,0,0”, dengan menggunakan variabel p1 dan p2, perintah Autocad
menjalankan berdasarkan masukkan dari variabel tersebut.
Baris pertama dari gambar 2.010, adalah “ (defun c:test (/ p1 p2) ”, program Autolisp selalu didahului oleh kurung
buka, kemudian diikuti fungsi lain, disini terdapat kata “ defun ”, uraian lengkap telah dibahas pada posting
ini: penentu fungsi, setelah kata “ c: ” ada tulisan “ test ”, kata ini boleh diganti sesuka pembuatnya, yang penting
kata untuk pemanggil program ini jangan sampai bentrok dengan kata yang terdapat pada command alias pada
Autocad, lihat pada attachment ini.
Tentu saja ada beberapa program yang bentuknya agak lain, misalnya:
(defun c:test ()
Variabel yang terkandung didalamnya, dengan sengaja tidak di riset menjadi nol, dengan tujuan tertentu variabel
dijadikan global variabel.
(defun c:test (/)
Kasusnya hampir sama dengan sebelumnya, hanya ada penambahan garis miring saja, tetapi kegunaannya tidak
begitu berpengaruh pada program tersebut.
(defun c:test (/ p1 p2)
Dan pada baris ketiga terdapat local variable p1 dan p2, sengaja dicantumkan disitu agar variable tersebut setelah
program dijalankan nilai variabel p1 dan p2 akan menjadi nol atau nil.
(defun c:test (a b c / p1 p2)
Serta yang terakhir mengandung huruf a, b dan c. telah diuraikan lebih jelas pada penentu fungsi.
Berikutnya baris (setq p1 ‘(0 0 0)), ini artinya variabel yang bernama p1 minta diset ke nilai 0,0,0 pada kordinat di
area gambar, anda boleh saja menamai variabel tersebut sesuka anda, yang penting antar variabel jangan sampai
terjadi duplikat nama, nanti akan membingungkan Autocad sendiri. Setq adalah singkatan dari Set to Quote, atau
minta diset ke nilai tertentu untuk variabel yang bernama “anu”, persamaan tersebut bisa juga berbetuk lain,
contohnya (setq p1 (list 0 0 0)), antara quote atau “ ‘ “ dan list adalah pengertiannya sama, jadi anda bisa menulis
‘(0 0 0)’ ataupun (list 0 0 0), lihat dibawah ini.
Keterangan gambar: Contoh bentuk lain menulis program
Poin “(setq p2 ‘(10 0 0))” tidak perlu dibahas karena sudah tercakup pada uraian diatas, baris berikutnya terdapat
“ (command “_line” p1 p2 “”) “, ini artinya menjelaskan kepada Autocad agar dilakukan perintah pembuatan
sebuah garis dari variabel p1 ke variabel p2, sedang tanda “” adalah sama dengan tekan enter. Baris berikutnya “
(princ) “ ini menjelaskan setelah program tersebut bekerja , akan keluar dengan tenang, terakhir setiap program
harus ditutup oleh kurung tutup.
Autolisp adalah program bahasa computer yang paling banyak menggunakan kurung kurawal, hati-hati penggunaan
kurung kurawal ini, karena semua programmer Autolisp sering menemui kekeliruan hanya pada kekurangan atau
kelebihan kurung kurawal, tetapi kadang kala kesalahan sedikit membuat program menjadi tidak bisa bekerja,
ataupun sulit menganalisa letak kesalahannya.
Kesalahan membuat program merupakan pekerjaan rutin setiap programer , tanpa disengaja program yang dibuat
kadang kala mengandung kekeliruan, entah kekeliruan itu disengaja atau karena keliru menempatkan kode,
kekeliruan ini sering membuat seorang programmer menjadi bingung sendiri, apalagi kalau pengetahuan mengenai
cara mencari solusinya masih kurang, akan menjadi boomerang bagi dirinya sendiri, termasuk penulis sendiri ketika
membuat program, sulit memecahkan kekeliruan itu, akhirnya program tersebut ditinggal. Aktip di forum adalah salah
satu solusi yang paling jitu, seseorang yang mengerti Autolisp tampa dibantu itu, niscaya akan banyak menemui
kesulitan, karena satu persoalan yang kita hadapi , bila di pertanyakan pada forum terkait akan mendapat respon
yang luar biasa, sebab di forum akan dibaca oleh semua orang yang berada di seluruh dunia.
Untuk mencoba sebuah program yang salah, akan kita praktekan dan sebagai sampelnya, kita ambil dari gambar ini,
perlu diketahui proses memeriksa kode yang salah ada beberapa cara. Dengan caraindividual artinya memeriksa
baris demi baris, dan cara global artinya setelah program selesai seluruhnya, satu lagi melalui check text in
editor ini mengecek keseluruhan program, dibawah ini kita akan mulai secara bertahap proses melihat kekeliruan
dari sebuah program , dengan berbagai cara , sebaiknya harus mengetahui dulu ikon mana saja yang bisa dipakai
untuk memeriksa kode tersebut, untuk lebih jelasnya lihat fungsi ikon dibawah ini.
Cara individual
Keterangan gambar: Perlakuan dari gambar hasil test, semua kode menjadi di blok
Disini kita masih bingung karena seluruh program dalam keadaan di blok tanpa menunjukan letak kesalahan, ini
artinya kekeliruan di program tersebut berada diseluruh program.
Tetapi anda jangan mudah menyerah, amati lagi hasil pengujian tadi, disitu tertulis kata “ error: bad DEFUN syntax:
(C: TEST (/ P1 P2)(SETQ P1 ( … )) … ) ”, artinya kekeliruan berada pada pesan itu, amati dengan jeli , apakah
sintak menulis program sudah sesuai dengan aturan yang telah ditulis di atas.
Sebagai acuan, bila menulis kode “ c:test “, jangan menggunakan spasi antara huruf “c” dengan huruf “ : “
serta dengan nama panggilan untuk kode ( test) tersebut.
Lanjutkan dengan contoh lain, kita akan coba bagaimana kalau salah satu kurung tutupnya dikurangi satu, dan
melihat apa yang terjadi.
Cara manual
Perhatikan dari gambar berikut, dari gambar tersebut hanya terdapat dua buah variabel, yaitu variabel p1 dan p2,
pembuat program tidak akan mendapat kesulitan untuk mengindentifikasi setiap programnya, tetapi bila program
tersebut sudah menjadi komplek , tentu hal ini akan menyulitkan dirinya sendiri, kemungkinan ada beberapa variabel
yang belum terdata, sehingga variabel tersebut akan menjadi global variabel.
Cara otomatis
Dengan menggunakan cara otomatis, untuk mengindentifikasi jumlah dan nama variabel, dan untuk menghindari dari
kekeliruan, variabel yang berada dalam kurung atau “ (/ p1 p2) ”, terlebih dahulu dihapus kemudian ikuti langkah
dibawah ini.
Dari gambar 2. 011 blok semua kode tersebut , sampai kode itu ditutupi warna biru, di klik tombol Tools kemudian
ikuti dengan tombol Check Selection, hasilnya akan segera tampil.
FUNGSI MATEMATIK
Tambah
Dalam teori matematika menambahkan bilangan “ + “ , selalu ditempatkan ditengah angka yang akan ditambahkan,
contoh 1 + 1 tanda “ + ” selalu ditempatkan diantara bilangan, tetapi lain lagi kalau untuk program Autolisp,
menempatkan tanda fungsi selalu ditempatkan di bagian paling depan
Fungsi matematika Fungsi Autolisp
1+1 (+ 1 2)
Kurang
Kurang adalah fungsi untuk mengurangi, mungkin pembaca pasti bertanya, kenapa tidak diganti dengan istilah “ min
“, penulis sengaja tidak mengganti agar tidak terjadi silang pendapat, karena dalam program Autolisp ada juga fungsi
yang bernama min, yang artinya lain lagi.
Fungsi matematika Fungsi Autolisp
2–1 (- 2 1 )
Kali
Fungsi matematika Fungsi Autolisp
2x3 (* 2 3 )
Bagi
Fungsi matematika Fungsi Autolisp
2/3 (/ 2 3 )
Sama dengan
Fungsi matematika Fungsi Autolisp
2=2 (= 2 2 )
Tidak sama dengan
Fungsi matematika Fungsi Autolisp
2 /= 3 (/= 2 3 )
Lebih kecil
Fungsi matematika Fungsi Autolisp
2<3 (< 2 3 )
Lebih kecil atau sama dengan
Fungsi matematika Fungsi Autolisp
2 <= 3 (<= 2 3 )
Lebih besar
Fungsi matematika Fungsi Autolisp
3>2 (> 3 2 )
Lebih besar atau sama dengan
Fungsi matematika Fungsi Autolisp
3 >= 3 (>= 3 3 )
Bitwise
Fungsi matematika Fungsi Autolisp
(~ 2 )
Penambahan
Fungsi matematika Fungsi Autolisp
(1+ )
Pengurangan
Fungsi matematika Fungsi Autolisp
(1- )
Gcd
Fungsi matematika Fungsi Autolisp
(gcd 81 57) => 3
Abs
Fungsi matematika Fungsi Autolisp
(abs 100) => 100
(abs -100) => 100
(abs -99.25) => 99.25
Lsh
Fungsi ini sangat jarang dipakai pada program.
Fungsi matematika Fungsi Autolisp
(lsh 2 1) => 4
Max
Max berfungsi untuk mencari nilai angka yang terbesar.
Fungsi matematika Fungsi Autolisp
(max 4.07 -144) => 144
Min
Min berfungsi untuk mencari nilai angka yang terkecil.
Fungsi matematika Fungsi Autolisp
(min 4.07 -144) => 4.07
Minusp
Fungsi matematika Fungsi Autolisp
(minusp -4.293) => T
Rem
Membagi bilangan pertama oleh bilangan kedua dan menghasilkan sisa bilangan, dengan rincian sebagai berikut 42 /
12 = sisa 6
Fungsi matematika Fungsi Autolisp
(rem 42 12) => 6
Zerop
Memastikan bahwa bilangan itu dievaluasi ke nol.
Fungsi matematika Fungsi Autolisp
(zerop 0.0) => T
FUNGSI KONVERSI
Angtof
Angtof adalah merubah dari nilai derajat ke nilai tertentu, tergantung dari variabel yang dicantumkan dibelakangnya,
format untuk angtof adalah
(angtof “nilai derajat” variabel)
nilai variabel adalah sebagai berikut.
0 untuk derajat
1 untuk derajat/menit/detik
2 untuk gradian
3 untuk radian
4 untuk surveyor
Keterangan gambar: Atof merubah dari pakai tanda petik menjadi polos.
Atoi
Atoi adalah fungsi untuk menghilangkan tanda kutip pada bilangan dan menjadi bilangan bulat, menuju ke nilai
terkecil.
Keterangan gambar: Atoi merubah dari pakai tanda petik menjadi polos.
Chr
Chr adalah sebuah fungsi untuk merubah bilangan bulat menjadi sebuah abjad tertentu sesuai dengan table yang
ada pada ASCII
Keterangan gambar: Merubah bilangan integer tanpa tanda kutip menjadi bertanda kutip.
Rtos
Merubah bilangan real (mengandung koma) tanpa tanda kutip menjadi pakai tanda kutip.
(rtos “nilai angka” variabel presisi)
0 untuk scientific
1 untuk desimal
2 untuk engineering (biasanya feet atau inch)
3 untuk architecttur (biasanya feet dan pecahan inch)
4 untuk fractional
Keterangan gambar: Merubah bilangan integer atau bulat menjadi bertanda kutip.
Trans
Merubah nilai poin dari kordinat ke kordinat lain, dengan sintak rumusan seperti dibawah ini.
(trans pt from to [disp])
pt = kordinat dalam bentuk 3d
from = dimana 0 = WCS, 1 = UCS, 2 = DCS, 3 = DCS dalam paper space
to = kordinat dalam bentuk 3d
FUNGSI GEOMETRI
Angle
Menghitung besarnya sudut antara dua titik, dengan hasil dalam nilai radian.
Keterangan gambar: Menentukan atau mencari titik pada dua garis yang bersinggungan.
Polar
Polar digunakan untuk mendapatkan lokasi tertentu, dengan bantuan variabel asal , serta nilai sudut dalam radian
untuk menentukan arah , beserta nilai jarak antara variabel asal sampai dengan lokasi yang diinginkan. Untuk
mendapatkan rumusan polar gunakan seperti ini
(polar pt ang dist)
pt = lokasi asal
ang = sudut dalam nilai radian
dist = jarak antara lokasi asal sampai yang dituju.
Keterangan gambar: Fungsi atan yang menggunakan satu dan dua angka.
Exp
Mencari nilai bilangan natural pada suatu bilangan.
Keterangan gambar: Exponen dari suatu bilangan.
Log
Log adalah mencari logaritma dari bilangan real.
Keterangan gambar: Logand sebuah fungsi yang jarang dipakai tapi punya kegunaan yang sangat tinggi.
Keterangan gambar: Contoh kegunaan logand yang digabung dengan fungsi command.
Logior
Mencari logika bitwise OR dari daftar bilangan bulat.
Keterangan gambar: Fungsi car yang digabung dengan entsel akan mendapatkan nama entity dari objek .
Entsel dengan cdr
Dan kalau menginginkan hanya hasil terakhirnya saja, atau letak kordinat ketika kursor di klik, gantilah “car” menjadi
“cdr”, cdr adalah pengertian dari Contents of the Decrement Register, ikuti seperti ini.
Keterangan gambar: Ketika fungsi cdr digabung dengan fungsi entsel, akan mendapatkan lokasi ketika kursor
mengenai objek.
Entlast
Mendapatkan nama entity yang terakhir dibuat oleh fungsi command, dari kode yang terdapat pada gambar 6.063 ,
setelah program command berakhir tambahkan ” (setq el (entlast)) “.
Keterangan gambar: Entlast adalah sebuah fungsi yang didapat setelah Autocad melakukan fungsi pengerjaan.
Entlast adalah dari kata Entity last, fungsi ini banyak sekali digunakan dalam program Autolisp, khususnya setelah
Autocad membuat sesuatu.
Getpoint
Selain bentuk quote atau ” ‘ “, untuk mendapatkan nilai suatu kordinat , bisa digunakan getpoint, getpoint bisa dipakai
dua cara , pertama setelah pertanyaan tersebut muncul langsung diklik di area gambar, kedua langsung masukan
kordinat pada pertanyaan tersebut.
Bentuk syntax untuk getpoint adalah
(getpoint keterangan)
Keterangan gambar: Getpoint ketika dicoba dengan menggunakan kursor sebagai data input akan menampilkan
kordinat.
Keterangan gambar: Data getpoint ketika memasukan input melalui pengetikan bukan data dari kursor.
Getpoint dengan variabel
Bentuk syntax untuk getpoint adalah
(getpoint keterangan)
Getpoint berfungsi untuk mendapatkan poin atau kordinat di area gambar, pada gambar di bawah terlihat setelah
kata getpoint diikuti dengan p1, ini tujuannya agar garis tarik dari variabel p1 terus mengikuti kemana arah kursor
digerakkan. Getpoint beda dengan list atau quote, getpoint lebih bebas menentukan nilai variabel yang dikehendaki
oleh penggunanya.
Keterangan gambar: Strcat berfungsi untuk menghubungkan antara dua kalimat yang terputus
Getpoint dengan itoa
Bentuk syntax untuk getpoint adalah,lihat gambar di atas.
(getpoint (strcat keterangan (itoa p1))
Getreal
Nilai sebenarnya bisa didapatkan dengan memakai “getreal”, sebagai contoh didalam program Autolisp untuk
mendapatkan nilai ada dua cara, yaitu getreal dan getint, getreal untuk nilai angka yang mengandung koma 1,5 atau
5,234 dan lain-lain.
Keterangan gambar: Tampilan getreal dengan hasilnya, hati-hati kalau menggunakan ini bila dipakai untuk fungsi
array
Getint
Bilangan bulat harus menggunakan getint, seperti 2 , 3 , 4 dan segala sesuatu yang tidak mengandung koma,
rumusannya seperti dibawah ini, getint asal mula dari kata get integer.
Bila memasukan data berupa bilangan real, maka akan timbul keliru, program akan menanya ulang, khususnya
dipakai untuk fungsi array.
Keterangan gambar: Penggabungan fungsi initget dengan fungsi getkword, kelebihan fungsi getkword adalah ketika
pemakai hanya memasukan satu huruf, khususnya bagian depan, fungsi tersebut sudah bisa merespon.
Tetapi bila pemakai memasukan kata diluar kata yang terdapat pada fungsi initget, langsung akan muncul pesan
error, lihat contoh dibawah ini
Keterangan Gambar: Error akan muncul bila pemakai memasukan data diluar dari batasan fungsi initget.
Getorient
Getorient adalah fungsi untuk mengukur sudut antara titik nol, titik nol pada umumnya dalam Autocad selalu dipakai
sistem east, yang titik nol nya diletakkan pada garis sumbu x disebelah kanan, dan mengarah ke sebelah kiri, atau
lebih popular melawan arah jarum jam, input masukan tergantung seting angdir dan angbase. Satuan untuk sudut
dalam fungsi getorient adalah radian.
Keterangan gambar: Data dari hasil getorient adalah dalam nilai radian lihat gambar ini.
Getfilled
Menampilkan dialog box ketika mencari lokasi folder, bisa digunakan fungsi getfilled, dengan rumusan sintak nya
sebagai berikut.
(getfiled “judul dialog box” “lokasi folder” “extension” “seting”)
Keterangan gambar: Getfilled akan diikuti tampilan lanjutan seperti yang diperlihatkan pada gbr. berikut.
Keterangan gambar. Ssget tampa dilengkapi komentar, format seperti ini agak menyulitkan bagi pemakai, tampa
diketahui tujuan fungsi itu
Kalau kita ingin menambahkan komentar untuk pertanyaan, jangan langsung ditempatkan setelah ssget, lihat contoh
ini yang salah
Keterangan gambar: Tambahan pada fungsi ssget sangat penting , fungsi ssget menjadi lebih selektip
Ssget dengan CP
CP = Semua objek yang disilang dan terdapat dalam kotak khusus
Keterangan gambar: Semua objek dalam kotak akan ditangkap oleh filter wp.
Ssget dengan X
X = Semua objek yang terdapat di area gambar
Keterangan gambar: Seluruh objek yang terdapat di area gambar akan ditangkap dengan fungsi X.
Ssget dengan :E
:E = Sesuatu objek yang telah dipilih dengan seleksi pickbox
Repeat
Sesuai nama, repeat adalah untuk mengulang sesuatu , fungsi ini sering sekali digunakan dalam program Autolisp,
dan malah sering digabung dengan fungsi lain.
Repeat dengan princ
Keterangan gambar: Membuat huruf secara individual, artinya huruf dibuat satu persatu dengan titil awal sama.
FOREACH
Foreach adalah fungsi untuk mengulang semua anggota yang terdapat dalam daftar, jadi foreach harus menpunyai
terlebih dahulu daftar yang akan diulang.
Format rumusan untuk membuat fungsi foreach adalah sebagai berikut
(foreach x lst fungsi yang diinginkan)
X adalah urutan anggota dari daftar tersebut yang akan dievaluasi
Lst adalah daftar anggota yang akan dievaluasi
Fungsi yang diinginkan adalah suatu fungsi yang akan dikerjakan oleh program sesuai kebutuhannya, lihat gambar
foreach dengan radius, foreach sangat bermangfaat untuk tugas yang rumit, tetapi mempunyai fleksibilitas yang
tinggi, serta membuat kode tidak terlalu panjang
Foreach dengan radius
Keterangan gambar: Membuat radius berulang dengan bantuan foreach.
Foreach dengan cons
Keterangan gambar: Keuntungan fungsi foreach ketika digunakan berulang dengan hatch.
Foreach dengan if
Mapcar adalah sebuah fungsi Autolisp, yang banyak sekali gunanya dan cukup sulit bagi programmer baru, apalagi
program tersebut sering di kombinasikan dengan fungsi lain, khususnya “lambda”, hanya programmer yang sudah
ahli yang mampu menggunakan dengan baik, kalau anda sebagai pemula usahakan sementara hindari dulu dengan
fungsi mapcar tersebut, kadang kala mapcar sering membingungkan.
Mapcar
Mapcar dengan tambah
Keterangan gambar: Menambah bilangan dari dalam daftar supaya daftar jadi bilangan baru.
Mapcar & lambda dengan perkalian
Keterangan Gambar: Fungsi cnt untuk mendapatkan nilai bertambah ketika pertanyaan muncul
While dengan comment
Keterangan Gambar: Berkat bantuan if, pemakai hanya perlu tekan enter.
While dengan if
Keterangan Gambar: Fungsi while akan berhenti mengulang ketika bilangan pertama menyamai bilangan kedua.
Keterangan Gambar: Fungsi while memakai fungsi trigger dan khusus hanya menyeleksi lingkaran.
Keterangan Gambar: Pengulangan akan berhenti ketika variabel n menyamai nilai 10.
While dengan not
Keterangan Gambar: Ketika fungsi entsel mendeteksi hasilnya nil, dan digabung dengan not, sehingga trigger
bernilai T.
Keterangan Gambar: Karena variabel X di set ke nil maka while seakan bekerja terus.
While dengan not dan ssget
Keterangan Gambar: Jika variabel ss menghasilkan nil, maka fungsi princ akan aktif.
While dengan point
Keterangan Gambar: Bila variabel pt diberi input dengan kursor di klik, perintah command akan aktif
While dengan princ
Keterangan Gambar: Fungsi while tidak bisa berhenti kecuali di tekan tombol escape.
While dengan tampa input yang benar
Keterangan Gambar: Karena variabel ed bersifat nil, maka pengulangan akan terus bekerja.
If
Kondisi untuk mengevaluasi suatu objek biasanya menggunakan fungsi “if”, ada beberapa trik untuk mengadopsi
fungsi “if”, umumnya seorang programmer menggunakan fungsi if , untuk tujuan tertentu dan memastikan bahwa
object yang sedang digarapnya benar-benar sesuai dengan yang dicari, dengan penambahan beberapa fungsi lain.
If dengan and
Membuktikan bahwa variabel pt1 dan pt2 adalah ada, maka perintah pembuatan garis segera dilanjutkan, dan
apabila tidak mengandung pt1 dan pt2, maka perintah pesan error akan segera muncul.
Keterangan Gambar: Jika data ada dua yang kriterianya sesuai yang di inginkan
Keterangan Gambar: Jika variabel ds hasilnya lebih kecil atau sama dengan 1, maka fungsi variabel h1 akan
menanyakan lagi
Keterangan Gambar: Ketika seting orthomode bernilai 0 , fungsi if akan langsung bekerja dan di set ke nilai 1, tetapi
bila orthomode tidak sama dengan 0, otomatis orthomode di set ke nilai 0.
If dengan if
Ketika fungsi if masih diperlukan, untuk mendeteksi variabel pada proses kelanjutannya.
Keterangan Gambar: Penggunaan if di dalam if masih memungkinkan, tergantung kebutuham dari programernya.
Keterangan Gambar: Secara beruntun pemakain if masih memungkinan, seperti yang di tampilkan gambar di atas.
If dengan member
Member hanya akan mendeteksi sekumpulan daftar, ketika variabel sebagai indikatornya terdapat kesamaan dengan
daftar.
Keterangan Gambar: Member berguna apabila terdapat data dalam sebuah list lebih dari satu, sehingga dengan
fungsi member akan disaring deretan anggota yang sesuai dengan data input.
Keterangan Gambar: Anggota yang diambil adalah yang sama dengan input data, terus menuju kesebelah
kanannya.
If dengan progn
Program diperlukan untuk melanjutkan proses yang panjang, karena fungsi if hanya akan memproses satu fungsi
saja.
Keterangan Gambar: Jika if tidak menggunakan progn, program tersebut akan timbul error, karena if hanya
melanjutkan proses berikutnya satu langkah saja.
If dengan setvar
Jika fungsi getvar tidak sama dengan nilai 0, maka fungsi setvar langsung bekerja.
Keterangan Gambar: Seting variabel bila tidak sama dengan yang diinginkan, digunakan fungsi if untuk mendapat
seting baru.
If dengan tblsearch
Keterangan Gambar: Tblsearch berfungsi untuk mendeteksi jenis style yang sedang dipakai, dari gambar tersebut di
cari apakah jenis huruf yang bernama “Arial”, masih eksis tidak, jika masih fungsi setvar bekerja. Jika tidak terdapat,
maka di lakukan loading jenis huruf tersebut.
If dengan textstyle
Fungsi ketidaksamaan akan bernilai betul atau bila variabel txs dan htx berlainan, maka loading huruf akan dimulai.
Keterangan Gambar: Kasus ini sama dengan gambar sebelumnya (if dengan tblsearch)
Cond
Cond adalah singkatan untuk condition, fungsi ini digunakan apabila mengevaluasi beberapa object atau daftar yang
benar, tetapi hanya salah satu yang bisa diterima pada proses selanjutnya, untuk lebih detilnya lihat contoh.
Cond dengan getkword
Getkword akan berfungsi sebagai pembatas input masukan, dan mengulang bila tidak ada data yang masuk serta
tidak sesuai, dengan bantuan fungsi initget
Keterangan Gambar: Gabungan fungsi antara cond dan getkword, serta pembatasan input dari fungsi initget,
memudahkan bagi pengguna untuk memasukan data ke dalam program.
Cond dengan vl-string-search
Acad_strsort
Untuk mengurut susunan abjad berdasarkan urutan abjad , gunakanlah fungsi acad_strsort.
Keterangan Gambar: Fungsi ini akan mengurut abjad dari data sesuai susunan abjad.
Append
Append digunakan untuk menggabungkan beberapa daftar menjadi satu daftar
Keterangan Gambar: Memanggil atau mendapatkan nilai pertama dari sebuah daftar.
Cdr
Cdr adalah kepanjangan Contents of the Decrement Register , yaitu untuk mencari nilai kedua dan seterusnya dari
sebuah daftar, dan menghilangkan data pertama.
Keterangan Gambar: Nilai kedua dari sebuah daftar, didapat dengan bantuan fungsi cdr
Cons
Asal kata cons adalah dari construction, yaitu untuk menambahkan elemen objek terhadap awal dari sebuah daftar,
membentuk sebuah pasangan daftar.
Keterangan Gambar: Membentuk anggota baru dengan bantuan fungsi cons.
Length
Menghitung jumlah bilangan yang terdapat di dalam daftar.
Keterangan Gambar: Untuk memastikan bahwa sebuah objek atau daftar, adalah benar-benar sebuah list
Member
Kegunaan dari member adalah untuk mencari sekumpulan anggota dari sebuah daftar anggota, berdasarkan dari
data input, fungsi ini hampir menyerupai dengan cdr.
Keterangan Gambar: Memisahkan sekelompok anggota, yang awal kelompok tersebut sama dengan data masukan.
Nth
Nth merupakan rumus atau sebuah fungsi untuk mencari sebuah anggota, berdasarkan indikator dari data input,
sebuah daftar dihitung nol mulai daftar pertama.
Keterangan Gambar: Menentukan urutan angka dari sekelompok anggota.
Reverse
Membalikkan sebuah daftar, nilai akhir dijadikan awal daftar.
Keterangan Gambar: Sebuah lingkaran kalau diuraikan akan menjelaskan banyak factor, diantaranya nama objek,
nama layer, jenis warna, radius, pusat lingkaran dan lain-lain.
Entmod
Entity modification adalah kependekan untuk entmode, berfungsi untuk merubah atau memodifikasi data dxf atau
Drawing Interchange File, dari sebuah entity dengan cara menyisipkan data dxf pada entity tersebut.
Keterangan Gambar: Menghapus objek di area gambar, bisa dilakukan dengan perintah command atau entdel.
Handent
Handent dari kata HANDle ENTity , yaitu mengembalikan nama entity dari sebuah asosiasi, lihat fungsi dibawah ini.
Keterangan Gambar: Untuk mengetahui atau mengembalikan nama entity, fungsi handent adalah pemecahannya.
Keterangan Gambar: Fungsi read selalu dilengkapi dengan tanda kutip, dan menghilangkan tanda kutip, serta hanya
mengambil angka pertama
Strcase
Merubah jenis huruf dari huruf kecil menjadi huruf besar, tetapi bila dilengkapi dengan fungsi ” t “, fungsi tersebut
menjadi tidak berlaku.
Keterangan Gambar: Strcase harus selalu dilengkapi tanda kutip, merubah seluruh abjad dari huruf kecil menjadi
huruf besar
Strcat
Menggabungkan beberapa huruf ataupun angka, tapi objeknya harus dilengkapi dengan tanda kutip.
Keterangan Gambar: Menghitung jumlah huruf yang terdapat dalam satu kalimat.
Subst
Substitusi suatu objek kepada objek lain digunakan fungsi subst.
Keterangan Gambar: Menyisipkan variabel ke dalam sebuah entiti, sehingga entiti tersebut bentuk atau modelnya
menjadi berubah sesuai keinginan pemakai.