20 Mart 2020
15 Ekim 2018
HQ Library hakkında
''HQ Library'' Autocad için sadece yardımcı bir araç değildir. Daha fazlası da vardır.
Zira taşıdığı ismin, vizyonun anlamını için geçmişi unutmamak gerekir.
İlk önce Kütüphane v.1.0 exel dökümanı hakkında bahsetmek istiyorum. Yıllar önce makine imalatı sektöründe çalışır iken, modül dişli hesaplamaları için exel hesaplama tabloları oluşturuldu. İlk hesaplama tablosu modül dişliler için oluşturulmuştur..
Zamanla exel dosyasındaki sayfa sayısı daha fazla oldu. Bu döküman ''kütüphane'' olarak isimlendirildi. Bu exel dökumanı sizlere (2006 yılı) ilk olarak autocadokulu.com web adresinde paylaşıma sunuldu. Bu günkü adıyla cizimokulu.com.
Geçen zamanla birlikte Autolisp'i öğrendik ve arkadaşlarımıza da öğretmeye çaba gösterdik.. :-)
İşte ne olduysa her şey bu zamanda oldu! Exel dökümanındaki sayfa sayısı 20 adetten fazla oldu ve bu sayfalara erişim zorluğu yaşandı. Exel'deki sayfaları açabilmek için bir autolisp programı oluşturuldu. İsim olarak ''evrak otomasyon sistemi'' denildi.
Exel dosyası Autolisp program kullanılarak açıldı ama exel'deki istenilen özel hesaplama sayfaları hiç açılamadı! Yani yazılan autolisp programdan verim alınamadı. :-)
Oysa özel Autocad komutları ile txt, exel, pdf dökümanları açılabiliyordu. Bu da teknik evraklara tek tuşla ulaşabilmek demektir.
Yaşanan dosya açma problemini çözebilmek adına ilk hesaplama tablosu (modül dişli) isminden alıntı yapılarak yeni bir kavram düşünüldü. Modüler sistem kavramı!
Modüler sistem sayesinde exel dosyası parçalara ayrıldı ve mevcut içerik sınıflandırmaya tabi tutuldu.
Modüler sistem ile ;
1. Dişli hesapları
2. Saç açınım metal işleme teknikleri hesapları
3. Rulman seçimi ve uygulama örnekleri
4. Malzeme için maliyet hesapları
5. Zincir dişli, kasnak kayış hesapları
6. Geometrik şekillerde hacim mt2 hesaplamaları
7. Güç devir iletim hesaplamaları
Tüm dosyalar yeni versiyon için ayrı ayrı oluşturuldu. Bu dosyaların Autocad üzerinden açılabilmesi için gerekli programlar da yazıldı.Fakat eksik olan bir şey vardı ! Modül dişli çizimi yapacak bir autolisp program, bir komut yoktu.
Zamanla Autolisp dili sayesinde birçok program yazılmaya başlandı.. Bu yazılan programları da bir araya getirebilmek için ciddi bir neden olması gerekiyordu, çünkü sayıca çok çoğalmaya başladılar.
Bunca olaydan sonra exel dökümanına verilen ‘’kütüphane’’ kelimesinin anlamını sorgulamaya başladım.Kitap kütüphanesi mi, mimari çizim block kütüphanesi mi, yoksa mekanik aksam kütüphanesi mi?
Çözüm olarak çoklu dil desteği sağlayan Autolisp program yazıldı. Kütüphane ismi yerine HQ Library ismi kullanılması karar verildi.
HQ Library ( High Quality Design Sistem) demek ‘’en iyi, en kaliteli tasarım sistemi‘’ demek.
Amaç tabi ki yapılan işleri kolaylaştırmak..
Autocad'te command satırında gözüken yazıların deyiştirilebileceği keşfedildi.
Böylece çoklu dil desteği sağlayan autolisp programı yazıldı.
10 Ekim 2018
Autolisp editörü
Arkadaşlar bu gün size Autolisp için program yazma teknikleri konusunda bahsedeceğim. Demek istediğim nasıl yazacağız , nerede yazacağız ? Bu konu için birçok seçenek mevcut.
a) El yazısı ile A4 kağıda yazmak, daha sonra bilgisayarda yazmak.
b) Autocad'te bulunan Visual Lisp editörünü kullanmak.
c) Notepad plus, Editplus, TotalEdit, TextPad, LispPad gibi editör programlardan herhangi birini kullanmak.
A4 kağıda yazmak :
Benim en çok sevdiğim yöntem bu. Önce A4 kağıda kalem ile Autolisp programını yazdıktan sonra, daha sonra bilgisayarda yazmak.
Vusual lisp editörü :
Autocad programında bulunan vusual lisp editörü (Autolisp & Vusual Lisp için)
program yazma ve test etme aracıdır.
Editör program kullanmak :
Size yardımcı olacak çok çeşitli metin düzenleme / editleme programları mevcuttur.
Ama hiç birisi ''vusual lisp editörü'' gibi değildir. İşe yarar ama bir yere kadar.
Vusial lisp editörü ile program yazarsın ve çalışıp çalışmadığını test edersin.
Metin editörü programları ile program yazarsın fakat programın doğruluğunu test edemezsin.
Herşeye rağmen çok ta güzeldir bu mentin editörü programları.
Rengarektir kodlar, otomatik kelime tamamlama özelliği, parantez konusunda hassasiyet..
(Parantez konusu hakkında ayrı bir makale yazacağım..)
En çok bilinen yada kullanılan diyelim Notepad plus programıdır.
Notepad plus ve Vusual Lisp Editörü konusunda ayrı bir makale yazmak gerek. :-)
Autolisp hataları
Kullanılan yada yeni oluşturulan bir Autolisp programı bazen hata verebilir.
Genellikle yeni oluşturulan bir autolisp programı imla hatalarından dolayı hata vermesi söz konusudur.. Autocad oluşan bu hatalar ile ilgili uyarı mesajı gösterir kullanıcısına.
Bazen kullanıcı da özel Autolisp programlar oluşturarak uyarı mesajı görünmesini sağlayabilir.
En çok oluşan Autolisp hataları :
1) malformed list on input :
(girişte hatalı biçimlendirilmiş liste hatası ile ilgili mesaj)
Kodda bir veya daha fazla sağ parantez eksik.
2) malformed string on input :
(girişte hatalı oluşturulmuş dize hatası ile ilgili mesaj)
Kod, bir dize sınırlayıcısı (") eksik bir dize içerir.
3) extra right paren on input :
(girişte ekstra sağ parentez hatası ile ilgili mesaj)
Kod çok fazla sağ parantezler var.
4) Error: quit / exit abort :
(Hata : Çıkmak / Çıkış iptali hatası ile ilgili mesaj)
AutoLISP fonksiyonları (çıkış) veya (çık) değerlendirildi.
6 Ekim 2018
Autolisp ders no 8
; Çizgi çizme lispi
(defun c:lineciz3 ()
(setq oldsnap (getvar "osmode"))
(setvar "osmode" 0)
(setq pt1 (getpoint "\n İlk nokta için ekrana tıkla ?! :"))
(setq pt2 (getpoint "\n İkinci nokta için ekrana tıkla ?! :"))
(setq pt3 (getpoint "\n Üçüncü nokta için ekrana tıkla ?! :"))
(setq pt4 (getpoint "\n Dördüncü nokta için ekrana tıkla ?! :"))
(setq pt5 (getpoint "\n Beşinci nokta için ekrana tıkla ?! :"))
(command "line" pt1 pt2 "")
(command "line" pt2 pt3 "")
(command "line" pt3 pt4 "")
(command "line" pt4 pt5 "")
(setvar "osmode" oldsnap)
(princ)
)
(Princ "Lisp'i çalıştırmak için lineciz3 yazınız! [http://hqlibrary.blogspot.com] ")
(defun c:lineciz3 ()
(setq oldsnap (getvar "osmode"))
(setvar "osmode" 0)
(setq pt1 (getpoint "\n İlk nokta için ekrana tıkla ?! :"))
(setq pt2 (getpoint "\n İkinci nokta için ekrana tıkla ?! :"))
(setq pt3 (getpoint "\n Üçüncü nokta için ekrana tıkla ?! :"))
(setq pt4 (getpoint "\n Dördüncü nokta için ekrana tıkla ?! :"))
(setq pt5 (getpoint "\n Beşinci nokta için ekrana tıkla ?! :"))
(command "line" pt1 pt2 "")
(command "line" pt2 pt3 "")
(command "line" pt3 pt4 "")
(command "line" pt4 pt5 "")
(setvar "osmode" oldsnap)
(princ)
)
(Princ "Lisp'i çalıştırmak için lineciz3 yazınız! [http://hqlibrary.blogspot.com] ")
Şimdiye kadar yayınlanan Autolisp derslerinde çizgi , daire , yay çizmeyi öğrenmiştik..
En son Autolisp dersimizde de birçok çizim objesi bulunan karmaşık çizimleri tanımaya başladık.
Bu tip çizim uygulamaları için osmode açıp kapatmamız gerekli.
Oluşturulan Autolisp programında bu işlem uygulanmaz ise, yaptığınız autolisp programı ara sıra hata verir.
Program hakkında açıklamalar :
1) İlk satırda bulunan c: sonrasındaki ifade komut ismidir.Yani buradaki komut ismi lineciz3 olarak belirlendi.
2) Getvar komutu ile osmode deyişkenin güncel değerini öğrendik. Bu değeri de setq komutuyla oldsnap deyişkenine atadık. Setvar komutunu kullanarak osnap değerini sıfırladık. En son yazdığımız bu program bitmeden önce osnap değerini tekrar eski haline getirmemiz gerekiyor.
3) Setq komutu ile ard arda 5 tane deyişken tanımladık. Bu deyişken için isim olarak pt1, pt2, pt3 dedik.. Pt1 demek point1 demek, yani 1 nolu kordinat noktası demek. Pt2 demek 2 nolu kordinat noktası demek.
4) Getpoint komutu ile kullanıcıdan ekrana tıklamasını istedik. Ekrana tıklanıldığında belli bir kordinat noktasını setq komutu ile pt1 deyişkenine tanımladık.
5) Bizlerin kordinat dediği şey aslında x,y,z kordinatı. Çizgi çizdirmek için ekranda birkaç noktaya tıklamak gerekiyor. Bu programda bunu gerçekleştirdik.
5) Command komutunu kullanarak çizgi çizme işini gerçekleştirdik. Daha önceki derslerden farklı olarak daha fazla çizgiyi çizdirmiş oluyoruz.
6) Autolisp programı bitmeden önce osmode'yi eski haline çevirmek için setvar komutu kullandık. Programın başlangıcında osmode değerini setq komutu ile oldsnap deyişkenine kaydetmiştik.
7) Princ komutunu kullandık.
Sormak istediğiniz bir soru var mı ?!
HQ Terms of Service
Terms of Service ("Terms")
Last updated: October 06, 2018Please read these Terms of Service ("Terms", "Terms of Service") carefully before using the http://hqlibrary.blogspot.com website (the "Service") operated by HQ Library ("us", "we", or "our").
Your access to and use of the Service is conditioned on your acceptance of and compliance with these Terms. These Terms apply to all visitors, users and others who access or use the Service.
By accessing or using the Service you agree to be bound by these Terms. If you disagree with any part of the terms then you may not access the Service. This Terms of Service agreement for HQ Library is managed by
TermsFeed Terms and Conditions Generator.
Links To Other Web Sites
Our Service may contain links to third-party web sites or services that are not owned or controlled by HQ Library.HQ Library has no control over, and assumes no responsibility for, the content, privacy policies, or practices of any third party web sites or services. You further acknowledge and agree that HQ Library shall not be responsible or liable, directly or indirectly, for any damage or loss caused or alleged to be caused by or in connection with use of or reliance on any such content, goods or services available on or through any such web sites or services.
We strongly advise you to read the terms and conditions and privacy policies of any third-party web sites or services that you visit.
Termination
We may terminate or suspend access to our Service immediately, without prior notice or liability, for any reason whatsoever, including without limitation if you breach the Terms.All provisions of the Terms which by their nature should survive termination shall survive termination, including, without limitation, ownership provisions, warranty disclaimers, indemnity and limitations of liability.
Governing Law
These Terms shall be governed and construed in accordance with the laws of Turkey, without regard to its conflict of law provisions.Our failure to enforce any right or provision of these Terms will not be considered a waiver of those rights. If any provision of these Terms is held to be invalid or unenforceable by a court, the remaining provisions of these Terms will remain in effect. These Terms constitute the entire agreement between us regarding our Service, and supersede and replace any prior agreements we might have between us regarding the Service.
Changes
We reserve the right, at our sole discretion, to modify or replace these Terms at any time. If a revision is material we will try to provide at least 30 days notice prior to any new terms taking effect. What constitutes a material change will be determined at our sole discretion.By continuing to access or use our Service after those revisions become effective, you agree to be bound by the revised terms. If you do not agree to the new terms, please stop using the Service.
Contact Us
If you have any questions about these Terms, please contact us.
Kaydol:
Kayıtlar (Atom)