AUTOLISP. 7 Dakikada AutoLisp Öğreniyorum El Kitabı. Hazırlayan: Gemi İnş. ve Gemi Mak.Müh.Ali ÖZEN. aliozen@gmail.com



Benzer belgeler
Akış Kontrol Mekanizmaları

HSancak Nesne Tabanlı Programlama I Ders Notları

Luca Fatura Aktarım İşlemi

INPUTBOX KULLANIMI. Komut Düğmesine uygulanan algoritma örneği

SIMAN KULLANIM KILAVUZU

Android Ders Notları

4- Turbo Pascal Bilgisayar Programlamada Kullanılan Şart Yapıları

Stok Modülü Muhasebeleştirme İşlemleri

8 Dakikada Microsoft Project Öğreniyorum El Kitabı

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8

Gidilen sayfadan bir önceki sayfaya geçilir. Şekil Git İşlemi diyalog kutusu

Programlama Dili Prensipleri. Lab Notları 8 ve 9

Metin İşlemleri, Semboller

Dinamik Kodlama. [X] [X] Yeni Fonksiyon

Uygulama İş Akış Kaydında Koşul Tanımlamaları

BİL-142 Bilgisayar Programlama II

NACA PROFİL AİLE GEOMETRİSİ HESAP PROGRAMI KULLANMA KILAVUZU

ÖĞRENME FAALİYETİ 1 ÖĞRENME FAALİYETİ 1 1. FORMLAR

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Windows 10 için Java JDK 8 ve NetBeans IDE 8.2 Kurulumu Detaylı Anlatım

ideal Sistem Tester Kullanım Klavuzu

Java 2 Standart Edition SDK Kurulum ve Java ya Giriş

BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1

BİL-142 Bilgisayar Programlama II

2. Belgeye Metin Ekleme

if (ad == "Sabri") Console.WriteLine("Merhaba Sabri. Ne zamandır gözükmüyodun...");

ASP.NET ile Bir Web Sitesi Oluşturma

HSancak Nesne Tabanlı Programlama I Ders Notları

-A Grubu- MKT103 Görsel Programlama 2015/2016 Güz Dönemi Final Sınavı

k ise bir gerçek sayı olsun. Buna göre aşağıdaki işlemler Matlab da yapılabilir.

e-imzatr Kurulum Klavuzu

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2

Toplu Kayıt Kullanıcı Kitapçığı

Diziler İndisli Değişkenler

Her Select Case bloğu, mutlaka End Select ile bitmek zorundadır.

Microsoft Excel Formül Yazma Kuralları: 1. Formül yazmak için Formül Araç Çubuğu kullanılır, ya da hücre içerisine çift tıklanarak formül yazılır.

C# Programlama Dili. İlk programımız Tür dönüşümü Yorum ekleme Operatörler

Access e Nasıl Ulaşılır. Araç çubuklarını yeniden düzenlemek için Görünüm komutunun Araç çubukları seçeneği kullanılır.

Turquaz Windows kurulum dökümanı. ftp://ftp.mirror.ac.uk/sites/ftp.postgresql.org/binary/v7.3.1/windows/pgsql731wina1.exe

18 Haziran Đlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL. Đlgili Modül/ler : Muhasebe

SM 100 Terazi Ayarları. Digi SM 100. SM 100 Terazi Ayarları

SHOP INGENICO DOKUMANI

DORYA ROBOTİK. İçindekiler. Kitap Sayfa Sayısı: 80 Kitap Fiyatı: 24,00 TL

Hukuk Parter ile SMS Yönetimi

Seri Takibi Yenilikleri

YENİ DÜNYALAR REKLAM POWERLED KULLANIM KILAVUZU

Video Hazırlama Programı ile Öğretim Materyali Oluşturulması

Internet Programming II

PROGRAMLAMA DİLLERİ I

JAVA DÖNGÜ DEYİMLERİ. For Döngüsü

BİL BİLGİSAYAR PROGRAMLAMA (JAVA)

MapCodeX MapLand Kullanım Kılavuzu

FİŞ NUMARASI DÜZENLEMESİ

Windows 7 Format Atma ve Kurulumu (Resimli Anlatım)

SAB 103 TEMEL BİLGİSAYAR KULLANIMI

Per_Puan Yıl Sonu İ şlemleri

Temel Bilgisayar Uygulamaları Web Tasarımı, Programlama Dilleri ve C# a Giriş

GÜZ YY. - MKT103 - GÖRSEL PROGRAMLAMA DERSİ - ARA SINAVI

Akıllı Kod Desteği. Şekil 1

AÇILIŞ EKRANI. Açılış ekranı temelde üç pencereye ayrılır:

Dava Dosya Takibi Kullanım Kılavuzu

VERİ TABANI YÖNETİM SİSTEMLERİ II. 9. FORMLAR ve ORACLE FORMS PROGRAMINDA FORM OLUŞTURMA

Ders Tanıtım Sunumu. Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı. Öğr. Gör. Murat KEÇECİOĞLU 1

SUPERVISOR (YETKİLİ KULLANICI) KAMPANYA YÖNETİMİ EĞİTİM DOKÜMANI

TARIM İŞLETMELERİ GENEL MÜDÜRLÜĞÜ 2018 DÖNEMİ ÜRETİCİ ŞARTLARINDA SÖZLEŞMELİ KÜÇÜKBAŞ HAYVANCILIK PROJESİ KULLANIM KILAVUZU 2/20/2018

ÖĞRENME FAALİYETİ 2 ÖĞRENME FAALİYETİ 2

Koordinat Dönüşümleri (V )

Ağ Üzerinde MATLAB kurulum rehberi (Sunucu makine)

LUCA NET BANKA EKSTRELERİ MODÜLÜ

UZAKTAN EĞİTİM YÖNETİM SİSTEMİ (MMYO)EĞİTMEN YARDIM KILAVUZU

Flash ile Etkileşimli Öğretim Materyali Hazırlama Semineri

Python Programlama Dili

Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik.

JAL IN İNTERNET TEN İNDİRİLMESİ VE KURULMASI

WEB TASARIM I. Öğr. Gör. M. Mutlu YAPICI. Ankara Üniversitesi Elmadağ Meslek Yüksekokulu

Adım 1) Photoshop ekranının üst bölümünde bulunan Window seçeneğinden Animation u seçiyoruz. Ve alt kısımda uzun bir kutucuk açıldığını göreceksiniz.

Response : Sunucunun istemciye veri yollamasını

HESAP MAKİNASI YAPIMI

Kopyalama ve Taşıma konularıyla ilgili daha değişik uygulamalar yaparak bu konunun pekiştirilmesini sağlamanız yararınıza olacaktır.

7 Temmuz Đlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL. Đlgili Modül/ler : Raporlar

AKINSOFT. Eofis NetworkAdmin. AKINSOFT EOfis NetworkAdmin Kurulumu Bilgi Notu. Doküman Versiyon : Tarih : Copyright 2008 AKINSOFT

Endüstri Mühendisliği Bölümü Bilgisayar Programlama Ders Notları

İMAGE (SİSTEM GÖRÜNTÜSÜ) ALMA VE YÜKLEME NASIL YAPILIR. İmage nedir?

FAKS SUNUCU EĞİTİM DÖKÜMANI

Problem Yaklaşım Temelleri, Algoritma ve Akış Şeması

TASARIMI PARAMETRİZE ETMENİN KILAVUZU

E-Netsis.Net Yenilikleri

NAMIK KEMAL ÜNİVERSİTESİ

Pythonda değişkenlerin türlerini tanımlamaya gerek yoktur

Bir dizinin boyutları sabittir ve kullanılmadan önce belirlenmelidir. Dizi boyutunu belirlemek için başka bir değişkende kullanabilirsiniz.

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ

NESNEYE YÖNELİK PROGRAMLAMA

Yapılacak Đşlemler: Koşuyolu, Asmadalı Sk No:29 Kadıköy Tel : Faks: (216)

KOD PARÇACIKLARI 1 / 5

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 9

HESAP PLANI DEĞİŞİKLİĞİ

Dizi elemanları yukarıdaki gibi tek tek tanımlanabileceği gibi matematiksel ifadelerdeki diziler gibi de tanımlanabilir.

FTP Programı File Zilla nın Kurulumu & Çalıştırılması

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Transkript:

AUTOLISP 7 Dakikada AutoLisp Öğreniyorum El Kitabı Hazırlayan: Gemi İnş. ve Gemi Mak.Müh.Ali ÖZEN aliozen@gmail.com

1. AutoLisp Giriş Sayfa No. 1 1.1 Programlama Diline Genel Bakış AutoLisp programlama dili, AutoCAD yazılımının bünyesinde çalışan bir programlama dilidir. Bu dil yardımıyla AutoCAD programında tanımlı olmayan bazı komutlar oluşturabilir ve bu sayede sürekli yapılması gereken çoklu işlemleri kolaylaştırarak önemli zaman kazanabilirsiniz. Bu kitapta AutoLisp programı hakkında temel bilgiler ve dilin kullanımının rahat anlaşılması için örnek kodların adım adım oluşturulmasını bulabilirsiniz. 1.2 AutoLisp Kodlarının AutoCAD de kullanımı AutoLisp dilinde yazılan kodlar, LSP uzantılı dosyalar içine not defteri vb. metin düzenleme programı ile kaydedilir. Daha sonra AutoCAD programında, Tools/AutoLisp/Load... menüsünden veya APPLOAD komutunun komut satırına yazılmasıyla karşınıza gelecek aşağıdaki ekrandan çalıştırılır. Seçilen LSP uzantılı AutoLisp kodu Load a tıklanarak çalıştırılır. Kodun daha sonra her AutoCAD açılışında tekrar tekrar APPLOAD yapmadan kendiliğinden yüklenmesi istendiği takdirde, bir defaya mahsus kod dosyası alt tarafta görülen Evrak Çantası nın üzerine sürüklenip bırakılır.

2. AutoLisp Dilinin Temelleri Sayfa No. 2 2.1 Komutlar ve Değişkenler AutoLisp dilinde her komut iki parantez içerisinde tanımlanır. Bir komut tamamlanmadan başka bir komuta başlanabilir veya komutlar arka arkaya yazılabilir. Bir komut, diğeri bitmeden başlıyorsa, her iki komutun da bitişlerinin parantezi kapatmak suretiyle ayrı ayrı yapılarak unutulmaması önemlidir. (DEFUN C:ALI( (SETQ A 3 (PRINC A (PRINC En temel üç komuttan biri olan DEFUN, yeni bir fonksiyon tanımlamaya yarar. C: ve ( arasında yazılan kısım bu fonksiyonun AutoCAD de çalıştırılması gerektiğinde AutoCAD komut satırına nasıl yazılarak çalıştırılacağını gösterir. Örneğin yukarıdaki kodu AutoCAD de çalıştırmak için APPLOAD ile LSP dosyası yüklendikten sonra ALI yazmak gerekecektir. Yeni fonksiyonu DEFUN ile tanımlarken, bu fonksiyonun AutoCAD de neler yapacağını anlattığımız kısım, halen DEFUN komutunun içerisinde sayılacağı için dikkat edilirse (DEFUN ile başlayan parantezin en sonda kapandığı görülecektir. İkinci komut SETQ, bir değişkene bir değer atamaya yarar. Yukarıdaki örnekte A adını verdiğimiz değişkene 3 sayısını atamış oluyoruz. Değişkenler en genel kullanımda üç şekildedir: Tamsayı (INTEGER, gerçek sayı (REAL veya metin (STRING. Diğer programlama dillerinden farklı olarak, AutoLisp te değişkenin hangi tür olacağı daha önce bir yerde tanımlanma zorunluluğu yoktur. O değişkene atanacak ilk değer bunu belirler. Örneğin A değişkeni 3 tamsayısının atanmasıyla bir tamsayı olmuştur. Son komut PRINC, AutoCAD ekranında bir metin görüntülenmesini sağlayan komuttur. (PRINC Goruntulenecek Metin şeklinde kullanılabildiği gibi, doğrudan bir değişkenin içeriği de tırnak işaretleri olmadan (PRINC A şeklinde görüntülenebilir. AutoLisp dilinde görüntülenen bir metnin çift görüntülenmesini önlemek üzere kod içerisine bir defaya mahsus tüm PRINC komutlarından sonra içeriği boş bir (PRINC konmalıdır. Bu (PRINC konmadığı takdirde kod yine çalışır vaziyette olacak ancak görüntülenen tüm metinler çifter kez görüntülenecektir. Bu bilgiler ışığında, yukarıda yazan dört satırlık kodun ne işe yaradığını özetlersek, öncelikle ALI yazarak çalıştırılacak bir fonksiyon tanımlıyor, bu fonksiyon kapsamında A değişkenine 3 sayısını atıyor ve son olarak ekranda A değişkeninin görüntülenmesini sağlayıp, fonksiyonu tamamlıyor.

Sayfa No. 3 2.2 Kullanıcıdan Veri Alınması ve COMMAND Komutunun Kullanılması Kodun gereği olarak bazı değerler kullanıcı tarafından girilecek şekilde olacaktır. Halihazırda AutoCAD fonksiyonlarından örneğin LINE fonksiyonunda çalışırken ilk nokta, uzunluk veya ikinci nokta gibi veriler kullanıcının yazması veya tıklamasına bırakılıyor. Bunun gibi AutoLisp dilinde yazacağımız kodlarda kullanıcıdan veri istemek için aşağıdaki kodları kullanacağız. (defun C:RR( (setq MYSET(ssget (setq PP1(GETPOINT (setq PP2(GETPOINT (command "ROTATE" MYSET "" PP1 "R" PP1 PP2 "0" "" Yukarıdaki kodun yazılmasındaki amaç AutoCAD de seçilecek nesnelerin tıklanacak ilk nokta etrafında, ikinci nokta doğrultusunu 0 dereceye getirecek şekilde döndürülmesi (ROTATE dir. Nesneleri gruplar halinde belirli alanlara dizmek, düzenlemek vb. görevler yapılacağında, hiç bir parçanın açılı durmuyor olması gerekebilir. Parçaları seçip ROTATE ile önce ilk noktasına tıklayıp, R (REFERENCE ile rölatif döndürmeye ayarlayıp sonra tekrar ilk nokta ve ikinci noktaya tıklayıp, 0 yazıp komutu tamamlamak yerine, RR yazıp ilk ve ikinci noktaya basarak işlemi kısaltmış oluyoruz. Bu işlemi onlarca, yüzlerce nesneye yapacak olduğunuzu düşünürseniz, kazanacağınız zaman için bu kodu yazmak değerli hale geliyor. Bu kod kapsamında kullanıcıdan istenen üç veri bulunuyor. Bunlar seçilecek nesne grubu (örnekte MYSET, ilk nokta (örnekte PP1 ve ikinci nokta (örnekte PP2 dir. (SSGET komutu, Seçim grubu (Selection Set nun kullanıcıdan talep edilmesini sağlamakta, (GETPOINT komutu ise tek bir noktanın kullanıcıdan talep edilmesini sağlamaktadır. Bu örnekte mevcut olmayan bir diğer veri girişi ise bir değişkene kullanıcıdan değer talep eden (GETINT komutu tamsayılar için, (GETREAL komutu gerçek sayılar için ve (GETSTRING komutu metin isteği içindir. Örneğin A değişkenine kullanıcıdan bir tam sayı atamasını istemek için gerekli kod: (SETQ A (GETINT şeklinde olacaktır. (COMMAND komutu AutoCAD içerisinde komut satırına bir şey yazar gibi bir AutoCAD komutunun çalıştırılmasına yaramaktadır. Kodun amacında tarif ettiğim gereği sağlamak için AutoCAD komut satırına yazı yazmaya başlıyoruz. Öncelikle ROTATE yazarak döndürme fonksiyonunu başlatıyoruz. AutoCAD ROTATE komutu yazılınca ilk olarak neyi döndürmek istediğini kullanıcıya sorar. Kod da bunu sağlamak için daha önce kullanıcıdan SSGET ile talep ettiği MYSET değişkenine yönlendiriyor bu isteği. Daha sonra seçimin tamamlandığını AutoCAD e belirtmek amacıyla Enter/Space tuşuna basmak anlamına gelen boş tırnak işaretlerini ( kullanıyor. Sonra AutoCAD kullanıcıdan başlangıç noktası isteyeceği için bu isteği de daha önce GETPOINT yoluyla kullanıcıdan istediğimiz PP1 noktasına yönlendiriyor. Daha sonra AutoCAD de çalışıyor olsaydık ilk noktayı seçtikten sonra R (REFERENCE i seçeceğimizi bildiğimiz için koda R ekleyerek bu görevi gerçekleştiriyoruz. Daha sonra bir ve ikinci noktaları benzer şekilde PP1 ve PP2 ye yönlendirdikten sonra referans açısını 0 olarak tanımlayıp Enter/Space anlamına gelen ile komutu tamamlıyoruz.

Sayfa No. 4 Bu fonksiyonun çalışması için yukarıdaki kodu bir LSP dosyası içerisine kaydedip AutoCAD de APPLOAD komutuyla aktif hale getirmek gerekmektedir. Daha sonra komut AutoCAD komut satırına RR yazarak çalıştırılabilecektir. Dosya adının fonksiyon ile aynı ada sahip olması şartı yoktur, herhangi bir dosya adı seçilebilir. (defun C:KK( (PRINC "\n Lutfen Parcalari Seciniz: \n" (setq myset(ssget (COMMAND "CHANGE" myset "" P "C" 1 "" (PRINC "\n Renk Kirmiziya Degistirildi \n" (princ Yukarıdaki örneğin, DEFUN komutuyla fonksiyona KK şeklinde çalışacağını tanımladığını, SSGET komutu ile myset değişkenine bir nesne grubu ekleyip, daha sonra COMMAND komutu ile CHPROP AutoCAD komutunu çalıştırıp, myset değişkenine P ve sonra C ile renk değiştireceğini belirtip sonra değişecek olan rengi 1 (kırmızı olarak seçip sonra ile fonksiyonu bitirdiğini göreceksiniz. Bu fonksiyon sayesinde nesneleri seçtikten sonra fare vasıtasıyla renklerini kırmızıya ayarlamak yerine tekrarlanabilir (Enter/Space e tekrar basmak suretiyle bir komut ile KK yazarak hızlıca renklerini kırmızıya ayarlayabileceğimizi ve bunun sık kullanılan bir durumda ne kadar zaman kazandıracağını düşünebilirsiniz. 2.3 WHILE Döngüleri, IF Şartları ve Dört İşlem Komutları Diğer programlama dillerindekine benzer döngü ve şartlandırmalar AutoLisp te de mevcuttur. Döngüler (WHILE -döngü şartı- -olay- şeklinde -döngü şartı- sağlandığı sürece -olay- ı gerçekleştirmeye programın devam etmesi şeklindedir. Döngü şartı, (WHILE (= A B -olay-, A değişkeni B değişkenine eşit olduğu sürece -olay- devam eder şeklinde veya (WHILE (> A B -olay-, A değişkeni B değişkenden büyük olduğu (< işaretiyle küçük olarak da ayarlanabilir. sürece -olay- devam eder şeklinde belirlenir. Şartlandırma (IF -şart- -olay1- -olay2- şeklinde, -şart- sağlanıyorsa -olay1-, sağlanmıyorsa -olay2- yi gerçekleştirir. Dört işlem, diğer programlama dillerinde olduğu gibi bildiğimiz matematik yazım şekliyle gerçekleşmiyor, her bir işlem bir komutmuş gibi (-işlem- -sayı1- -sayı2-... -sayı n- şeklinde yazılarak yapılıyor. Örnek vermek gerekirse (SETQ A 5 yazıp A değişkenini doğrudan 5 e eşitlemek yerine (SETQ A (+ 3 2 şeklinde yazarak A değişkenini 3 ile 2 nin toplamına eşitlemek mümkün. Bunun yanısıra daha önce tanımlanmış bir değişkeni dört işlem komutları içerisinde kullanabiliriz: (SETQ A (- B 3 şeklinde yazacağımız kod ile A değişkenini, B değişkeninden 3 çıkarma işlemi sonucuna eşitlemiş oluyoruz. Bir değişkeni tanımlarken, o değişkenin o anki değerini yine işlem içerisinde kullanabilir. Örneğin, (SET A (* A 3, A değişkenini, A değişkeninin mevcut değerinin 3 katına eşitle anlamına gelmektedir.

(DEFUN C:BUL( (SETQ AA (GETINT \n Lutfen 1 ile 10 arasinda bir tamsayi giriniz: \n (SETQ BB 1 (WHILE (< BB 11 (PRINC BB sayisinin su anki degeri: (PRINC BB (IF (= AA BB (PRINC BB su an el ile girdiginiz sayiya esit. (PRINC BB su an el ile girdiginiz sayiya esit degil. (PRINC \n (SETQ BB (+ BB 1 (PRINC \n BB 10 sayisina ulasti. Program kapatilacak. (PRINC Sayfa No. 5 Örnek kod incelendiğinde, AutoCAD de BUL komutuyla çalışan, kullanıcıdan bir AA sayısı tanımlaması istendiği, BB sayısının program tarafından 1 olarak belirlediği ve 11 den küçük olduğu sürece çalışmaya devam edecek bir döngüye sokulduğu görülmektedir. Döngü içerisinde kullanıcıya BB sayısının kaç olduğu gösteriliyor, daha sonra bir şartlandırmayla BB sayısının o anki değerinin kullanıcı tarafından girilen AA ile aynı olup olmadığının kontrolü yapılıyor ve son olarak BB sayısı olduğu sayıdan 1 artırılarak döngü tamamlanıyor. Bu sayede BB sayısı her döngüde bir artıyor ve en sonunda döngü şartı olan 11 den küçük olma özelliğini kaybedince döngü tamamen bitiyor. Program kullanıcıya BB sayısının 10 a ulaştığını belirten bir metin görüntüleyip programı kapatıyor. 3. AutoLisp İçin Daha Fazla Kaynak 3.1 İnternet Kaynakları Bu kitaptaki temel bilgiler ile AutoLisp programlama diline yaptığınız başlangıcı ilerletmek ve uzmanlaşmak istediğiniz takdirde internette çok çeşitli kaynaklar bulabilirsiniz. Bu kaynakların arasında diğerlerine nazaran kolay anlatımı ile www.jefferypsanders.com/autolisp.html adresinde konumlanmış olan J. P. Sanders a ait ders notlarını takip edebilirsiniz. Bir kodu yazmaya başlamadan önce kısmen veya tamamıyla aynı olan bir kod daha önce yazılmış mıdır diye kod kaynaklarını kontrol etmekte fayda olacaktır. Hali hazırda kodlanmış AutoLisp kodları aradığınız takdirde, yine J. P. Sanders in AutoLisp sayfasına yönlenebileceğiniz gibi http://www.simplecad.com/lisp/lisp.htm adresinde konumlanmış olan lisp kaynakları bağlantılarını takip edebilirsiniz.

3.2 AutoCAD Yardım Dosyaları Sayfa No. 6 AutoLisp programlama dili, resmi olarak Autodesk firmasının AutoCAD programının içeriğine dahil olduğu için AutoCAD programı yardım dosyası içeriğinde ana sayfada aşağıdaki görünen ekranda olduğu gibi sol menüden AutoLISP, Visual LISP and DXF seçeneği seçilerek programlama diline ait gerekli bütün açıklamaları elde edebilirsiniz. Önemli Not: Bu kitapta anlatılan kodlar ve AutoCAD komutları AutoCAD 2004 sürümünde hatasız çalışacak şekilde düzenlenmiştir. AutoCAD komutları ve komutların kullanıcıdan beklediği değişkenler farklılıklar gösterebilir. Kitapta örnek verilen tüm kodlar CD de mevcuttur. Bu notlar amatörce hazırlanmış olup, izinsizce kullanımı, kopyalanması, hatta içinden bilgi araklanıp, kaynak göstermeden kullanılmasında hiçbir sakınca yoktur. Faydalı olması dileğiyle.