Ssget İşlevi – AutoCAD Ödevi Yaptırma – AutoCAD Analizi Yaptırma Fiyatları – AutoCAD Analizi Örnekleri – Ücretli AutoCAD Analizi Yaptırma – AutoCAD Analizi Yaptırma Ücretleri
AutoLISP ile Nesneleri Seçme
Tek bir nesneyi seçip üzerinde işlem yapmanızı sağlayan bir AutoLISP ifadesini kolayca oluşturabilirsiniz. Burada bir nesneyi 90° döndüren bir makro örneği verilmiştir.
Bu örnekte, “döndür”den sonraki duraklama bir seçim yapmanızı sağlar. Ardından gelen çift tırnak ↵ gibi davranır ve ardından başka bir duraklama, bir dönüş noktası seçmenize olanak tanır. Son olarak, Döndür komutunun seçiminizi 90° döndürmesini söylemek için 90 verilir.
Bu makroyu AutoCAD’e yükleyip çalıştırırsanız, bir nesne seçmeniz istenir. Daha sonra hemen dönüş merkezi için bir nokta seçmeniz istenir. Çoğu AutoCAD komutunda olduğu gibi diğer nesneleri seçmeye devam etmenize izin verilmeyecektir.
Peki ya bu makronun yalnızca bir seçim yerine birkaç seçim yapmanıza izin vermesini istiyorsanız? Bu noktada, bunu yapmak için bir program oluşturacak kadar neredeyse bilgi sahibisiniz. Eksik olan tek parça Ssget.
Ssget İşlevi
Şimdiye kadar değişkenlere sayı, metin ve koordinat atayabileceğinizi biliyorsunuz. Ssget, aşağıdaki alıştırmada gösterildiği gibi, bir nesne kümesini bir değişkene atayan bir işlevdir:
1. Ekrana rastgele birkaç çizgi çizin.
2. (setq ss1 (ssget))↵ girin.
3. Nesneleri seç: komut isteminde, herhangi bir standart seçim yöntemini kullanarak satırları seçin. Herhangi bir nesne seçme isteminde yaptığınız gibi nesneleri seçebilirsiniz.
4. Nesneleri seçmeyi bitirdiğinizde ↵ tuşuna basın. <Seçim kümesi: n> mesajını alırsınız, burada n, seçim kümesini tanımlayan alfasayısal bir değerdir.
5. Taşı komutunu başlatın ve nesne seçim isteminde !ss1↵ girin. Daha önce seçtiğiniz satırlar vurgulanır.
6. ↵ tuşuna basın ve ardından Taşı komutunu bitirmek için iki nokta seçin.
Bu alıştırmada, ss1 değişkeni olarak bir seçim kümesi kaydettiniz. Diğer değişkenlerde yaptığınız gibi, bu seçim kümesini Komut isteminden kullanarak geri çağırabilirsiniz.
Bir İfadede Ssget Kullanma
ss1 değişkenini bir AutoLISP ifadesinde de kullanabilirsiniz. Örneğin, bir sonraki alıştırmadaki R90 makrosu, 90° döndürülecek birkaç nesne seçmenizi sağlar:
1. (defun c:r90 (/ ss1)↵) girin AutoLISP istemi görünür.
2. Makroyu tamamlamak için şunu girin:
3. Makroyu başlatmak için r90↵ girin.
4. Nesneleri seç: komut isteminde, daha önce çizdiğiniz rastgele çizgilerden birkaçını seçin.
5. Seçiminizi onaylamak için ↵ tuşuna basın ve ardından ekranın merkezine yakın bir nokta seçin. Seçtiğiniz çizgiler 90° döner.
Defun işlevi, AutoLISP’e bunun r90 adlı bir komut olduğunu söyler. Makronun adını bir liste takip eder; buna bağımsız değişken listesi denir. Argüman listelerine bu bölümde biraz sonra bakacağız.
Bağımsız değişken listesinin ardından, önceki alıştırmada kullandığınız (setq ss1 (ssget)) ifadesi gelir. Yeni makro burada durur ve daha sonra Döndür komutuna uygulanacak bir dizi nesne seçmenizi ister.
Sonraki ifade, Komut işlevini kullanır. Komut, bir AutoLISP programına standart AutoCAD komut satırı girişi eklemenizi sağlar. Bu durumda girdi, Döndür komutunu vererek başlar.
Daha sonra ss1 tarafından saklanan seçim setini Döndür komutunun nesne seçim istemine uygular. Ardından, iki “” işareti bir ↵ gösterir. Duraklatma, kullanıcının döndürme için bir temel nokta seçmesine olanak tanır.
Son olarak, Döndür komutunun açı istemine 90 değeri uygulanır. Komut istemine girildiğinde ifadenin tamamı aşağıdaki gibi görünür.
Bu makroda Ssget işlevi, kullanıcının istediği kadar çok nesne seçmesine izin vererek esneklik katar. (Duraklat işlevini ss1 değişkeni yerine kullanabilirsiniz, ancak Duraklat ile kullanıcının bir pencere mi kullanacağını, noktaları mı seçeceğini veya önceki bir seçim setini mi seçeceğini tahmin edemezsiniz.)
ssget filter list
AutoLISP ssget
AutoLISP ssget filter list
Ssget
Swamp autocad
Bellek Tüketiminin Yerel Değişkenlerle Kontrol Edilmesi
Seçim kümeleri, AutoLISP’deki bellek domuzlarıdır. Çok fazla oluşturursanız, AutoLISP’in hafıza rezervlerini tüketirsiniz. Seçim kümeleri tarafından kullanılan belleği sınırlamak için bunları yerel değişkenlere dönüştürebilirsiniz. Yerel değişkenler, yalnızca program talimatlarını yürütürken var olan değişkenlerdir. Program bittiğinde, yerel değişkenler atılır.
Değişkenleri yerel yapmak için kullanılan araç bağımsız değişken listesidir. Rec programında program adının hemen ardından gelen boş parantez grubuna tekrar bakalım.
Bu parantezler arasına bir değişken listesi eklerseniz, bu değişkenler yerel hale gelir. Az önce baktığınız yeni r90 makrosunda, ss1 seçim-kümesi değişkeni yerel bir değişkendir.
UYARI: Argüman listesinde /’den sonraki boşluk çok önemlidir. Makronuz onsuz düzgün çalışmaz.
Argüman listesi eğik çizgi ile başlar, ardından bir boşluk ve ardından değişkenler listesi gelir. r90 programı işini bitirdiğinde, ss1’e atanmış herhangi bir hafıza kurtarılabilir.
Bazen bir değişkenin tüm AutoLISP programları tarafından her zaman erişilebilir olmasını istersiniz. Bu tür değişkenler genel değişkenler olarak bilinir. Geçerli düzenleme oturumunda bilgileri depolamak için genel değişkenleri kullanabilirsiniz. Hatta birkaç seçim setini global değişkenler olarak saklayabilirsiniz. Bununla birlikte, bellek tüketimini kontrol etmek için genel değişkenleri idareli kullanın.
Bir AutoLISP Programının Akışını Kontrol Etme
Bir program için tipik bir görev, mevcut bir koşula bağlı olarak şu veya bu işlevi yürütmektir. Bu tür bir işleme genellikle if-then-else koşullu ifadesi denir: “Bir koşul karşılanırsa, A hesaplamasını yapın, aksi takdirde B hesaplamasını yapın.” AutoLISP, bu tür işlemleri kolaylaştırmak için If işlevini sunar.
If İşlevini Kullanma
İPUCU : if-then-else deyiminin yaygın bir kullanımı, bir kullanıcının bir bilgi istemine verdiği Evet veya Hayır yanıtına yanıt olarak programın akışını yönlendirmektir. Kullanıcı Devam etmek istiyor musunuz? sorusuna Evet yanıtı verirse, örneğin, bu yanıt if-then-else deyiminde programı devam etmeye ve nesneleri silmek gibi bazı işlevleri gerçekleştirmeye yönlendirmek için kullanılabilir.
If işlevi iki bağımsız değişken gerektirir. İlk bağımsız değişken True veya False döndüren bir değer olmalıdır—AutoLISP durumunda, true için T veya false için nil. Bu, “Doğruysa A yap” demek gibi bir şeydir. İsteğe bağlı olarak, döndürülen değer sıfırsa gerçekleştirilecek eylem olan üçüncü bir bağımsız değişken sağlayabilirsiniz.
AutoLISP ssget AutoLISP ssget filter list Ssget ssget filter list Swamp autocad