Home / Netcad Makro / Alan Objelerinde Bilgi Yazdırma Makrosu (Print Information on Area Objects)

Alan Objelerinde Bilgi Yazdırma Makrosu (Print Information on Area Objects)

Alan Objelerine Otomatik Bilgi Ekleme: Harita Çizimlerinizi Hızlandırın!


Bu makro, Netcad yazılımında kapalı çoklu doğrular (poligonlar) üzerinde çeşitli bilgileri otomatik olarak yazdırmak için kullanılır. Kullanıcı, hangi bilginin (Hesap Alanı, Tapu Alanı, GIS Sınıfı, GIS Adı, Tabaka veya Alan Adı) yazdırılacağını seçebilir. Ayrıca yazı boyutu, italik, alt çizgi, arka fon gibi stil seçenekleri ve ondalık hane sayısı gibi özelleştirmeler sunar. Verinin başına veya sonuna özel metinler eklenebilir, böylece harita çizimlerinde profesyonel ve düzenli bir görünüm elde edilir. Harita mühendisleri ve teknik çizim yapanlar için zaman kazandıran bir araçtır.


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

Kullanıcı Arayüzü: Makro, bir diyalog penceresi açar ve kullanıcıdan hangi bilginin yazdırılacağını, hangi tabakaya yazılacağını, yazı boyunu, stil seçeneklerini (italik, alt çizgi, arka fon), ondalık hane sayısını ve ek metinleri seçmesini ister.

Seçim Süreci: Kullanıcı, kapalı çoklu doğruları (poligonlar) seçer.

Bilgi Yazdırma: Seçilen poligonların kütle merkezine, belirtilen özelliklere uygun şekilde bilgi yazılır. Örneğin, alan hesaplanabilir veya GIS adı eklenebilir.

Esneklik: Makro, kullanıcının ihtiyaçlarına göre özelleştirilebilir ve farklı tabakalara yazım yapabilir.

Hız ve Doğruluk: Çizimlerinize manuel veri girişi yapmadan hızlı ve hatasız sonuçlar sunar.


Etiket ( Labels )

Netcad Makro, Harita Mühendisliği, Alan Bilgisi, CAD Otomasyon, Harita Akademi, Kapalı Çoklu Doğrular, Poligon Bilgisi, Otomatik Yazdırma, GIS Sınıfı, Tapu Alanı, Hesap Alanı, Yazı Stili, Ondalık Hane, Harita Çizimi, Netcad Yazılım, Harita Otomasyonu, Veri Ekleme, Kütle Merkezi, Tabaka Yönetimi


📝 Netcad NVB Code

VB
SUB Main
DIM ss,o,i,j,oo,p,sel,poly,tabaka,yazi,a,c   ,SAGUL_DLG, secenek
DIM kt() ,t()
dim elif,ruhan,saban,saban_olcek
dim saban1,saban2,saban3,saban4
dim elif1,elif2,elif3,sagul67

With netcad

with nclayermanager
.add 0,4
end with  

set SAGUL_DLG = Netcad.NewBDialog("Alan Objelerinde Bilgi Yazdırma , [Şaban GÜL, Harita Akademi]")

      ' Kullanıcıdan hangi bilginin yazdırılacağını seçmesini ister
      SAGUL_DLG.GetRadio "elif", "Hangi Bilgiyi Yazdırayım ?", "Hesap Alanı|Tapu Alanı|Gıs Sınıfı|Gıs Adı|Tabakası|Alan Adı", 0
      SAGUL_DLG.GetCombo "yaren", "Hangi Tabakaya Yazayım ?", 0,0
           for i = 1 to .numlayers - 1
         SAGUL_DLG.AddCombo .LayerNameOf(i)
     next
      SAGUL_DLG.Getfloat "yaziboy","Yazı boyu kaç olsun ? ",2,2
      SAGUL_DLG.GetCheck "sagulnet1", "Yazı İtalik Olsun", 0
      SAGUL_DLG.GetCheck "sagulnet2", "Yazı Altçizgili Olsun", 0
      SAGUL_DLG.GetCheck "sagulnet3", "Yazı Arka Fon Olsun", 0
      SAGUL_DLG.Getinteger "ondalik","Alanlarda ondalık hane sayısı ? ",2
      SAGUL_DLG.GetString "ekle1","Verinin Başına Ekle","",4
      SAGUL_DLG.GetString "ekle2","Veriye Sonuna Ekle","",4

' www.sabangul.com.tr Web Sayfasından İndirilmiştir
' Şaban GÜL , Harita Mühendisi
' Her Türlü Hata, İstek ve Öneriler İçin
' haritaakademi@gmail.com veya sagulnet@gmail.com
' adresine durumu anlatan bir e-posta gönderiniz.

   if SAGUL_DLG.showmodal then

     saban1=    SAGUL_DLG.ValueByName("elif")   'tür
     saban2=    SAGUL_DLG.ValueByName("yaren")  'tabaka
     saban3=    SAGUL_DLG.ValueByName("yaziboy") 'boyu
     saban3=saban3/1000*.getparam(94)
     dim onda,ekle1,ekle2
     onda=SAGUL_DLG.ValueByName("ondalik")
     ekle1 =SAGUL_DLG.ValueByName("ekle1")
     ekle2 =SAGUL_DLG.ValueByName("ekle2")
     elif1=  SAGUL_DLG.ValueByName("sagulnet1")
     elif2=  SAGUL_DLG.ValueByName("sagulnet2")
     elif3=  SAGUL_DLG.ValueByName("sagulnet3")

      if elif1+elif2+elif3=0 then sagul67=0

                 set SEL = .NewSelectionSet
                 set o = .NewObject
                 set poly=.newpoly

                .setparam beginblock,true
                if SEL.SELECT("Kapalı çoklu doğruları seç, Şaban GÜL, Harita Akademi",array(opline)) then
                 for i = 0 to SEL.NE-1

                   j = SEL.GetSelectedObject(i, o)
                   set poly=.getplineext(o)
                    set c = poly.CenterOfMass
                    if saban1=5 then saban4=o.pname
                    if saban1=0 then saban4= round(o.area,3)
                    if saban1=1 then saban4=round(o.tarea,3)
                    if saban1=2 then saban4=o.cls
                    if saban1=3 then saban4=o.objname
                    if saban1=4 then
                    saban4=o.tabaka
                     with nclayermanager
                    saban4= .layer(saban4).name
                    end with

                    end if
                    if saban1=6 then saban4=o.renk

                    on error resume next
                    saban4= round(saban4,onda)
                     saban4= ekle1 & saban4 &  ekle2
                   '.AddObject (.MakeText (c,saban4, sagul67,0, saban3,0,"M",.CreateLayer(saban2,2)))
      if   elif1=0 and  elif2=0 and elif3=0 then .AddObject (.MakeText (c,saban4, 0,0, saban3,0,"M",.CreateLayer(saban2,2)))
      if   elif1=1 and  elif2=0 and elif3=0 then .AddObject (.MakeText (c,saban4, 1,0, saban3,0,"M",.CreateLayer(saban2,2)))
      if   elif1=0 and  elif2=1 and elif3=0 then .AddObject (.MakeText (c,saban4, 2,0, saban3,0,"M",.CreateLayer(saban2,2)))
      if   elif1=0 and  elif2=0 and elif3=1 then .AddObject (.MakeText (c,saban4, 4,0, saban3,0,"M",.CreateLayer(saban2,2)))
      if   elif1=1 and  elif2=1 and elif3=0 then .AddObject (.MakeText (c,saban4, 1+2,0, saban3,0,"M",.CreateLayer(saban2,2)))
      if   elif1=1 and  elif2=0 and elif3=1 then .AddObject (.MakeText (c,saban4, 1+4,0, saban3,0,"M",.CreateLayer(saban2,2)))
      if   elif1=0 and  elif2=1 and elif3=1 then .AddObject (.MakeText (c,saban4, 2+4,0, saban3,0,"M",.CreateLayer(saban2,2)))
      if   elif1=1 and  elif2=1 and elif3=1 then .AddObject (.MakeText (c,saban4, 1+2+4,0, saban3,0,"M",.CreateLayer(saban2,2)))

 ' www.sabangul.com.tr Web Sayfasından İndirilmiştir
' Şaban GÜL , Harita Mühendisi
' Her Türlü Hata, İstek ve Öneriler İçin
' haritaakademi@gmail.com veya sagulnet@gmail.com
' adresine durumu anlatan bir e-posta gönderiniz.

                 next
                 .setparam endblock,true
                 .NetcadCommand("REDRAW")
                 set sel = nothing
                 set poly = nothing
                 set o = nothing
             end if

  END if
End With
END SUB
VB

netcad-alan-bilgisi-yazdir-etiket

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