Home / Netcad Makro / Seçilen Objeleri En Alta Gönderme (Send Selected Objects to Bottom)

Seçilen Objeleri En Alta Gönderme (Send Selected Objects to Bottom)

Seçilen Objeleri En Alta Gönderme Makrosu


Bu makro, NetCAD ortamında seçilen objeleri çizim sırasına göre en alta taşımak için tasarlanmıştır. Kullanıcı, belirli objeleri seçer ve bu objeler, diğer tüm objelerin altına yerleştirilir. Çizimlerde katman sıralamasını düzenlemek, objeleri arka plana göndermek veya görsel hiyerarşiyi optimize etmek için mükemmel bir araçtır. Makro, objelerin orijinal özelliklerini korurken yalnızca çizim sırasını değiştirir. Hızlı, güvenilir ve kullanıcı dostu bir çözüm sunar. 🛠️


Nasıl Çalışır (How Does It Work)

  • Obje Seçimi: Kullanıcı, NetCAD arayüzünde en alta gönderilecek objeleri seçer.
  • Seçim Seti Oluşturma: Makro, seçilen objeleri bir seçim setine kaydeder ve objelerin sayısını belirler.
  • Obje İşaretleme: Seçilen objeler geçici olarak işaretlenir (stag = 1) ve mevcut konumlarında yeniden çizilir.
  • Sıralama Değişikliği: Seçilmemiş objeler kopyalanarak yeni objeler oluşturulur ve sırayla yeniden çizilir. Seçilen objeler en alta taşınır.
  • Temizlik: İşlem sonrası geçici değişkenler ve seçim seti temizlenir, sistem kaynakları serbest bırakılır. Geri
  • Alma Desteği: Makro, işlemin geri alınabilmesi için undo komutlarını destekler.

Etiket ( Labels )

netCAD, makro, obje sıralama, çizim düzeni, seçilen objeleri alta gönderme, VBScript, katman yönetimi, çizim optimizasyonu, obje yönetimi, NetCAD makro, çizim sıralama, görsel hiyerarşi


📝 Netcad NVB Code

VB
Sub Main
Dim i, ss, eskiobje,sos, objeindex, yeniobje
Dim objeadet, obje
  with Netcad

    set ss = .NewSelectionSet   ' Anlik Secim objesi yarat
    set eskiobje = .newobject
    'set yeniobje = .newobject
'------- Obje seçme ve seçilen objelerin tabaka isimlerini kaydetme --------
  if ss.Select ("En alta gönderilecek objeleri seçiniz.",array()) then' obje sec
    sos = ss.ne 'Seçilen Obje Sayısı
    objeadet = .numobject

 .undo(1)
    for i = 0 to ss.ne-1
        objeindex = ss.getselectedobject (i,eskiobje)
        eskiobje.stag = 1
        .drawobject eskiobje,-1
        .putobject objeindex,eskiobje
     next

    for i = 0 to objeadet-1
        set obje = .getobject(i)
        if obje.tag<>0 then 'Obje Silinmiş Değil ise...
     if obje.stag <> 1 then
         set yeniobje = obje.getcopy 'Seçilmemiş Obje aynen Yeniobje olarak kopyalandı.
        .drawobject yeniobje,obje.renk 'Yeni obje ekrana çizildi.
        .addobject yeniobje            'Yeni Obje NetCAD'e eklendi
        .delobject i,obje   'Orjinal obje silindi.
     else
        obje.stag = 0
        .putobject i,obje
     end if
     end if
       next
    .undo(2)
    end if

  set obje = nothing
  set objeadet  = nothing
  set yeniobje  = nothing
  set objeindex = nothing
  set sos = nothing
  set eskiobje  = nothing
  set ss = nothing
  set i = nothing

  end with
End Sub
VB

netcad-en-alta-gonder

⚠️ Dikkat! Netcad Makrosu Kullanımı Hakkında Bilgilendirme

Makroyu kullanmadan önce lütfen aşağıdaki uyarıları dikkatlice okuyunuz:

• Obje sayısı yüksekse işlem uzun sürebilir ve Netcad yazılımı yanıt veremez hale gelebilir.
• Bu nedenle tüm projelerinizi önceden yedeklemeniz önemle tavsiye edilir.
• Makro çalıştıktan sonra işlemi geri almak mümkün olmayabilir.
Makrolar periyodik olarak güncellenmektedir; sayfamızı takip ederek güncel sürümleri kullanmaya özen gösteriniz.

💾 Makrolar yalnızca Netcad yazılımında çalışır ve .nps formatında sunulur. Bu format düzenlenemez; özelleştirme talepleriniz için bizimle iletişime geçebilirsiniz.

✉️ Görüş, öneri ve hata bildirimleri için: sabangul67@gmail.com

⚙️ Bu makrolar Kadastro, 2B, Orman, Kamulaştırma, Değerleme, CBS, Halihazır Harita, İmar Planı, Etüt-Proje gibi birçok alanda kullanılabilir.

🔐 Makrolar e-posta eki veya sosyal medya üzerinden paylaşılmaz. Talepte bulunmanız durumunda yalnızca e-posta adresinize bilgilendirme yapılır. Makrolar yalnızca internet sitemiz üzerinden paylaşılır.

📥 Makroları indirerek kullanım sorumluluğunu kabul etmiş sayılırsınız. Oluşabilecek tüm sorunlar kullanıcı sorumluluğundadır.