1372826956:AAFe2Py65GSQkfGiRnXuOQ-eD9yXcwMv988

Örneklerle Fonksiyon Tanımları #14 – AutoCAD ile Çalışma

sekil-01


redraw           Grafik ekranın tamamını veya bir kısmını yeniden çizdirir.

(redraw)  O anki geçerli (Aktif) görüntü bakışını “viewport” yeniden çizdirir ve hiçbir şey geri döndürmez

(redraw en) İsmi en değişkeninde olan varlığı yeniden çizdirir

(redraw en 1) Yukarıdaki ifadenin aynısı

(redraw en 2) Belirlenen varlığı iptal eder. Varlık silinmez; varlık iki önceki ifadedeki fonksiyon kullanılarak ekrana tekrar getirilebilir. (redraw en 3)  Belirlenen varlığı seçerek vurgular (redraw en 4)  Belirlenen varlığın seçimini vurgulanmasını kaldırır


graphscr        Grafik ekrana döndürür.

(graphscr)  grafik ekrana döndürür (metin penceresi görüntülenirken F2 tuşuna basma ile aynı) ve hiçbir şey geri döndürmez


textscr            Metin ekrana döndürür.

(textscr)  metin ekrana döndürür (grafik ekran görüntülenirken F2 tuşuna basma ile aynı) ve hiçbir şey geri döndürmez


textpage         Metin penceresini görüntületir (textscr fonksiyonu ile aynıdır.)

getvar         Bir AutoCAD sistem değişkeninin değerini elde eder.

(getvar “lunits”) LUNITS sistem değişkeninde depolanan o anki geçerli (aktif) çizim birimlerini (bilimsel, ondalıklı, mühendislik, mimari veya kesirli) gösteren (1 – 5) arasında bir tam sayı geri döner (getvar “snapunit”) (SNAPUNIT sistem değişkeninde depolanan)koordinatları o anki geçerli (aktif) X ve Y atlama aralığını “snap spacing” belirleyen bir nokta geri döner

Şayet değişkenin ismi doğru olarak yazılmazsa, hiçbir şey geri dönmez.


setvar     Bir AutoCAD sistem değişkenine bir değer atar.

(setvar “limmax” (list 14.0 9.25))  Çizim sınırlarının sağ üst köşesini belirleyen LIMMAX sistem değişkenine 14.0,9.25 koordinatlarını atar

(setvar “ortho mode” 1) diklik modunu “ortho mode” açık duruma getiren ORTHOMODE sistem değişkenine 1 değerini atar. Şayet fonksiyonun ikinci argümanı olarak 0 kullanılırsa, diklik modunu “ortho mode” kapalı duruma getir

(setvar “cmdecho” 0)  command fonksiyonu kullanıldığı zaman, komutların komut satırı ile birlikte ekranda da görüntülenmesini sağlayan ORTHOMODE sistem değişkenine 0 değerini atar. Şayet fonksiyonun ikinci argümanı olarak 1 kullanılırsa, command fonksiyonu kullanıldığı zaman, komutlar komut satırı ile birlikte ekranda da görüntülenir

(setvar “osmode” 1) çalışan nesne çıtçıtı “osnap mode” olarak uç nokta “endpoint” nesne çıtçıtını açık duruma getirir

(setvar “osmode” 3)  çalışan nesne çıtçıtı “osnap mode” olarak uç nokta “endpoint” ve orta nokta “midpoint“ nesne çıtçıtlarını açık duruma getirir (3 rakamı 1 + 2 olarak değerlendirilir)

osmode fonksiyonu ikinci argüman olarak aşağıdaki değerleri alabilir:

0 = “yok” none

1 = uç nokta “endpoint”

2 = orta nokta “midpoint”

4 = merkez nokta “center”

8 = nod “node”

16 = oktant noktaları “quadrant”

32 = kesişim “intersection”

64 = yerleştirme noktası “insertion point”

128 = dik “perpendicular”

256 = teğet “tangent”

512 = en yakın “nearest”

1024 = hızlı “quick”

2048 = uzatıldığında kesişim “apparent intersection”


command       AutoLISP programı içerisinden bir AutoCAD komutunu çalıştırır.

(command “.circle” (list 2 2) 0.5) 2,2 merkezli 0.5 birim yarıçaplı bir çember çizer. Birinci argüman olarak yazılan komut isminden önce konulan nokta (.)yerleşik AutoCAD komutunun kullanılmasını sağlar. (setq p1 (list 4 3) p2 (list 5 3)) ifadesinden sonra (command “.line” p1 p2 “” ) 4,3 noktasından 5,3 noktasına bir çizgi çizer ve LINE komutundan çıkar. Bu ifadenin en sonunda bulunan boşluk karakteri Enter tuşuna basma anlamına gelir. (command “.circle” pause 0.375) kullanıcının çemberin merkezini fare ile tıklayarak veya klavyeden girerek belirlemesi için, fonksiyonu durdurur ve sonrasında çemberin yarıçapı için 0.375 değerini girer Bir önceki örnekte görüldüğü üzere ön tanımlı bir değişken olan pause değişkeni command fonksiyonunda birçok AutoCAD komutu ile uyumlu olarak çalışmaktadır. Bununla birlikte, şayet pause değişkenini TEXT komutu ile kullanmak istiyorsanız, öncelikle sistem değişkeni TEXTEVAL sistem değişkenini sıfırdan farklı bir değere ayarlamak zorundasınız. Ayrıca, pause değişkenini SKETCH komutu ile kullanamazsınız.

(Eş zamanlı görüntü değiştirme “realtime zoom” ve Görüntü Kaydırma “Pan komutları da dahil olmak üzere) arka planda çalışan komutlar getpoint fonksiyonunda olduğu gibi AutoLISP kullanıcıdan veri beklerken de kullanılabilirler. (Eş zamanlı görüntü yaklaşma “realtime zoom” ve Görüntü Kaydırma “Pan komutları hariç olmak üzere) arka planda çalışan komutlar ön tanımlı pause değişkeninin çalışması esnasında verilen arada kullanılabilirler.

command fonksiyonu Esc (escape) tuşundan etkilenir.

Aşağıdaki örnekte görüldüğü gibi command fonksiyonundan sonra birçok komut dizisi konabilir:

(command “.line” p1 p2 “” “.circle” p3 r1)

Aşağıdaki örnekte görüldüğü üzere, komuttan çıkmaksızın hesaplama sonuçları hemen başka bir komuta girdi olarak gönderilebilir:

(setq p (list 2.0 2.0)) (command “.line”) (repeat 5 (command p)

(setq p (polar p 0.6 1.5)))

(command “”)


acad_colordlg           Kullanıcının bir renk seçmesi için bir iletişim kutusu görüntületir. Kullanıcı bir renk seçtiği zaman, acad_colordlg fonksiyonu seçilen rengin numarasını geri döndürür.

(acad_colordlg 1) ön tanımlı olarak 1 numaralı renk (kırmızı) seçili halde Renk Seç “Select Color” iletişim kutusunu görüntületir (acad_colordlg 4) 4 numaralı renk (turkuaz) seçili halde Renk Seç “Select Color” iletişim kutusunu görüntületir

İletişim kutusunda ön tanımlı olarak hangi rengin gösterileceğini belirleyen birinci argüman 0 ile 256 aralığında olabilir (0 = Bloğa Göre “Byblock”, 256 = Tabakaya Göre “Bylayer”).

(acad_colordlg 6 nil) 6 numaralı renk (macenta) seçili halde Renk Seç “Select Color” iletişim kutusunu görüntületir ve Bloğa Göre “Byblock” ile Tabakaya Göre “Bylayer” renk düğmeleri etkisizleştirilmiş haldedir.

İkinci argüman isteğe bağlıdır. Şayet hiçbir değer girilmezse, Renk Seç “Select Color” iletişim kutusu Bloğa Göre “Byblock” ile Tabakaya Göre “Bylayer” renk düğmeleri etkisizleştirilmiş halde görüntületilir.


menucmd       Ekranın görülebilir sayfaları arasında geçiş yaptırır.

(menucmd “s=assist”) ekran menüsünü standart ACAD.MNU dosyasındaki “assist” alt menüye geçiş yaptırır

(menucmd “p3=*”) o anki geçerli (aktif) menü dosyasının aşağı açılır menüsünün “POP3” kısmını açar

(menucmd “p0=*”)  pulls down (pops up?)  o anki geçerli (aktif) menü dosyasının imleç menüsü kısmını açar

Dizge argümanın birinci kısmı (eşittir işaretinden önceki kısım) düğme menüleri için, B1-B4, harici menüler için, A1-A4, çekme menüler için, P0-P16, imaj döşeme menüler için, I, ekran menüleri için, S veya tablet menüleri için, T1-T4 olabilir.


vports Aktif görüntü bakışları “viewport” için yapılandırma ayarlarını listeler.

Düşey olarak yerleştirilmiş iki görüntü bakışı “viewport” oluşturulduktan sonra, (vports) aşağıdaki satırlara benzer şekilde döner.

((4 (0.5 0.0) (1.0 1.0))

(3 (0.0 0.0) (0.5 1.0)))

Sol alt ve sağ üst köşelerin koordinatları çifti grafik ekranın kesirleri olarak ifade edilirle. O anki geçerli (Aktif) görüntü bakışı “viewport” her zaman ilk sırada listelenir.


setview           Belirli bir görüntü bakışı “viewport“ için bir görüntü ayarlar.

Bir görüntü bakışında “viewport“ bir görüntü ayarlandıktan sonra, bu görüntü VIEW komutunun Kaydet “Save” seçeneği ile “iso” ismi altında kaydedilir.

(setq vlist (tblsearch “view” “iso”)) ifadesinden sonra

(setview vlist 4) 4 numaralı görüntü bakışında “viewport” bir görüntü oluşturur

Şayet ikinci argüman sıfır (0) olursa, görüntü o anki geçerli (aktif) görüntü bakışında “viewport” oluşturulur.


trans   Bir noktayı veya yer değiştirmeyi (deplasmanı) bir koordinat sisteminden diğer bir koordinat sistemine transfer eder.

AutoCAD‘in 3 boyutta 3B “3D” çalışma yeteneği ve farklı kullanıcı koordinat sistemleri KKS “UCS” oluşturabilme yeteneği olduğu için, AutoLISP programcıları için özel bir problem vardır. Örneğin, p değişkeninin Dünya Koordinat Sisteminde DKS “WCS” belirli bir noktanın koordinatları olan 3 sayıdan oluşan bir listeyi tuttuğunu düşünelim. Şayet kullanıcı farklı bir Kullanıcı Koordinat Sistemine KKS “UCS” geçiş yaparsa, bu p değişkeninde depolanan sayılar artık farklı bir noktayı göstereceklerdir. Şayet programcı o anki geçerli (aktif) koordinat sisteminde o noktanın orijinal konumunu kullanmak isterse, programcı noktanın orijinal konumunu trans fonksiyonunu kullanarak yeni koordinat değerlerine transfer etmek zorundadır.

Birinci argüman 3 boyutlu 3B “3D” noktayı temsil eden 3 reel sayıdan oluşan bir listedir.

İkinci ve üçüncü argümanlar sırasıyla kendisinden transfer edilen transfer edilecek olan koordinat sistemlerini belirlerler. Bu argümanlar aşağıdakilerden her hangi bir tanesi olabilirler:       0 = Dünya Koordinat Sisteme DKS “WCS”.       1 = O anki geçerli (Aktif) Kullanıcı Koordinat Sistemi KKS “UCS”.       2 = 0 veya 1 değeri ile birlikte kullanıldığı zaman, o anki geçerli (aktif) görüntü bakışı “viewport” için koordinat sistemini görüntületir.

Eski koordinat sisteminin merkez noktasının 4,3 noktasına taşınması ile elde edilen o anki geçerli (aktif) kullanıcı koordinat sisteminin KKS “UCS” elde edilmesinden sonra,

(trans (list 0 0 0) 0 1)  returns (-4.0 -3.0 0.0) olarak döner

(trans (list 5 1 2) 0 1) (1.0 -2.0 2.0) olarak döner

(trans (list 5 1 2) 1 0) (9.0 4.0 2.0) olarak döner

Eski koordinat sisteminin X ekseni çevresinde 90 derece döndürülmesi ile elde edilen o anki geçerli (aktif) kullanıcı koordinat sisteminin KKS “UCS” elde edilmesinden sonra, (trans (list 5 1 2) 0 1) (5.0 2.0 -1.0) olarak döner

(trans (list 5 1 2) 1 0) (5.0 -2.0 1.0) olarak döner

VPOINT 1,-2,1 ifadesinden sonra

UCS View,

(trans (list 5 1 2) 0 2) (4.91935 1.27802 2.04124) olarak döner

(trans (list 5 1 2) 2 0)  (5.10606 0.968223 1.72937) olarak döner

 

Hakkında Sertan Türkan

AutoCAD Beyni

Bunu da Kontrol edin

Revitte Bir Plan Görünüşü Oluşturma

Revit’te projenize başka bir görünüş ekleyebilir veya mevcut bir görünüşü çoğaltabilirsiniz. Bunun için: Görünüş “View” …

Bir cevap yazın

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Yardıma mı ihtiyacınız var? Chat with us
Bir görüşme başlatmak için lütfen önce gizlilik politikamızı kabul edin.