28 Nisan 2025 Pazartesi

AutoLISP: Dönüştürme fonksiyonları - 1

AutoLISP ve Visual LISP, teknik çizimlerde otomasyonu kolaylaştıran güçlü araçlar sunarken, farklı veri tipleri arasında dönüşüm yapmayı sağlayan fonksiyonları da içinde barındırır.

Bu dönüşüm işlemleri sayesinde sayılar, metinler, açılar, koordinatlar ve listeler arasında esnek geçişler sağlanabilir. Özellikle kullanıcıdan alınan verilerin işlenmesi, metin tabanlı bilgilerle sayısal verilerin entegre edilmesi veya geometriyle ilgili hesaplamalarda bu fonksiyonlar büyük kolaylık sağlar.

Dönüştürme fonksiyonlarını etkili kullanmak, yazılan kodun daha okunabilir, daha esnek ve daha güçlü olmasını sağlar.

Sayı, Metin ve Karakter Dönüşüm Fonksiyonları

Bu sayfada açıklanan fonksiyonlar:
  • itoa : Tamsayı -> Metin
  • atoi : Metin -> Tamsayı
  • rtos : Reel sayı -> Metin
  • float : Tamsayı -> Reelsayı
  • fix : Reelsayı -> Tamsayı
  • atof : Metin -> Reel sayı
  • distof : Metin -> Reel sayı
  • angtof : Açı -> Reel sayı
  • angtos : Açı -> Metin
  • ascii : Metin -> ASCII kodu
  • chr : ASCII kodu --> Karakter
  • cvunit : Birim dönüştür
  • trans : Koordinat sistemi dönüştür

itoa : Tamsayı -> Metin

itoa, Integer to ASCII kısaltmasıdır. Tamsayıyı (integer) metin (string) formatına dönüştürmek için kullanılır. Genellikle sayısal değerleri ekranda göstermek, dosya işlemlerinde kullanmak veya metin tabanlı işlemler yapmak için gereklidir.

Kullanımı:
(itoa tamsayı)
tamsayı : Dönüştürülecek tamsayı değer. Parametre olarak integer veri türü haricinde bir değer girildiğinde hata oluşur. Reel sayılar için rtos fonksiyonu kullanılmalı ya da reel sayı önce fix fonksiyonu ile tamsayıya dönüştürülmeli.
Dönüş Değeri: Sayının metin karşılığı (string).

Bu fonksiyonun yaptığı işlemin tersi için atoi kullanılır.

Örnekler:
(itoa 123) ; "123" (123 sayısını metne çevirir)
(itoa -45) ; "-45"
(itoa 0) ; "0"
(itoa (/ 10 5)) ; "2"
(itoa (/ 10 3)) ; "3"
(itoa (fix (/ 10 4))) ; "2"
; argüman veri türü hatalı örnekler:
(itoa 3.1415) ; error: bad argument type: fixnump: 3.1415
(itoa "24") ; error: bad argument type: fixnump: "24"
(itoa (/ 10 3.0)) ; error: bad argument type: fixnump: 3.33333

atoi : Metin -> Tamsayı

atoi, ASCII to integer kısaltmasıdır. Sayı içeren metni(string) tamsayıya(integer) dönüştürür.

Kullanımı:
(atoi metin)
metin : String olarak girilen argümandaki sayıyı tamsayıya(integer) dönüştürür. Metin sayı ile başlıyorsa sayı kısmını alır. Sayı ile başlamayan metinler 0 sonucunu verir.

Dönüş değeri : Tamsayı.

Örnekler :
(atoi "a") ; 0
(atoi " ") ; 0
(atoi "") ; 0
(atoi "Mesut") ; 0
(atoi "5 Elma") ; 5
(atoi "12A") ; 12
(atoi "A12") ; 0
(atoi "0") ; 0
(atoi "-1") ; -1
(atoi "12.45") ; 12
(atoi "12.455555") ; 12
(atoi "3.1415") ; 3
(atoi "3,1415") ; 3

rtos: Reel sayı -> Metin

rtos, Real to String kısaltmasıdır. Reel(ondalıklı) sayıları metin formatına dönüştürür. AutoCAD'de ölçü birimleri, koordinat gösterimleri veya kullanıcıya sayısal verileri formatlı şekilde göstermek için kullanılır.

Kullanımı:
(rtos sayı [mod [hassasiyet]])
sayı : Dönüştürülecek tam(integer) veya reel(real) sayı.
mod (opsiyonel) : Sayı formatı (Varsayılan: AutoCAD ölçü birimi).

Mod Açıklama Örnek
1 Bilimsel (Scientific) 1.23456E+02
2 Ondalık (Decimal) 123.456
3 Mühendislik (Engineering) 10'-3.456
4 Mimari (Architectural) 10'-3 7/16"
5 Kesirli (Fractional) 123 1/2
hassasiyet : Döndürülen değeri biçimlendirmek için kullanılan hassasiyet değeri.
Dönüş Değerleri : Biçimlendirilmiş sayısal değeri metin olarak verir.

AutoCAD UNITMODE sistem değişkeni, mühendislik, mimari veya kesirli birimler seçildiğinde (mod: 3, 4 veya 5) döndürülen metni etkiler.

rtos fonksiyonu, mod, hassasiyet ve AutoCAD UNITMODE, DIMZIN, LUNITS ve LUPREC sistem değişkenlerinin ayarlarına göre sayının gösterimi olan bir metin döndürür.

Mod ve hassasiyet argümanları AutoCAD LUNITS ve LUPREC sistem değişkenlerine karşılık gelir . Bu argümanlar kullanılmazsa; rtos, LUNITS ve LUPREC'in mevcut ayarlarını kullanır.

Örnekler :
(rtos 123.456 2) ; 123.456 (ondalık)
(rtos 123.456 1 2) ; 1.23E+02 (bilimsel, 2 ondalık)
(rtos 12.5 5) ; 12 1/2 (kesirli)
(rtos 12.375 3) ; 1'-0.375\" Mühendislik
(rtos 12.375 4) ; 1'-0 3/8\" Mimari
(rtos 12.375 5) ; 12 3/8 (kesirli)
(rtos 12.3757575) ; 12.3758 (varsayılan ondalıklı basamak)
(rtos 0.455555) ; 0.4556 (varsayılan ondalıklı basamak)
(rtos 0.455555 2 2) ; 0.46 (2 basamak ondalıklı)
(rtos (/ 10 3)) ; 3
(rtos (/ 10 3.0)) ; 3.3333
(rtos 12.3757575 2 3) ; 12.376 (3 basamak ondalıklı)
(rtos 12.3757575 2) ; 12.3758 (varsayılan ondalıklı basamak)
(rtos 12.3757575 2 0) ; 12 (ondalıkları at)
(rtos 123.4000 2 4) ; 123.4 (Sondaki sıfırlar atılır)

(setq uzunluk 125.4558)
(princ (strcat "Uzunluk: " (rtos uzunluk 2 2) " mm")) ; Uzunluk: 125.46 mm

float : Tamsayı -> Reelsayı

Verilen sayıyı ondalıklı sayıya dönüştürür. Bakınız: (float sayı)

fix: Reelsayı -> Tamsayı

Ondalıklı(reel) sayının tamsayı kısmını döndürür. Bakınız: (fix sayı)

atof : Metin -> Reel sayı

atof, ASCII to Float kısaltmasıdır. Sayı içeren metni(string) reel sayıya(float) dönüştürür.

Kullanımı :
(atof metin)
metin : String olarak girilen argümandaki sayıyı reel sayıya(float) dönüştürür. Metin sayı ile başlıyorsa sayı kısmını alır. Sayı ile başlamayan metinler 0.0 sonucunu verir.

Örnekler :
(atof "a") ; 0.0
(atof " ") ; 0.0
(atof "") ; 0.0
(atof "Mesut") ; 0.0
(atof "5 Elma") ; 5.0
(atof "23.5 mm") ; 23.5
(atof "12A") ; 12.0
(atof "A12") ; 0.0
(atof "0") ; 0.0
(atof "-1") ; -1.0
(atof "12.45") ; 12.45
(atof "12.455555") ; 12.4556
(atof "3.1415") ; 3.1415
(atof "3,1415") ; 3.0 (ondalık ayıracı nokta olmalı)
(atof ".5") ; 0.5

distof : Metin -> Reel sayı

distof, Distance to Float(Uzunluk ölçüsü reel sayıya) kısaltmasıdır. Metin olarak girilen sayı, reel sayıya dönüştürülür.
(distof metin [mod])
metin : Reel sayıya dönüştürülecek metin.
mod (opsiyonel) : rtos fonksiyonundaki mod gibidir.

Mod Açıklama Örnek
1 Bilimsel (Scientific) 1.23456E+02
2 Ondalık (Decimal) 123.456
3 Mühendislik (Engineering) 10'-3.456
4 Mimari (Architectural) 10'-3 7/16"
5 Kesirli (Fractional) 123 1/2
Dönüş Değeri : Reel sayı.

distof ve rtos fonksiyonları birbirini tamamlayıcıdır. Eğer distof fonksiyonuna, rtos tarafından oluşturulmuş bir metni (string) verirseniz, distof'un geçerli bir değer döndürmesi garantidir. Tersi durum da (distof çıktısını rtos ile işlemek) aynı şekilde geçerlidir (tabii ki mod değerleri aynı olduğu sürece).

Örnekler :
(distof "2.36982E-02") ; 0.0236982
(distof "2.36986E+02" 1) ; 236.986
(distof "2.36986E+02" 2) ; 236.986

(distof "1/8") ; 0.125
(distof "4 3/4") ; 4.75
(distof "1'") ; 12.0 (1 feet = 12 inç)
(distof "1'6\"") ; 18.0 (1 feet = 12 inç)

(distof "2'3\"" 3) ; 27 (2 feet = 24 inç + 3 inç => 27)
(distof "2' 1/2\"" 3) ; 24.5 (2 feet = 24 inç + 1/2(0.5) inç => 24.5)
(distof "5'-8 1/2\"") ; 68.5 (5 feet + 8.5 inç)	
(distof "1' 5.25\"" 3) ; 17.25 (12 + 5.25)
(distof "1' 5.25\"" 1) ; nil
(distof "1' 5.25\"" 2) ; nil
(distof "1' 5.25\"" 4) ; 17.25
(distof "1' 5.25\"" 5) ; nil

(distof "2 1/8" 1) ; 2.125
(distof "2 1/8" 2) ; 2.125
(distof "2' 1/8" 3) ; 24.125
(distof "2 1/8" 4) ; 2.125
(distof "2 1/8" 5) ; 2.125

angtof : Açı -> Reel sayı

angtof, Angle to Float(açı değeri reel sayıya) kısaltmasıdır. Metin formatındaki bir açı değerini radyan cinsinde reel sayıya dönüştürür. Kullanıcı açı girişlerini veya metin tabanlı açı verileri matematiksel işlemlere uygun hale getirmek için kullanılır.

Kullanımı :
(angtof metin [mod])
metin : Dönüştürülecek açı değeri (örnek: "45", "30d15'10\"")
mod (opsiyonel) : Açı birimi formatı. Açı metninin biçimlendirildiği birimleri belirtir. Değer, AutoCAD AUNITS sistem değişkeni için izin verilen değerlere karşılık gelmelidir. Birim atlanırsa, angtof AUNITS'in geçerli değerini kullanır.
Geçerli Modlar:
0 : Derece
1 : Derece/dakika/saniye
2 : Gradyan
3 : Radyan
4 : Topoğraf

Dönüş Değeri: Radyan cinsinden açı(float) veya geçersiz girişlerde nil.

Örnekler :
(angtof "45") ; 0.785398 (45 derecenin radyan değeri)
(angtof "45" 0) ; 0.785398 (45 girdisi derece)
(angtof "45d") ; 0.785398 (45 girdisi derece)
(angtof "45" 2) ; 0.706858 (45 girdisi Grad)
(angtof "45g") ; 0.706858 (45 girdisi Grad)
(angtof "45" 3) ; 1.0177 (45 girdisi radyan)
(angtof "45r") ; 1.0177 (45 girdisi radyan)
(angtof "45" 4) ; 0.785398 (45 girdisi topoğrafik)

(angtof "90" 0) ; 1.5708 (90 derecenin radyan değeri)
(angtof "100g" 2) ; 1.5708 (100 grad = 90° = 1.5708 rad)
(angtof "200g" 2) ; 3.14159 (200 grad = 180° = pi)

(angtof "0.75" 0) ; 0.01309 (0.75°nin radyan değeri)
(angtof "0.75" 1) ; 0.01309 (0.75°nin radyan değeri)
(angtof "0.75" 2) ; 0.011781 (0.75 grad'ın radyan değeri)
(angtof "0.75" 3) ; 0.75 (0.75 radyanın radyan değeri)
(angtof "0.75'") ; 0.000218166 (0.75 dakikanın radyan değeri)

(angtof "1d") ; 0.0174533 (1°nin radyan değeri)
(angtof "1'") ; 0.000290888 (1 dakikanın radyan değeri)
(angtof "1\"") ; 4.84814e-06 (1 saniyenin radyan değeri)
; Metin içinde çift tırnak işareti \ ile yazılır. \" şeklinde.

(angtof "180") ; 3.14159 (180° = pi)
(angtof "30") ; 0.523599 (30 derecenin radyan değeri)
(angtof "30d30'30\"" 1) ;0.532471 (30 derece 30 dakika 30 saniye)
(angtof "30a") ; nil (geçersiz giriş)
(angtof "") ; nil (geçersiz giriş)
(angtof 30) ; error: bad argument type: stringp 30 (hata: argüman türü metin değil)

angtos : Açı -> Metin

angtos, Angle to String(açı değeri metne) kısaltmasıdır. Radyan cinsinden açısal bir değeri bir metne dönüştürür.

Kullanımı :
(angtos açı [mod [hassasiyet]])
açı : Dönüştürülecek açı değeri. Tamsayı(Integer) veya reel(real) sayı.
mod (opsiyonel) : Açı birimi formatı.

Geçerli Modlar:
0 : Derece
1 : Derece/dakika/saniye
2 : Gradyan
3 : Radyan
4 : Topoğraf

hassasiyet : Döndürülecek ondalık basamak hassasiyeti sayısını belirtir. Atlanırsa, AutoCAD AUPREC sistem değişkeninin geçerli ayarı kullanılır.

Dönüş değeri : Metin(string) veya nil.

Örnekler :
(angtos 0.785398 0) ; "45" (0.785398 radyan = 45°)
(angtos pi) ; "180" (derece)
(angtos pi 0) ; "180" (derece)
(angtos pi 1) ; "180d0" (Derece dakika)
(angtos pi 2) ; "200g" (pi = 200 grad)
(angtos pi 3) ; "3.14r" (radyan)
(angtos pi 3 4) ; "3.1416r" (radyan. ondalık 4 basamak)
(angtos pi 4) ; "W" (180° = batı(west) yönü)
(angtos (/ pi 2) 4) ; "N" (90° = kuzey(north) yönü)
(angtos 1.75 0 4) ; "100.2676" (derece) 
(angtos 1.75 1 4) ; "100d16'3\"" (derece dakika saniye) 
(angtos 1.75 2 4) ; "111.4085g" (grad) 
(angtos 1.75 3 4) ; "1.75r" (radyan) 
(angtos 1.75 4 4) ; "N 10d16'3\" W" (topoğrafik)
(angtos "45") ; error: bad argument type: numberp: "45"

ascii : Metin -> ASCII kodu

ascii, bir karakterin ASCII kodunu döndürür. Bu fonksiyon, metin işlemlerinde karakterlerin sayısal karşılıklarını bulmak veya klavye kontrolü yapmak için kullanılır.

Kullanımı :
(ascii metin)
metin : ASCII değeri alınacak karakter. Birden fazla karakter girilirse sadece ilk karakter dikkate alınır.
Dönüş Değeri: Karakterin ASCII kodu (tamsayı).

AutoCAD 2021 ve sonrası sürümler için not:
metin argümanı daha önce bir ASCII metin dizesini veya karakterini kabul ediyordu, ancak artık bir Unicode metin dizesini veya karakterini kabul ediyor.
Dönüş değeri Unicode karakterlerini destekleyecek şekilde değiştirildi ve önceki sürümlerden farklı olabilir. Örneğin, (ascii "€")daha önce 128 döndürülüyordu, ancak şimdi 8364 döndürülüyor.
LISPSYS sistem değişkeni hangi AutoLISP motorunun kullanılacağını ve fonksiyonun davranışını kontrol eder.
0 - ASCII karakter desteği (eski davranış)
1 veya 2 - Unicode karakter desteği.
LISPSYS sistem değişkeninin değeri değiştirildikten sonra, değişikliğin etkili olması için AutoCAD'in yeniden başlatılması gerekir.

Örnekler :
(ascii "") ; 0
(ascii " ") ; 32
(ascii "a") ; 97 (a harfinin ASCII kodu)
(ascii "akcan") ; 97
(ascii "A") ; 65 (A harfinin ASCII kodu)
(ascii "Ş") ; 222
(ascii "ü") ; 252
(ascii "€") ; 128
(ascii "0") ; 48
(ascii "9") ; 57
(ascii "911") ; 57

(ascii "\n") ; 10 (Yeni satır)
(ascii "\t") ; 9 (Sekme - Tab)
(ascii "\\") ; 92 (Ters bölü)
(ascii "\"") ; 34 (Çift tırnak)

chr : ASCII kodu --> Karakter

chr fonksiyonu, bir ASCII kodunu karşılık gelen karaktere dönüştürür. ascii fonksiyonunun tersini yapar.

Kullanımı :
(chr tamsayı)

tamsayı: 0-255 aralığında bir ASCII kodu.
Dönüş Değeri: ASCII kodunun karşılığı karakter (Bir karakter)

AutoCAD 2021 ve sonrası sürümler için not: ascii fonksiyonuna bakınız.

Örnekler :

(chr 65) ; "A" (A harfi)
(chr 97) ; "a" (a harfi)
(chr 49) ; "1" (Rakam 1)
(chr 32) ; " " (Boşluk karakteri)
(chr 222) ; "Ş"

(chr 10) ; "\n" (Yeni satır)
(chr 9) ; "\t" (Sekme)
(chr 34) ; "\"" (Çift tırnak)
(chr 92) ; "\\" (Ters slash)

(chr 176) ; "°" (Derece sembolü)
(chr 169) ; "©" (Copyright işareti)
(chr 233) ; "é" (é harfi)

cvunit : Birim dönüştür

Bir değeri bir ölçüm biriminden diğerine dönüştürür. AutoCAD'de farklı ölçü birimleri arasında kolayca çevrim yapmak için kullanılır.

Kullanımı :
(cvunit değer birimden birime)
değer : Dönüştürülecek sayısal değer
birimden : Kaynak birim (metin(string) olarak)
birime : Hedef birim (metin olarak)
Dönüş Değeri : Reel, List veya nil.
Başarılı olursa dönüştürülen değer; aksi takdirde, birim adlarından biri bilinmiyorsa veya acad.unt dosyasında (veya AutoCAD LT'de acadlt.unt dosyasında) bulunamıyorsa veya iki birim uyumsuzsa (örneğin, gramı km'ye dönüştürmeye çalışıyorsanız) nil.

Örnekler :
(cvunit 1 "minute" "second") ; 60.0 (1 dakika = 60 saniye)
(cvunit 1.0 "inch" "mm") ; 2.54 (1 inç = 25.4 mm)
(cvunit 2 "ft" "in") ; 12.0 (1 feet = 24 inç)
(cvunit 1.0 "inch" "kg") ; nil (uygun olmayan dönüşüm)
(cvunit 2400 "g" "kg") ; 2.4 (2400 gram = 2.4 kg)
(cvunit 100 "grad" "degree") ; 90.0 (grad -> derece)
(cvunit 180 "degree" "radian") ; 3.14159 (derece -> radyan)
(cvunit pi "radian" "degree") ; 180.0 (radyan -> derece)
(cvunit 1 "kg" "lb") ; 2.20462 (kilogram -> pound)
(cvunit 16 "oz" "lb") ; 1.0 (ons -> pound)
(cvunit 1 "oz" "g") ; 28.3495 (ons -> g)
(cvunit 1 "miles" "m") ; 1609.34 (mil -> metre)
(cvunit 100 "Celsius" "Fahrenheit") ; 212.0 (°C -> °F)
(cvunit 0 "Celsius" "Fahrenheit") ; 32.0 (°C -> °F)
(cvunit 0 "Kelvin" "Celsius") ; -273.15 (Mutlak sıfır noktası)
(cvunit '(5 2.5 1.25) "m" "cm") ; (500.0 250.0 125.0) liste ile metre -> cm dönüşümü

trans : Koordinat sistemi dönüştür

Bir noktayı (veya yer değiştirmeyi) bir koordinat sisteminden diğerine çevirir

Kullanımı :
(trans nokta kaynak hedef [yer-değiştirme])
nokta : Üç boyutlu bir nokta veya üç boyutlu bir yer-değiştirme (vektör) olarak yorumlanabilen üç reel sayının listesi. '(x y z)
kaynak : nokta'nın ifade edildiği koordinat sistemini tanımlayan bir tamsayı kodu, varlık adı veya 3B ekstrüzyon vektörü.

hedef : Döndürülen noktanın koordinat sistemini tanımlayan bir tamsayı kodu, varlık adı veya 3B ekstrüzyon vektörü.

kaynak ve hedef için tamsayı kodu aşağıdakilerden biri olabilir:
0 : Dünya koordinat sistemi (WCS)
1 : Kullanıcı koordinat sistemi (geçerli UCS)
2 : 0 veya 1 koduyla kullanıldığında, geçerli görünüm alanının Görüntü Koordinat Sistemini (Display Coordinate System = DCS) gösterir. 3 koduyla kullanıldığında, geçerli model alanı görünüm alanının DCS'sini gösterir.
3 : Kağıt(layout) alanı DCS (sadece kod 2 ile kullanılır)

yer-değiştirme : Mevcutsa ve sıfır değilse, bu argüman nokta'nın bir nokta olarak değil, 3 boyutlu bir yer-değiştirme olarak ele alınması gerektiğini belirtir.

Dönüş değeri :

Eğer kaynak veya hedef argümanları için bir varlık adı (entity name) kullanırsanız, bu adın entnext, entlast, entsel, nentsel ve ssname fonksiyonlarının döndürdüğü formatta geçirilmesi gerekir.

Bu format, bir noktayı belirli bir nesnenin Nesne Koordinat Sistemi (OCS - Object Coordinate System) ile dünya koordinat sistemi (WCS) arasında dönüştürmenize olanak tanır.
(Bazı nesnelerde OCS, WCS ile aynıdır; bu nesneler için OCS ile WCS arasındaki dönüşüm etkisiz bir işlemdir, yani hiçbir değişiklik olmaz.)
Bir nesnenin OCS'sine dönüşüm yapmanın bir başka yöntemi de 3D ekstrüzyon vektörü kullanmaktır (üç reel sayıdan oluşan bir liste).
Ancak, OCS'si WCS ile aynı olan nesnelerde bu yöntem çalışmaz.

trans fonksiyonu ayrıca 2D noktaları da dönüştürebilir.
Bunu yaparken Z koordinatına uygun bir değer atar. Kullanılan Z bileşeni, belirtilen kaynak koordinat sistemine ve değerin bir nokta mı yoksa bir yer-değiştirme (displacement) olarak mı dönüştürüleceğine bağlıdır.
Eğer değer bir yer-değiştirme olarak dönüştürülüyorsa, Z değeri her zaman 0.0 olur.

Eğer değer bir nokta olarak dönüştürülüyorsa, doldurulan Z değeri aşağıdaki tabloda gösterildiği gibi belirlenir:

2D Noktaların Dönüştürülmüş Z Değerleri
Kaynak Doldurulan Z Değeri
WCS 0.0
UCS Mevcut yükseklik (current elevation)
OCS 0.0
DCS Mevcut inşa düzlemine (construction plane) yansıtılır.
(UCS XY düzlemi + mevcut yükseklik)
PSDCS
Mevcut inşa düzlemine (UCS XY düzlemi + mevcut yükseklik) yansıtılır

Örnekler :
Aşağıdaki örnekleri denemeden önce kullanıcı koordinat sistemini değiştirin. AutoCAD komut satırında aşağıdakiler girilir.
UCS
W
UCS
Z
90
Bu durumda UCS (Kullanıcı koordinat sistemi) WCS(Dünya koordinat sistemi) Z ekseni etrafında saat yönünün tersine 90 derece döndürülmüştür.
(trans '(100 200 0) 0 1) ; (200.0 -100.0 0.0) WCS->UCS 
(trans '(200 -100 0) 1 0) ; (100.0 200.0 0.0) UCS->WCS
(command "CIRCLE" '(100 200) 15) ; UCS'de 100,200 noktasına yarıçapı 15 olan çember çizer
(command "CIRCLE" (trans '(100 200) 0 1) 15) ; WCS'de 100,200 noktasına yarıçapı 15 olan çember çizer
(command "CIRCLE" (trans '(200 -100 0) 1 0) 15) ; WCS'deki 200,-100 noktasının UCS'deki konumuna yarıçapı 15 olan çember çizer
Aşağıdaki örnek kullanıcı koordinat sistemi değişmedi ise seçili çember ile aynı merkeze yarıçapı 15 olan çember çizer.
Ancak UCS değiştirildi ise başka bir konuma çizer. Her iki durumda kodu çalıştırıp deneyiniz.
(setq
	cember (car (entsel "Çember seç :"))
	merkez (getpropertyvalue cember "Center") ;çemberin merkez koordinatı
)
(command "CIRCLE" merkez 15) ; seçili çember merkezine çember çiz
Her iki durumda da çember merkezine çemberi çizmek için seçim ile elde edilen çember merkez koordinatı aşağıdaki örnekte olduğu gibi dönüştürülür.
(setq
	cember (car (entsel "Çember seç :")) ; 
	merkez (getpropertyvalue cember "Center") ;çemberin merkez koordinatı
)
(command "CIRCLE" (trans merkez 0 1) 15) ; seçili çember merkezine çember çiz

Hiç yorum yok:

Yorum Gönder