Netcad’de Obje Adlarını Otomatik Düzenleyin: İlk Harf Büyük, Kalanı Küçük Harf! 🚀
Automatically Format Object Names in Netcad: Capitalize First Letter, Lowercase Rest! 🚀
Bu makro, Netcad yazılımında seçilen objelerin adlarını (pname) belirli bir düzene göre formatlar. Özellikle, obje adlarındaki ilk harfi büyük yapar, kalan harfleri küçük harfe çevirir ve Türkçe karakterler (İ, ı, I, i) için doğru dönüşümleri gerçekleştirir. Örneğin, “istanbul” yazımı “Istanbul” olarak düzenlenir. Makro, kullanıcıdan bir seçim seti (örneğin, çizgiler) alır, her bir objenin adını işler ve sonucu Netcad ekranına yansıtır. Bu, veri düzenliliği sağlamak ve profesyonel bir görünüm elde etmek için oldukça kullanışlıdır. Türkçe karakter desteği sayesinde, yerel projelerde sıkça karşılaşılan yazım hatalarını da düzeltir.
This macro formats the names (pname) of selected objects in Netcad software according to a specific pattern. It capitalizes the first letter, converts the remaining letters to lowercase, and handles Turkish characters (İ, ı, I, i) correctly. For example, “istanbul” becomes “Istanbul”. The macro takes a selection set (e.g., lines) from the user, processes each object’s name, and updates the Netcad display. It’s highly useful for ensuring data consistency and achieving a professional look. With Turkish character support, it also corrects common spelling issues in local projects.
Nasıl Çalışır (How Does It Work)
Makro, iki ana alt programdan oluşur: Sub Main ve HarfDuzelt. İlk olarak, Sub Main kullanıcıdan bir seçim seti (örneğin, polyline objeleri) alır ve her bir objeyi tek tek işlemek için bir döngü başlatır. Seçilen her obje, HarfDuzelt fonksiyonuna gönderilir. Bu fonksiyon, obje adını (pname) alır, boşlukları temizler, Türkçe karakterleri (İ → i, I → ı) uygun şekilde dönüştürür ve tüm harfleri önce küçük harfe çevirir. Ardından, ilk harfi büyük harfe çevirir ve kalan harfleri, önceki harfin durumuna göre düzenler. Örneğin, bir boşluktan sonraki harf büyük yapılır. Son olarak, düzenlenmiş ad objeye atanır ve Netcad ekranı güncellenir. Makro, kaynakları serbest bırakmak için kullanılan nesneleri (SEL, o, u) temizler.
The macro consists of two main subroutines: Sub Main and HarfDuzelt. First, Sub Main retrieves a selection set (e.g., polyline objects) from the user and starts a loop to process each object individually. Each selected object is sent to the HarfDuzelt function. This function takes the object name (pname), trims spaces, converts Turkish characters (İ → i, I → ı) appropriately, and lowers all letters initially. Then, it capitalizes the first letter and adjusts the remaining letters based on the preceding character’s state (e.g., capitalizing after a space). Finally, the formatted name is assigned to the object, and the Netcad display is updated. The macro cleans up used resources (SEL, o, u) to free memory.
Etiket ( Labels )
Netcad makro, obje adı düzenleme, ilk harf büyük, Türkçe karakter desteği, veri düzenliliği, otomasSurgical, VBScript, Netcad otomasyon, harf düzeltme, profesyonel veri formatı
Netcad macro, object name formatting, capitalize first letter, Turkish character support, data consistency, automation, VBScript, Netcad automation, letter correction, professional data format
📝 Netcad NVB Code
Sub Main
Dim i,j,o,SEL,u
with Netcad
set SEL = .NewSelectionSet
set o = .NewObject
' Kullanıcıdan obje seçimi alınır
if SEL.SELECT("Başharfleri büyütülecek alanları seçiniz. [SAGULCAD]",array(opline)) then
for i = 0 to SEL.NE-1
j = SEL.GetSelectedObject(i, o)
HarfDuzelt o
.putobject j, o
next
SEL.RedrawAndRewind
set u=.GetCurrentWindow
.SetCurrentWindow u,1
end if
' Kullanılan nesneler temizlenir
set u=nothing
set SEL = nothing
set o = nothing
end with
end sub
Sub HarfDuzelt(o)
dim i,str,k
o.pname=trim( o.pname)
' Türkçe karakter dönüşümleri
o.pname=Replace( o.pname,"İ","i")
o.pname=Replace( o.pname,"I","ı")
o.pname=lcase(o.pname)
o.pname=Replace( o.pname," ı"," I")
o.pname=Replace( o.pname," i"," İ")
str=left(o.pname,1)
' İlk harf için özel kontrol
if str="i" then str="İ"
if str="ı" then str="I"
str=ucase(str)
' Kalan harfler için döngü
for i=2 to len(o.pname)
if mid(o.pname,i-1,1)<"A" then
str=str+ucase(mid(o.pname,i,1))
else
str=str+mid(o.pname,i,1)
end if
next
o.s=str
end sub
VBnetcad-alan-ad-ilk-harf-buyuk
✅ 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.