;;; ========================================================================== ;;; Komut Adı: FULLX ;;; Açıklama: Seçilen alandaki veya tüm çizimdeki iç içe geçmiş (nested) ;;; tüm blokları, hiç blok kalmayana kadar tamamen patlatır. ;;; Geliştirici: Furkan Özçelik ;;; Web Sitesi: www.furkanozcelik.com.tr ;;; Versiyon: 1.0 ;;; Tarih: 2026 ;;; ========================================================================== (defun c:FULLX ( / ss qa pass blk_count ) (princ "\n=========================================================") (princ "\n Geliştirici: Furkan Özçelik | www.furkanozcelik.com.tr ") (princ "\n Versiyon: 1.0 - Derinlemesine Blok Patlatıcı ") (princ "\n=========================================================\n") (princ "\nPatlatılacak objeleri seçin (Tüm proje için ekrana 'ALL' yazıp Enter'a basabilirsiniz): ") ;; Sadece blokları (INSERT) seçecek şekilde filtreleme yapıyoruz (if (setq ss (ssget '((0 . "INSERT")))) (progn ;; Çoklu obje patlatmaya izin vermek için QAFLAGS sistem değişkenini 1 yapıyoruz (setq qa (getvar "QAFLAGS")) (setvar "QAFLAGS" 1) (setq pass 1) ;; İçeride blok kaldığı sürece döngüye devam et (while ss (setq blk_count (sslength ss)) (princ (strcat "\n-> Aşama " (itoa pass) ": " (itoa blk_count) " adet blok patlatılıyor...")) (command "_.EXPLODE" ss "") ;; Patlama sonucu ortaya çıkan YENİ objeler arasından tekrar blokları bul (Previous) (setq ss (ssget "_P" '((0 . "INSERT")))) (setq pass (1+ pass)) ) ;; İşlem bitince sistem değişkenini eski haline geri getir (setvar "QAFLAGS" qa) (princ "\n\nİŞLEM TAMAMLANDI: Seçimdeki tüm iç içe geçmiş bloklar başarıyla patlatıldı!") ) (princ "\nSeçim alanında herhangi bir blok bulunamadı.") ) (princ) ) (princ "\n'FULLX' komutu başarıyla yüklendi. Çalıştırmak için komut satırına FULLX yazın.") (princ "\nGeliştirici: Furkan Özçelik | www.furkanozcelik.com.tr") (princ)