Home / Netcad Makro / Bina Numaralarını Harfe Çeviren Makro (Convert Building Numbers to Letters)

Bina Numaralarını Harfe Çeviren Makro (Convert Building Numbers to Letters)

Bina Numaralarını Harfe Çeviren Akıllı Makro ile Yapı İsimlendirme Otomasyonu 🚀


Bu makro, Netcad ortamında bina isimlerini otomatik olarak düzenler. Örneğin, “123/5/1” gibi bir yapı ismini, yapı tipine göre “123/5/A” veya “T” (tescilli yapılar) ya da “Y” (yıkık yapılar) olarak değiştirir. Tescilli, tescilsiz ve yıkık yapıların tabaka isimlerine göre (TESCILLI, TESCILSIZ, YIKIK) işlem yapar. Ayrıca, eski alan isimlerini GIS ADI kısmına otomatik olarak aktarır. Kullanıcı dostu arayüzü ile seçim yaparak işlemi kolayca tamamlar ve kaç alanın düzeltildiğini bildirir.


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

Kullanıcıya bir onay mesajı gösterir ve işlem için izin ister. Kullanıcı, değiştirmek istediği yapı alanlarını seçer. Makro, seçilen objelerin tabaka isimlerini kontrol eder (TESCILLI, TESCILSIZ, YIKIK). Yapı ismini “/” karakterine göre böler (örneğin, 123/5/1 → 123, 5, 1). Son rakamı, tanımlı harf dizisinden (A-Z, Ç, Ğ, İ, Ö, Ş, Ü) uygun harfle değiştirir. Tescilli yapılar için “T” veya “T”+sayı, yıkık yapılar için “Y” kullanılır. Eski ismi objenin GIS ADI kısmına kaydeder ve yeni ismi uygular. İşlem sonunda, düzeltilen alan sayısını bildirir.


Etiket ( Labels )

Netcad makro, bina isimlendirme, yapı otomasyonu, tescilli yapılar, yıkık yapılar, GIS veri, harf dönüştürme, alan düzenleme, VBScript makro, Netcad otomasyon


📝 Netcad NVB Code

VB
' Şaban GÜL, sabangul67@gmail.com, sabangul.com
' Bu Makro Binalara verilen rakam değerini Harf olarak Yazar
' Örnek (123/5/1, 123/5/A olarak değişir), T harfi tescilli yapılar, Y harfi yıkık yapılar için kullanılır
Sub Main
Dim I,J,O,SEL,xls,pno,CL,bd,U,V,R,W,T,K,N,PR,ZF,say
DIM NO(50000,2)
J=MSGBOX (" Bu makro ile 101/1/1 gibi yazdığınız yapı isimleri " & chr(10) & " seçilen objenin tabakasına göre adı otomatik değişir." & chr(10) & "İsim değişimi için yapıların tabakalarında kural: Tescilliler Tabakasının Adı TESCILLI, Tescilsizlerin Tabakasının Adı TESCILSIZ, Yıkıklar Tabakasının Adı YIKIK ile bitmesi lazım. Son yapılan güncelleme ile eski alan isimleri GIS ADI kısmına otomatik aktarılacaktır." ,VBYESNO,"[www.sabangul.com.tr]")
IF J<>6 THEN EXIT SUB
with Netcad
set SEL = .NewSelectionSet
set o = .NewObject
W="ABCDEFGHIJKLMNOPRSUVZXWQÇĞİÖŞÜ"
if SEL.SELECT("Lütfen değiştirmek istediğiniz yapıların alanlarını seçiniz.",array(opline)) then
for i = 0 to SEL.NE-1
j = SEL.GetSelectedObject(i, o)
if INSTR(.layernameof (o.tabaka),"TESCILLI")>0 OR INSTR(.layernameof (o.tabaka),"TESCILSIZ")>0 OR INSTR(.layernameof (o.tabaka),"YIKIK")>0 then
pno=  o.pname
PR=SPLIT(pno,"/") ' parsel noyu "/" lar dan  böler; örnek: 101/59/3 => pr(0)=101, pr(1)=59 pr(2)=3 şeklinde böler.
V = Len(W):T = InStr(pno, "/"): K = InStr(Mid(pno, T + 1, V), "/")
U = Mid(pno, T + K + 1, V)
R=MID(W,U,1) ' tescilsizin harfini alır
if  instr(.layernameof (o.tabaka),"TESCILLI")>0 THEN
ZF=PR(2)-1:IF ZF<1 THEN R="T" ELSE  R="T" & ZF  'tescilliyse harfi T yap
END IF
if   instr(.layernameof (o.tabaka),"YIKIK")>0 THEN R="Y" 'yıkıksa harfi Y yap
o.objname= o.pname
o.PNAME =  LEFT(pno,T+K) & R    ' sonundaki rakamın yerine harf ekle
.putobject j, o
say=say+1
END IF
next
SEL.RedrawAndRewind
end if
set SEL = nothing
set o = nothing
end with
if say>0 then
MSGBOX    say & " adet alan adı Düzeltildi"
end if
end sub
VB

netcad-yapi-adlari-sayidan-harfe-cevir

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