Home / Netcad Makro / Alan Çevresine Çit Çiz (Draw Fence Around Area)

Alan Çevresine Çit Çiz (Draw Fence Around Area)


Makro Bilgileri:

  1. Makro Adı: Alan Cevresine Cit Ciz (Draw Fence Around Area)
  2. Makronun İşlevi:
    • Türkçe: Bu makro, Netcad’de seçilen alan (opline) objelerinin çevresine, kullanıcı tarafından belirtilen mesafede ve tabakaya, seçilen çizgi tipiyle (düz veya kesikli) çit benzeri çizgiler çizer. Mesafe, tabaka ve çizgi tipi dialog penceresinden alınır. Kadastro, imar veya peyzaj projelerinde parsel sınırlarını veya görsel ayırıcıları hızlıca oluşturmak için kullanılır.
    • ENGLİSH: This macro draws fence-like lines (oline) around selected area (opline) objects in Netcad, at a user-specified distance and layer, with a chosen line type (solid or dashed). The distance, layer, and line type are input via a dialog window. It is used to quickly create parcel boundaries or visual separators in cadastre, urban planning, or landscape projects.
  3. Makronun Çalışma Şekli:
    • Türkçe:
      1. Netcad projenizi açın ve makroyu çalıştırın.
      2. Dialogda, çitlerin alanlardan uzaklığını (metre, örn. 0.5) girin.
      3. Çit çizgilerinin yazılacağı tabaka adını (örn. “CIT_CIZGILERI”) girin.
      4. Çizgi tipini seçin: Düz Çizgi veya Kesikli Çizgi.
      5. “Tamam” butonuna basın.
      6. Ekranda çit çizilecek alan (opline) objelerini seçin ve seçimi tamamlayın.
      7. Makro, her alanın çevresine belirtilen mesafede çit çizgisi çizer.
      8. İşlem bittiğinde, kaç alanın işlendiği, mesafe, çizgi tipi ve tabaka adı gösterilir.
    • ENGLİSH:
      1. Open your Netcad project and run the macro.
      2. In the dialog, enter the distance for the fence from the areas (in meters, e.g., 0.5).
      3. Enter the layer name for the fence lines (e.g., “CIT_CIZGILERI”).
      4. Select the line type: Solid Line or Dashed Line.
      5. Click “OK.”
      6. Select the area (opline) objects on the screen for drawing fences and complete the selection.
      7. The macro draws fence lines around each area at the specified distance.
      8. When finished, a message shows the number of processed areas, distance, line type, and layer name.
  4. Etiketler:
    • Netcad makro, Çit çizimi, Alan çevresi çizgi, Otomatik çizgi ekleme, VBScript makro, Netcad otomasyon, Kadastro çizimi, İmar planı araçları, Şaban GÜL makro, Parsel sınırları

Kullാനım Örneği:

Sonuç: Her alanın çevresine, 0.5 m dışta, kesikli çizgiler “CIT_CIZGILERI” tabakasına eklenir.

Dialog: Mesafe: 0.5 m, Tabaka: “CIT_CIZGILERI”, Çizgi Tipi: Kesikli Çizgi.

3 alan seçiliyor.


Dikkat ve Uyarı:

⚠️ Uyarı: Yapay Zeka Destekli Netcad Makrosu ⚙️🤖

Bu sayfada paylaştığım Netcad makroları, tamamen yapay zeka desteğiyle oluşturulmuştur.
📌 Makrolar gerçek projelerde kullanılmadan önce dikkatlice test edilmelidir.

🔍 Neden bu uyarıyı yapıyorum?
Yapay zeka, kod üretiminde oldukça başarılı olsa da;
🧠 Her proje, her sistem ve her kullanıcı senaryosu farklıdır.
Bu nedenle, üretilen makroların doğrudan kullanılması bazı durumlarda beklenmeyen sonuçlara yol açabilir.

💡 Ne yapmalısınız?

  • Makroyu kendi verilerinize göre gözden geçirin. 👁️
  • Gerekirse kod üzerinde düzenleme yapın. 🛠️
  • Yedek almadan uygulama yapmayın. 💾
  • Kodun hangi amaçla yazıldığını ve sınırlarını iyi anlayın. 📘

🛑 Sorumluluk Reddi:
Yapay zeka ile oluşturulan bu içerikler, sadece örnek niteliğindedir. Hiçbir şekilde resmi Netcad destek servisi yerine geçmez. Bu kodları kullanmanızdan doğabilecek herhangi bir veri kaybı veya proje hatasından sorumluluk kabul edilmez.



📝 Netcad NVB Code

VB
' www.sabangul.com Web Sayfasından İndirilmiştir
' Şaban GÜL, Harita Mühendisi
' Her Türlü Hata, İstek ve Öneriler İçin
' sabangul67@gmail.com adresine durumu anlatan bir e-posta gönderiniz.
'
' Amaç: Ekrandan seçilen alan (opline) objelerinin çevresine, kullanıcı tarafından
' belirtilen mesafede ve tabakaya, seçilen çizgi tipiyle otomatik olarak çit benzeri
' bir çizgi (oline) çizer. Mesafe, tabaka ve çizgi tipi dialog penceresinden alınır.
' Kadastro, imar veya görsel düzenlemelerde parsel sınırlarını vurgulamak için kullanılır.

Sub Main
Dim sabangul1, sabangul2, sabangul3, sabangul4
Dim i, j, tabakaNo
Dim secimkumesi, obje, citObje
Dim tabakaAdi, mesafe, cizgiTipi

With Netcad
    ' Dialog penceresi oluştur
    Set sabangul1 = .NewBDialog("Alan Çevresine Çit Çizimi [Şaban GÜL, sabangul.com]")
    sabangul1.PutPrompt "Seçilen alanların çevresine belirtilen mesafede çit çizilecektir."
    sabangul1.GetFloat "mesafe", "Çit Mesafesi (metre):", 0.5
    sabangul1.GetString "tabaka", "Çitlerin Yazılacağı Tabaka Adı:", "CIT_CIZGILERI", 20
    sabangul1.GetRadio "cizgiTipi", "Çizgi Tipi Seçiniz:", "Düz Çizgi", 0
    sabangul1.AddRadio "Düz Çizgi"
    sabangul1.AddRadio "Kesikli Çizgi"
    sabangul1.PutPrompt "Mesafe pozitif olmalıdır. Tabaka yoksa oluşturulur."

    ' Dialog penceresini göster
    If sabangul1.ShowModal Then
        sabangul2 = sabangul1.ValueByName("mesafe") ' Çit mesafesi
        sabangul3 = sabangul1.ValueByName("tabaka") ' Tabaka adı
        sabangul4 = sabangul1.ValueByName("cizgiTipi") ' Çizgi tipi
        ' Mesafe kontrolü
        If sabangul2 <= 0 Then
            MsgBox "Mesafe pozitif bir değer olmalıdır!", 48, "Şaban GÜL, sabangul.com"
            Exit Sub
        End If
    Else
        Exit Sub
    End If

    ' Tabaka adı boşsa varsayılan değer
    If sabangul3 = "" Then sabangul3 = "CIT_CIZGILERI"
    tabakaAdi = sabangul3

    ' Tabakayı bul veya oluştur
    tabakaNo = .FoundLayer(tabakaAdi)
    If tabakaNo = -1 Then
        tabakaNo = .AddLayer(tabakaAdi) ' Yeni tabaka oluştur
        If tabakaNo = -1 Then
            MsgBox "Tabaka oluşturulamadı! İşlem iptal edildi.", 48, "Şaban GÜL, sabangul.com"
            Exit Sub
        End If
    End If

    ' Seçim kümesi ve objeler oluştur
    Set secimkumesi = .NewSelectionSet
    Set obje = .NewObject
    Set citObje = .NewObject

    ' Kullanıcıdan alan objelerini seçmesini iste
    If secimkumesi.Select("Çit Çizilecek Alan Objelerini Seçiniz...", Array(opline)) Then
        sabangul4_count = 0 ' İşlenen obje sayacı
        For i = 0 To secimkumesi.NE - 1
            j = secimkumesi.GetSelectedObject(i, obje)
            ' Alanı belirtilen mesafede büyüt (buffer)
            Set citObje = obje.Buffer(sabangul2, 0.01) ' 0.01: hassasiyet
            citObje.type = oline ' Çizgi objesi tipi
            citObje.tabaka = tabakaNo ' Belirtilen tabaka
            ' Çizgi tipini ayarla
            If sabangul4 = "Düz Çizgi" Then
                citObje.linetype = 0 ' Düz çizgi
            Else
                citObje.linetype = 1 ' Kesikli çizgi
            End If
            .AddObject citObje ' Çiti ekle
            sabangul4_count = sabangul4_count + 1
        Next
        secimkumesi.RedrawAndRewind ' Ekranı yenile
        MsgBox "Seçilen " & sabangul4_count & " adet alanın çevresine çit çizgileri başarıyla eklendi." & vbCrLf & _
               "Mesafe: " & sabangul2 & " m" & vbCrLf & _
               "Çizgi Tipi: " & sabangul4 & vbCrLf & _
               "Tabaka: " & tabakaAdi, 64, "Şaban GÜL, sabangul.com"
    Else
        MsgBox "Hiçbir alan objesi seçilmedi!", 48, "Şaban GÜL, sabangul.com"
    End If

    ' Belleği temizle
    Set secimkumesi = Nothing
    Set obje = Nothing
    Set citObje = Nothing
    Set sabangul1 = Nothing
End With
End Sub
VB

⚠️ 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.