21 Mart 2025 Cuma

AutoLISP: Kullanıcı girişi sağlayan fonksiyonlar - 3

15) ssget Fonksiyonu : Seçim seti oluşturma


ssget fonksiyonu, AutoCAD'de belirli kriterlere uyan nesneleri seçmek için kullanılır. Bu fonksiyon, seçim seti (selection set) oluşturmanıza olanak tanır. Seçim seti, AutoCAD çizimindeki nesnelerin bir koleksiyonudur.
ssget, çizimdeki nesneleri bir seçim seti olarak toplar. Bu seçim seti, daha sonra diğer işlemlerde (örneğin, ssname, sslength, vb.) kullanılabilir.

Kullanımı:
(ssget [seçim-modu] [n1 [n2]] [nokta-listesi] [filtre-listesi])
seçim-modu: Bu parametre isteğe bağlıdır ve seçim yöntemini belirler. Örneğin, "W" (Window), "C" (Crossing), "L" (Last), "P" (Previous), "I" (Implied), "X" (All) gibi modlar kullanılabilir.

n1 ve n2: Seçim yapılacak alanın köşe noktalarını belirtir. Bu parametreler de isteğe bağlıdır ve genellikle "W" veya "C" modlarıyla birlikte kullanılır.

nokta-listesi: "F" seçim modunda birden fazla nokta girişi için kullanılır.

filtre-listesi: Seçilecek nesnelerin özelliklerini filtrelemek için kullanılır. Bu parametre de isteğe bağlıdır ve bir liste olarak verilir. Örneğin, '((0 . "CIRCLE") ) şeklinde bir filtre, sadece çemberleri seçmek için kullanılır.

Dönüş Değeri
Seçim seti(Pickset) veya nil
Başarılı olursa oluşturulan seçim kümesinin adı; nesne seçilmemişse nil.

Nesne seçim modları:
Mod Açıklama
A (All) Tüm nesneler seçilir
C (Crossing) Belirtilen dikdörtgenin içinden geçen ve içindeki tüm nesneler
CP (Crossing Polygon) Belirtilen noktalardan oluşan çokgenin içinden geçen ve içindeki tüm nesneler.
F (Fence) Çit seçimi: Belirtilen noktalarla oluşan hattın kestiği tüm nesneler seçilir.
I (Implied) Zımni seçim; AutoCAD PICKFIRST sistem değişkeni etkinken seçilen nesneler.
Not: ssget işlevi geçerli bir seçim kümesi veya nil döndürür. İşlev çağrıldığında bir nesne seçilirse, geçerli bir seçim kümesi döndürülür.
L (Last) AutoCAD veri tabanına eklenen son görünür nesne seçilir.
P (Previous) Önceki seti kümesi seçilir.
W (Window) Belirtilen dikdörtgen içindeki tüm nesneler seçilir.
WP (Window Polygon) Belirtilen noktalardan oluşan çokgen içindeki tüm nesneler seçilir.
X (Entire database) Filtre listesi sağlamazsanız kapalı, dondurulmuş ve görünür ekranın dışında olan katmanlardaki varlıklar da dahil olmak üzere veri tabanındaki tüm varlıkları seçer.
:D (Double)Yinelenen nesnelerin seçilmesine olanak tanır.
:E (Everything) İmlecin nesne seçimi seçim kutusundaki her şey seçilir ve seçim setine eklenir.
:L (unLocked)Yalnızca kilidi açılmış katmanların seçilmesine izin verir.
:N (Nested) Seçim işlemi sırasında seçilen nesneler hakkında ek bilgiler almak için ssnamex fonksiyonunu çağırabilirsiniz.
Bu fonksiyon, özellikle container bloklar ve dönüşüm matrisleri hakkında bilgi sağlar. Ancak, bu ek bilgiler yalnızca grafiksel seçim yöntemleri (W, WP, F vb.) kullanılarak seçilen nesneler için mevcuttur. Diğer nesne seçim yöntemlerinden farklı olarak, :N seçim modu, seçim kümesinde aynı nesne adına sahip birden fazla nesne döndürebilir.

Örneğin, kullanıcı BlockReference, PolygonMesh veya eski tip polyline'lar gibi karmaşık nesnelerin alt nesnelerini seçtiğinde, ssget hangi alt nesnenin seçildiğini kontrol eder. Ancak, ssget seçim kümesine ana nesneyi (örneğin BlockReference veya PolygonMesh) ekler. Bu durum, seçim kümesinde aynı nesne adına sahip birden fazla girişin bulunmasına neden olabilir. Ancak her giriş, ssnamex fonksiyonunun rapor edebileceği farklı alt nesne bilgilerine sahip olacaktır.
_:R Uzun işlemler (long transactions) içinde bulunan nesnelerin seçilmesine olanak tanır.
AutoCAD'de uzun işlemler, harici referanslar (Xref) veya veritabanı işlemleri sırasında başka bir çizimden nesneleri geçici olarak düzenleme durumlarını ifade eder.
:S (Single) Sadece bir nesne seçilmesine izin verir, ancak birden fazla nesne seçilebilir.
Fare ile bir nesne üzerinde tıklandığında sadece tıklanan nesne seçilir ancak çerçeve veya çit seçim moduyla birden çok nesne de seçilebilir.
Eğer sadece tek bir nesne seçilmesini zorunlu kılmak istiyorsanız, "+." seçeneğini kullanmalısınız:
(ssget "+.:S")
_:U (Subentity) Alt varlık seçimini etkinleştirir. Yinelenen (“:D”) veya iç içe geçmiş (“:N”) seçim modlarıyla birleştirilemez. Bu modda, üst düzey varlıklar varsayılan olarak seçilir, ancak kullanıcı seçim yaparken CTRL tuşuna basarak alt varlıkları seçmeyi deneyebilir. Bu seçenek yalnızca pencere, çaprazlama ve çokgen gibi etkileşimli seçimlerle desteklenir. Tümü, filtrelenmiş veya grup seçimleri için desteklenmez.
_:V Alt varlık seçimini zorlar. Kullanıcı tarafından gerçekleştirilen tüm etkileşimli, grafik seçimleri alt varlık seçimleri olarak değerlendirir. Döndürülen seçim kümesi yalnızca alt öğeleri içerir. Bu seçenek yinelenen (“:D”) veya iç içe (“:N”) seçim modlarıyla birleştirilemez. Bu seçenek yalnızca pencere ve çaprazlama gibi etkileşimli seçimlerle desteklenir. Tümü, filtrelenmiş veya grup seçimleri için desteklenmez.
# Hangi nesne seçim modlarına izin verildiğini kontrol eder.
  • + : L, A, P anahtar kelimelerinin eklenmesini sağlar.
  • - : ‘Son’, ‘Tümü’, ‘Grup’ ve ‘Önceki’ anahtar kelimelerinin kaldırılmasını sağlar.
  • . : Kullanıcıyı bir nesneyi seçmek için işaretleme aygıtıyla seçmeye veya geçerli bir koordinat değeri girmeye zorlar.
Bu açık bir anahtar sözcük değildir, daha ziyade ima edilen bir anahtar sözcüktür.

+ ve - ile birlikte, ilgili seçim modlarını kontrol etmek için aşağıdaki anahtar kelimeleri kullanın:

A - Tümü
B - Kutu (Dikdörtgen seçim)
C - C ve CP
F - F
G - Grup
L - L
M - Çoklu
P - P
W - W ve WP
_ (Alt tire _ )Yerelleştirilmemiş mod anahtar öneki. AutoCAD'in İngilizce olmayan sürümlerinde mod anahtarının İngilizce sürümünün kullanılmasını sağlar. Tüm mod dizeleri için kesinlikle gerekli değildir (çünkü bazı mod dizeleri tüm dil sürümlerinde aynıdır), ancak hariç tutmaktansa dahil etmek daha güvenlidir.

Seçilen nesneler sadece ssget argüman olmadan kullanıldığında vurgulanır. Seçim setleri, AutoCAD geçici dosya alanlarını kullanır, bu nedenle AutoLISP'in aynı anda 128'den fazla açık seçim kümesine sahip olmasına izin verilmez. Bu sınıra ulaşılırsa, AutoCAD daha fazla seçim kümesi oluşturamaz ve tüm ssget çağrıları nil döner. Gereksiz bir seçim kümesi değişkenini kapatmak için onu nil olarak ayarlayın.

Örnek 1:
; Kullanıcıdan seçilecek nesneleri seçmesini bekler
(ssget)

; 10,10 konumunda bulunan son nesneyi seçer
(ssget '(10 10))

; Tüm nesneleri seçer
(ssget "X")

; 10,10 ile 100,100 noktaları ile oluşan çerçeve içine tamamı sığan
; tüm nesneleri seçer. Sağa çapraz seçme gibi
(ssget "W" '(10 10) '(100 100))

; 10,10 ile 100,100 noktaları ile oluşan dikdörtgen çerçeve içine
; tamamı veya bir kısmı giren tüm nesneleri seçer. Sola çapraz seçme gibi
(ssget "C" '(10 10) '(100 100))

; Tüm çemberleri seçer
(ssget "X" '((0 . "CIRCLE")))

; Kat_4 katmanındaki tüm neneler
(ssget "X" '((8 . "Kat_4")))

; Elektrik katmanındaki tüm çizgi(LINE) nesneleri
(ssget "X" '((0 . "LINE") (8 . "Elektrik")))

; Nesne tür adında LINE olan tüm nesneleri seçer
; LINE PLINE SPLINE MLINE
(ssget "X" '((0 . "*LINE")))

; Son oluşturulan nesneyi seçer
(ssget "L")

; Bir önceki seçim setini tekrar seçer
(ssget "P")

; Nesne üzerinde tıklanarak sadece bir nene seçer.
; Çapraz çerçeve oluşturarak veya diğer seçme yöntemleri ile
; birden fazla nesne de seçilebilir.
(ssget ":S")

; Nesne üzerinde tıklanarak birer birer nesne seçilir
(ssget ":E")

; Yeşil renkli yay nesneleri seçilir
(ssget "X" '((0 . "ARC") (62 . 3)))

; Kullanıcının seçtiği nesnelerden kırmızı çizgiler seçilir
(ssget ":S" '((0 . "*LINE") (62 . 1)))
Örnek 2:
Çizim alanında kaç tane çember var?
(setq ss (ssget "X" '((0 . "CIRCLE")))) ; çemberleri seç
; Eğer çember bulunduysa
(if ss
	(progn
		; Seçim setindeki çember sayısını hesapla
		(setq count (sslength ss))
		; Sonucu ekrana yazdır
		(princ (strcat "\nÇizimde toplam " (itoa count) " adet çember var"))
	)
	; Eğer çember yoksa
	(princ "\nÇizimde hiç çember yok.")
)
Örnek 3:
Seçilen çizgilerin toplam uzunluğunu verir
; Çizgileri seç, seçim seti oluştur
(setq ss (ssget '((0 . "LINE"))))
(if ss ; Eğer seçimde çizgi varsa
  (progn
    (setq n 0 top 0.0) ; Değişkenleri sıfırla
    ; Seçim setindeki her bir çizgiyi işle
    (while (< n (sslength ss))
      (setq
        entdata (entget (ssname ss n)) ; Çizgi verilerini al
        ; Çizgi uzunluğunu hesapla, toplam uzunluğa ekle
        top (+ top (distance (cdr (assoc 10 entdata)) (cdr (assoc 11 entdata))))
        n (1+ n) ; Sonraki çizgiye geç
      )
    )
    (princ (strcat "\nToplam çizgi uzunluğu: " (rtos top)))
  )
  (princ "\nSeçimde çizgi yok.") ; Eğer çizgi yoksa
)
Seçim seti işleme fonksiyonları:
  • ssadd
  • ssdel
  • ssgetfirst
  • sslength
  • ssmemb
  • ssname
  • ssnamex
  • sssetfirst
Kaynaklar:

19 Mart 2025 Çarşamba

AutoLISP: Kullanıcı girişi sağlayan fonksiyonlar - 2

Bu yazının önceki bölümü: AutoLISP: Kullanıcı girişi sağlayan fonksiyonlar - 1

9) initget Fonksiyonu: Kullanıcı Girdi Kontrolü

initget fonksiyonu, kullanıcıdan alınacak girdilerin kontrolünü sağlar. Bu fonksiyon, getint, getreal, getstring, getpoint, getdist, getangle, getkword gibi kullanıcı girdisi alan fonksiyonlarla birlikte kullanılır. Kullanıcı girdisini belirli kurallara göre sınırlandırmak ve geçerli girdileri tanımlamak için kullanılır.

Kullanımı:
(initget [bit-değeri] [anahtar-kelimeler])
bit-değeri (isteğe bağlı): Girdi kontrolü için kullanılan bit değeridir. Bu değer, kullanıcının girdisini nasıl sınırlandıracağınızı belirler.

Belirli kullanıcı girdisi türlerine izin veren veya vermeyen bir bit kodu. Bitler, 0 ile 255 arasında bir değer oluşturmak için herhangi bir kombinasyonda toplanabilir. bit-değeri belirtilmezse 0(sıfır) varsayılır.

initget Fonksiyonunun Bit Değerleri:
Bit Değer Açıklama
0 1 Kullanıcının yalnızca Enter tuşuna basarak yanıt vermesini engeller.
1 2 Kullanıcının 0(sıfır) girerek yanıt vermesini engeller.
2 4 Kullanıcının negatif bir değer girerek yanıt vermesini engeller. 
3 8 Kullanıcının geçerli çizim sınırlarının dışında bir nokta girmesine izin verir
4 16 (Şu anda kullanılmıyor)
5 32 Geçici çizgi veya geçici dikdörtgen çizerken kesik çizgiler kullanır.
6 64 getdist fonksiyonuna Z koordinatı girilmesini engeller; bir uygulamanın bu fonksiyonun 2B mesafe döndürdüğünden emin olmasını sağlar
7 128 Diğer kontrol bitlerini ve listelenen anahtar sözcükleri dikkate alarak keyfi girdiye anahtar sözcükmüş gibi izin verir. Bu bit, bit 0'a göre önceliklidir; bit 7 ve 0 ayarlıysa ve kullanıcı Enter tuşuna basarsa, boş bir dize döndürülür.
8 256 Doğrudan mesafe girişine rastgele girişe göre öncelik verir. Harici uygulamalar için, rastgele girdiye varsayılan olarak doğrudan mesafe girdisine göre öncelik verilir. AutoCAD'i kullanıcı girdisini doğrudan mesafe girdisi olarak değerlendirmeye zorlamak istiyorsanız bu biti ayarlayın. Klavyeden yasal nokta girişinin her zaman doğrudan mesafe veya rastgele girişten öncelikli olduğunu unutmayın.
9 512  Bir getpoint veya getcorner çağrısından önce ayarlanırsa, imleç bir katının düzlemsel bir yüzeyinin kenarından geçtiğinde geçici bir UCS oluşturulur. İmleç bir yüzeyin dışına çıktığında geçici UCS sıfırlanır. İmleç farklı bir yüzeyin üzerinden geçtiğinde dinamik olarak yeniden oluşturulur. Nokta alındıktan sonra, dinamik UCS geçerli UCS'ye sıfırlanır. Bu işlevsellik, silindir kenarı gibi düzlemsel olmayan yüzeyler için etkin değildir.
10 1024 getdist, getangle, getorient, getpoint veya getcorner fonksiyonlarını çağırırken, mesafe, açı, yön, nokta veya köşenin Z yönünde orto, polar veya otracking tarafından etkilenmesini istemeyebilirsiniz. Bu fonksiyonlardan herhangi biri çağrılmadan önce bu bitin ayarlanması, Z yönünde orto, polar ve otracking'i geçici olarak devre dışı bırakacaktır. Bu, çoklu çizgi, yay veya daire gibi 2B varlıklar oluşturduğunuzda veya yalnızca 2B dizi oluşturan AutoCAD ARRAY komutunu kullandığınızda kullanışlıdır. Yalnızca 2B komutlarda, 3B noktaların orto Z, polar Z veya otrack Z kullanılarak girilmesine izin vermek kafa karıştırıcı ve hataya açık olabilir.

anahtar-kelimeler (isteğe bağlı): Kullanıcının seçebileceği anahtar kelimeleri içeren bir metin dizisidir. Anahtar kelimeler boşlukla ayrılır.

Anahtar kelimeleri kabul eden işlevler getint, getreal, getdist, getangle, getorient, getpoint, getcorner, getkword, entsel, nentsel ve nentselp'dir.

getstring işlevi, anahtar kelimeleri dikkate almayan tek kullanıcı girişi fonksiyonudur.

Kullanıcı beklenen girdi türünü girmediğinde (örneğin, getpoint için bir nokta) anahtar kelimeler bir sonraki kullanıcı-girdi işlevi çağrısı tarafından kontrol edilir. Kullanıcı girişi listedeki bir anahtar kelimeyle eşleşirse, işlev bu anahtar sözcüğü dize sonucu olarak döndürür. Uygulama anahtar kelimeleri test edebilir ve her biriyle ilişkili eylemi gerçekleştirebilir.

Kullanıcı girişi beklenen bir tür değilse ve bir anahtar kelimeyle eşleşmiyorsa, AutoCAD kullanıcıdan tekrar denemesini ister. initget bit değerleri ve anahtar kelimeler yalnızca bir sonraki kullanıcı girişi işlev çağrısı için geçerlidir.

initget bir kontrol biti ayarlarsa ve uygulama, bitin hiçbir anlamı olmayan bir get... işlevini çağırırsa, bit yok sayılır.

Kullanıcı girdisi belirtilen koşullardan bir veya daha fazlasında başarısız olursa (sıfır değerlerine izin verilmediğinde sıfır değerinde olduğu gibi), AutoCAD bir mesaj görüntüler ve kullanıcıdan tekrar denemesini ister.

15 Mart 2025 Cumartesi

AutoLISP: Kullanıcı girişi sağlayan fonksiyonlar - 1

AutoLISP, AutoCAD ortamında özelleştirilmiş komutlar ve araçlar geliştirmek için kullanılan güçlü bir programlama dilidir. Uygulamalarınızı daha etkileşimli hale getirmek için, çalışma sırasında kullanıcıdan gerekli bilgileri almanız gerekebilir. İster bir nokta seçimi, ister bir metin girişi veya bir sayısal değer olsun, kullanıcıdan bu verileri almak için AutoLISP'te dahili fonksiyonlar bulunur.

Bu fonksiyonlar sayesinde, kullanıcılar klavye aracılığıyla metin veya sayısal değerler girebilir ya da fare ile ekranda nokta seçimi, uzunluk girdisi, açı girdisi, nesne seçimi ve komut alt menü elemanı seçimi yapabilir.

Örneğin, bir çizgi çizmek için başlangıç ve bitiş noktalarını kullanıcıdan almak veya bir metin etiketi oluşturmak için kullanıcıya metin girişi yaptırmak mümkündür. Bu tür etkileşimler, uygulamanızın daha esnek ve kullanıcı dostu olmasını sağlar.

Girdi Fonksiyonları

  1. getint
  2. getreal
  3. getstring
  4. getpoint
  5. getcorner
  6. getdist
  7. getangle
  8. getorient
  9. initget
  10. getkword
  11. getfiled
  12. entsel
  13. nentsel
  14. nentselp
  15. ssget

1) getint Fonksiyonu: Kullanıcıdan Tamsayı Değeri Alma

getint fonksiyonu, kullanıcıdan bir tamsayı (integer) değeri almak için kullanılır. Kullanıcı bir değer girdikten sonra Enter veya Boşluk tuşuna basarak girişini onaylar. Giriş sağlanana kadar uygulama duraksar.

Bu fonksiyon, özellikle sayısal bir değer girilmesi gereken durumlarda tercih edilir. Örneğin, bir nesnenin kaç kopyasının oluşturulacağı veya belirli bir mesafenin kaç birim olacağı gibi işlemlerde kullanılır.

Bu fonksiyona aktarılabilecek değerler -32,768 ile +32,767 arasında bir tam sayıdır. (16 bit. Bir bit, sayı işareti için kullanıldığı için 15 bitlik sayı. 2^15 = 32768)
Kullanıcı tamsayı dışında bir değer(örneğin ondalıklı sayı veya metin) girerse, fonksiyon “Requires an integer value" (Bir tamsayı değeri gerektiriyor) mesajını görüntüler ve kullanıcının tekrar giriş yapmasına izin verir.

Veri girmeden Entere basılırsa fonksiyon nil sonucunu verir.

Kullanımı:

(getint [mesaj])
mesaj : Kullanıcıya gösterilecek mesajdır. Kullanılması zorunlu değildir. Eğer belirtilmezse, fonksiyon herhangi bir mesaj göstermeden sayı girişi bekler.

Örnekler:
(setq sayi1 (getint))
Mesaj vermeden kullanıcıdan tam sayı girdisi bekler. Girilen tam sayı sayi1 değişkenine aktarılır.
(setq kopyasayisi (getint "\nKopya sayısı:"))
(princ (strcat "\nGirilen sayı: " (itoa kopyasayisi)))
\n satır başı kodudur. mesaj yeni satırda yazılır.
itoa tam sayıyı metne dönüştürür.
strcat metinleri birleştirir.
princ metni komut satırında yazdırır.
(setq sayi (getint "\nLütfen bir tamsayı girin: "))
(if sayi ; sına: sayi nil değilse?
	;doğru ise
	(princ (strcat "\nGirdiğiniz sayı: " (itoa sayi)))
	;yanlış ise ise
	(princ "\nGeçersiz giriş! Lütfen bir tamsayı girin.")
)

2) getreal Fonksiyonu: Kullanıcıdan Ondalıklı Sayı Alma

Bu fonksiyon kullanıcıdan bir reel sayı (floating-point number) değeri almak için kullanılır. Özellikle kullanıcının ondalıklı bir değer girmesi gereken durumlarda (örneğin, bir uzunluk, yarıçap veya ölçek faktörü belirtirken) oldukça kullanışlıdır. getint fonksiyonundan farklı olarak küsuratlı (ondalıklı, reel) sayılar da girilebilir. Tam sayı girilirse sayı reel sayıya dönüştürülür. 5 sayısı 5.0 reel sayısına dönüşür.

9 Mart 2025 Pazar

AutoLISP: Aritmetik ve Matematik Fonksiyonlar

AutoLISP, AutoCAD kullanıcıları için tasarlan güçlü bir programlama dilidir ve AutoCAD'in özelleştirme ve otomasyon yeteneklerini önemli ölçüde genişletir.

LISP dilinin AutoCAD'e uyarlanmış bir türevi olan AutoLISP, özellikle CAD (Bilgisayar Destekli Tasarım) ortamında çizim süreçlerini otomatikleştirmek, özelleştirilmiş işlemler gerçekleştirmek ve iş akışını hızlandırmak için tercih edilir.

AutoLISP, temel aritmetik işlemlerden karmaşık matematiksel hesaplamalara kadar geniş bir yelpazede işlev sunan dahili fonksiyonlara sahiptir. Bu fonksiyonlar, kullanıcıların çizim otomasyonu sırasında matematiksel hesaplamaları kolayca gerçekleştirmesine olanak tanır.

Ayrıca, AutoLISP'in esnek yapısı sayesinde, dilin dahili fonksiyonlarının yetersiz kaldığı durumlarda özel matematiksel işlemler için harici fonksiyonlar da geliştirilebilir.

Fonksiyonlara geçmeden önce AutoLISP dilinde kullanılan sayı türlerini görelim.

  • Tamsayı (Integer)
Tam sayılar, ondalık değer içermeyen tam sayılardır.
AutoLISP'teki tam sayılar, -2,147,483,648 ile +2,147,483,647 arasında değer alan 32-bit işaretli sayılardır. Bazı fonksiyonlar ise yalnızca -32678 ile +32767 arasındaki 16-bit sayıları kabul eder.

Eğer izin verilen maksimum tam sayı sınırını aşan bir değer girerseniz, AutoLISP bu değeri bilimsel gösterimde bir reel sayı (float) olarak saklar. Bilimsel gösterimdeki sınırı aşan bir sayı olursa inf.0 (sonsuzluk) sonucu oluşur.

Örnek:
(setq sayi 2147483648)
	; Sonuç 2.14748e+009
	; Sayı integer sınırını aştığı için reel sayı. Bilimsel gösterim
(setq sayi (expt 2147483648 -100))
	; Sonuç: 0.0 reel sayı
	; Sıfıra yakın en küçük negatif sayı sınırını aştığı için 0.0
(setq sayi (fix 1.0e+308))
	; Sonuç: 1.0e+308
	; Sayı integer sayı sınırını aştığı için reel sayı olarak saklanır
  • Reel (Ondalıklı) Sayı (Float)
Ondalıklı sayılar, tam sayılardan farklı olarak ondalık nokta içeren sayılardır. AutoLISP'te bu sayılar reel sayı (float) olarak adlandırılır. Örneğin, 3.14 -0.5 2.0 geçerli reel sayılardır.

AutoLISP'te reel sayılar, 64-bit kayan noktalı (floating-point) sayılar olarak saklanır.
Bu nedenle, belirli bir hassasiyetle işlem yapabilir ancak çok büyük veya çok küçük değerlerde hata payı oluşabilir.

fix fonksiyonu, bir reel sayının küsuratını atarak tam sayıya dönüştürür (yuvarlama yapmaz).

AutoLISP'te çok büyük bir sayı hesaplanmaya çalışıldığında, sayı sınırları aşılırsa inf.0 (sonsuzluk) değeri döndürülür:

AutoLISP'te sayılar dinamik olarak yönetilir, yani bir değişken hem tamsayı hem de reel sayı olabilir. Örneğin:

(setq sayi 5) ; Tamsayı(Integer)
(setq sayi 3.14); Reel sayı(Float)
(setq sayi 12.0); Reel sayı
(setq sayi 15.); Reel sayı. Küsurat 0 ise noktadan sonra 0 yazılmayabilir.
(setq sayi 1.0e-323) ; Sonuç: 9.88131e-324
(setq sayi 1.0e-324) ; Sonuç: 0.0 Sınırı aştığı için 0
(setq sayi 1.0e+308) ; Sonuç: 1.0e+308
(setq sayi 1.0e+309) ; Sonuç: inf.0 Sayı sınırı aştığı için sonsuz

Bu dinamik yapı, programcıya esneklik sağlarken, büyük veri setlerinde performans sorunlarına neden olabilir.

1) Temel Aritmetik Fonksiyonlar

a) Toplama. + fonksiyonu

Toplama işlemi için + fonksiyonu kullanılır. Bu fonksiyon, birden fazla sayıyı toplamak için kullanılabilir.
(+ 1 2 3) ; Sonuç:6
(+ 20 -7) ; Sonuç:13
(+ 5 10.52 20.3 0.12) ;Sonuç: 35.94
(+ 1 2.0 3 4) ; Sonuç:10.0
(setq toplam (+ 12 34)) ;toplam = 46