İçeriğe atla
Son haberler
Houdini Karma’da Geometry ve Volume AOV’ları kurma rehberiBlender Flamenco render çiftliği nasıl kurulur: Manager ve Worker ayarlarıAnthropic halka arz için S-1 başvurusu yaptı: 11,6 milyar dolar gelirBlender Shape Keys rehberi: model deformasyonunu adım adım hazırlamaGPT-6.1 Terra duyuruldu: Bilgisayar kullanımında hız ve düşük maliyetArchicad 29 yenileme filtreleri: Öğeleri ve çizimleri adım adım yönetinBlender’da mimari kamera ve animasyon: kadrajdan keyframe’e rehberSketchUp’ta DWG ve DXF içe aktarma: Temiz model için adım adım rehber3ds Max Unwrap UVW rehberi: UV eşleme ve şablon hazırlamaRevit API ile oda oluşturma ve sınırlarını inceleme: başlangıç rehberi
EğitimlerRevitRevit Automation APIPython

Revit API ile oda oluşturma ve sınırlarını inceleme: başlangıç rehberi

Bu başlangıç rehberi, Revit API’de kategori ve aile ilişkilerini anlamaya, oda oluşturma yöntemlerini incelemeye ve oda sınırlarını etkileyen koşulları kontrol etmeye yardımcı oluyor. Anlatım Autodesk geliştirici belgelerine dayanıyor.

Oda sınırları belirgin çağdaş iç mekân planının stüdyo maketiAI görsel
Temsilî görsel; yapay zekâ ile üretildi.Görsel: 3dsınıfı / FCA AI
KaydetPaylaş0

Kısaca

  1. Revit’te kategori, Family, FamilySymbol ve FamilyInstance farklı sınıflandırma düzeylerini ifade eder.
  2. API ile oda, belirli bir kat ve konumda oluşturulabilir.
  3. Oda sınırları kapalı bölgeye ve çevredeki elemanların Room Bounding durumuna bağlıdır.
  4. Autodesk University başlangıç eğitiminde RevitPythonShell, Revit Lookup ve pyRevit araçları ele alınıyor.

Bu rehberde ne öğreneceksiniz?

Bu rehber, Revit API’de kategori ve oda kavramlarını anlamak, Autodesk’in geliştirici belgelerindeki örnekleri doğru bağlamda değerlendirmek isteyenler için hazırlandı. Önce bir Revit elemanının kategori, aile, tür ve örnek olarak nasıl sınıflandırıldığını ele alacağız. Ardından API ile oda oluşturmanın iki yolunu ve oda sınırlarını okurken kontrol edilmesi gereken koşulları açıklayacağız.

Amaç, her projede doğrudan çalışacak hazır bir eklenti sunmak değil. Kod örnekleri, API’nin hangi nesneler ve proje koşullarıyla çalıştığını gösteriyor. Kaynaklardaki örnekler C# biçiminde; bu nedenle onları Python koduymuş gibi bir Python aracına yapıştırmak doğru olmaz.

Gereksinimler ve kapsam

Autodesk University’deki başlangıç eğitimi Revit, RevitPythonShell, Revit Lookup ve pyRevit araçlarını kullanıyor. Eğitim için temel Revit bilgisi ve giriş düzeyinde Python bilgisi gerektiği belirtiliyor. Bu, aşağıdaki açıklamalarda kullanılan API örneklerinin de Python olduğu anlamına gelmiyor: Autodesk’in oda ve kategori belgelerindeki kod parçaları C# ile verilmiş.

Başvurulan geliştirici belgelerinden biri Revit 2018, diğeri Revit 2024 dokümantasyon sayfasıdır. Kaynaklar bu örneklerin farklı Revit sürümlerindeki uyumluluğunu açıklamıyor. Bu yüzden bir örneği gerçek projede kullanmadan önce hedef sürümün API belgelerini kontrol edin. Hesap gereksinimi, güncel araç sürümleri ve araçların lisans koşulları verilen kaynaklarda açıklanmamış.

1. Kategori ve aile yapısını ayırt edin

Kategori, bir elemanın genel olarak hangi türde olduğunu ve Revit’te nasıl ele alınacağını belirleyen sınıflandırmadır. Duvarlar, kapılar ve odalar farklı kategorilere örnektir. Kategoriler; çizelge hazırlama, parametreleri düzenleme ve görünürlük ya da grafik görünümü kontrol etme gibi işlevlerle ilişkilidir.

Aile yapısı daha ayrıntılıdır. Family bütün aileyi, FamilySymbol o ailenin belirli bir türünü, FamilyInstance ise projeye yerleştirilmiş tek bir örneği temsil eder. Örneğin, bir kapı ailesi farklı türler içerebilir; projede kullanılan her kapı yerleşimi de bir örnek olarak değerlendirilir. API’de bu ayrımı gözetmek, bir elemanın genel kategorisiyle belirli türünü birbirine karıştırmamak için önemlidir.

Autodesk’in kategori örneği, açık belgedeki kategori koleksiyonuna erişip yerleşik bir kategori seçme mantığını gösteriyor. Belgede kategori adlarının Revit arayüzünün diline göre değişebileceği uyarısı da var. Dil farklılıklarından etkilenmemek için ad metnine bağlı kalmak yerine BuiltInCategory gibi yerleşik kategori tanımlarını kullanmayı değerlendirin.

2. Oda oluşturma yolunu seçin

API belgelerinde bir oda oluşturmak için iki ayrı senaryo anlatılıyor. İlkinde oda, bir kat ve konum bilgisiyle oluşturuluyor. Örnek, konumu UV türündeki bir değerle ifade ediyor ve oluşturma sonucunun geçerli olup olmadığını kontrol ediyor. Buradaki temel fikir, oda oluşturma çağrısının yalnızca oda nesnesine değil, hangi katta ve nerede yer alacağı bilgisine de dayanmasıdır.

İkinci senaryoda oda önce bir proje aşamasıyla ilişkilendirilerek oda çizelgesinde oluşturuluyor; daha sonra bir plan devresine ekleniyor. Buradaki önemli koşul, plana eklenecek girdinin yalnızca oda çizelgesinde bulunması ve herhangi bir plan görünümünde henüz yer almamasıdır. Plan devresi, ilgili katın plan topolojisi üzerinden bulunur. Yerleştirme başarılı olduğunda aynı ad ve numarayı taşıyan model odası, plan devresinin bulunduğu görünümde oluşur.

Bu iki yaklaşımı uygulamadan önce hangi sonucun gerektiğini belirleyin: belirli bir noktada oda oluşturmak mı, yoksa çizelgede bekleyen odayı plan devresine yerleştirmek mi? İkinci akışta odanın çizelgede bulunma koşulunu atlamak, işlemin beklenen girdilerle çalışmamasına yol açabilir.

3. Oda sınırlarını ve güncellemeleri inceleyin

Oda sınırları, kapalı bir bölgeyi oluşturan model elemanlarına bağlıdır. Autodesk belgelerinde duvar, model çizgisi, kolon ve çatı gibi elemanlar sınırla ilişkili örnekler arasında sayılıyor. Sınır segmentlerini okumak için SpatialElement.GetBoundarySegments() yöntemi kullanılıyor. Dönen veri, bir veya daha fazla bölgeyi ve her bölgenin segmentlerini iç içe listeler hâlinde içerebilir.

Her durumda sınır verisi dönmeyebilir. Oda kapalı bir bölgede değilse ya da yalnızca oda çizelgesinde bulunuyorsa yöntem null döndürebilir. Bu nedenle sonuç alınamadığında sadece API çağrısını değil, modelin kapalı bir oda oluşturup oluşturmadığını ve odanın plan görünümünde yer alıp almadığını da kontrol edin.

Duvar, kolon ve çatı gibi elemanların oda sınırına katılması için Room Bounding ayarının etkisi önemlidir. Oda ayırıcı çizgiler de sınır oluşturabilir. API ile duvar gibi bir eleman eklendiğinde odanın sınırı değişebileceği için, işlem öncesinde alınmış sınır bilgisini değişiklikten sonra güncel kabul etmeyin. Autodesk örneği, eleman oluşturma işlemini transaction içinde tamamladıktan sonra sınırları yeniden okumayı gösteriyor.

Odanın yerini değiştirmek için önce onu mevcut konumundan kaldırmak da mümkündür. Belgede Room.Unplace() yöntemiyle odanın konumundan çıkarılabileceği, ancak projede kullanılabilir durumda kalacağı açıklanıyor. Bu, nesneyi projeden silmekle yerleşimini değiştirmek arasındaki farkı anlamayı gerektirir.

4. Mimarlık ve görselleştirme iş akışına etkisi

Oda sınırlarını ve kategori ilişkilerini anlamak; oda verileriyle çalışan, model elemanlarını sınıflandıran veya tekrarlanan işlemleri otomatikleştirmeyi değerlendiren mimarlık ve iç mimarlık ekiplerine yardımcı olabilir. Oda sınırları, modeldeki çevre elemanlarına ve bunların ayarlarına bağlı olduğundan, otomasyona başlamadan önce modelin bu ilişkileri doğru kurduğunu doğrulamak gerekir.

Bu kaynaklar doğrudan render ya da görselleştirme ayarları tarif etmiyor. Bununla birlikte, oda ve kategori verileriyle çalışan BIM süreçlerinde modelin tutarlılığı önemlidir. Uygulamaya geçmeden önce kullanılan Revit sürümünü, oda yerleşim durumunu, ilgili Room Bounding ayarlarını ve proje aşamasını inceleyin. Öğrenciler için küçük bir deneme modeli, sınır verisinin duvar veya başka bir çevre elemanı değiştiğinde nasıl etkilendiğini gözlemlemek için uygun bir başlangıçtır.

Sık yapılan hatalar

  • Kategori adlarının her Revit dilinde aynı olacağını varsaymak. Autodesk, dil farklılıklarını önlemek için yerleşik kategori tanımlarını kullanmayı öneriyor.

  • Oda kapalı bir bölgede olmadığı hâlde sınır segmenti beklemek. Belgeye göre yöntem bu durumda null döndürebilir.

  • Plan devresine eklenecek odayı daha önce bir plan görünümüne yerleştirmek. Girdi yalnızca oda çizelgesinde bulunmalıdır.

  • Çevre elemanlarının Room Bounding durumunu gözden kaçırmak. Bu ayar, elemanın oda sınırına katılıp katılmamasıyla ilgilidir.

  • Yeni bir model elemanı oluşturduktan sonra eski sınır verisini kullanmaya devam etmek. Değişiklik tamamlandıktan sonra sınır bilgisini yeniden alın.

  • C# örneklerini Python kodu olarak değerlendirmek. Kaynaklarda Python araçlarından söz edilse de oda ve kategori API örnekleri C# biçimindedir.

Sonraki adımlar

Önce Autodesk’in kategori açıklamalarını inceleyip kategori, aile, tür ve örnek ayrımını mevcut bir projede gözlemleyin. Ardından bir deneme belgesinde oda oluşturma senaryolarını karşılaştırın: konum bilgisiyle oluşturma ve çizelgeden plan devresine yerleştirme. Her adımda odanın hangi görünümde bulunduğunu not edin.

Son olarak kapalı bir oda bölgesinin çevresindeki elemanları değiştirerek sınır verisini yeniden kontrol edin. Bu çalışma, API’nin dönüş değerini model durumundan bağımsız düşünmemeyi sağlar. Daha kapsamlı otomasyonlara geçerken Autodesk University başlangıç eğitiminde ele alınan eleman filtreleri, transaction’lar ve kullanıcı arayüzü konularını da değerlendirin.

Kaynak ve lisans

Rehber, Autodesk Revit API geliştirici belgelerindeki oda konuları (K1), kategori ve aile sınıflandırmaları (K2) ile Autodesk University’nin Revit API’ye başlangıç eğitiminden (K4) yararlanılarak kendi ifadelerimizle hazırlanmıştır. Kaynaklar lisans=serbest olarak belirtilmiştir; sağlanan metinlerde belirli bir lisans adı verilmediğinden burada ayrıca lisans türü atfedilmemiştir.

Sık sorulan sorular

Revit API ile oda sınırları nasıl okunur?

Autodesk belgeleri, sınır segmentlerinin SpatialElement.GetBoundarySegments() yöntemiyle alınabildiğini belirtiyor. Oda kapalı bir bölgede değilse veya yalnızca çizelgede bulunuyorsa yöntem null döndürebilir.

Revit API’de oda çizelgeden plana nasıl eklenir?

Belgede oda önce bir proje aşamasıyla oda çizelgesinde oluşturuluyor, ardından PlanCircuit kullanılarak plana yerleştiriliyor. Girdi oda yalnızca çizelgede bulunmalı ve herhangi bir plan görünümünde yer almamalıdır.

Revit API kategori adları dile göre değişir mi?

Autodesk, Category.Name değerinin Revit diline göre değişebileceğini belirtiyor. Dil farklılıklarından kaçınmak için BuiltInCategory kullanılması öneriliyor.

Kaynaklar

3 kaynak
H
help.autodesk.comhelp.autodesk.com/cloudhelp/2018/ENU/Revit-API/Revit_API_Developers_Guide/Discipline_Specific_Functionality/Architecture/Rooms.html
Özet
H
help.autodesk.comhelp.autodesk.com/view/RVT/2024/ENU
Özet
A
autodesk.comautodesk.com/autodesk-university/class/Revit-Programming-Beginners-Easily-Access-Revit-API-Using-Free-Tools-2018
Özet

Kaynak metinler yeniden yayımlanmaz; kısa alıntılar tırnak içinde verilir, geri kalanı özgün özet ve yorumdur.

3dsınıfı yorumu
3dEditörün değerlendirmesi

Kategori ve oda sınırları, Revit modelindeki veriyi otomasyona bağlamak isteyen ofisler için işe yarar bir başlangıç noktası sunuyor. En pratik kazanım, bir API çağrısının sonucunu yalnızca kodla değil, odanın çizelgedeki veya plandaki durumu ve çevre elemanlarıyla birlikte değerlendirmeyi öğrenmek.

Türkiye’deki ofisler ve öğrenciler için bu yaklaşım, küçük bir deneme projesinde sınanarak gerçek modele taşınmalı. Kaynaklarda güncel araç uyumluluğu, lisans bedeli ya da donanım gereksinimi belirtilmediği için yatırım kararı öncesinde bunlar ayrıca doğrulanmalı. Render performansına ilişkin bir iddia da bu belgelerden çıkarılamaz.

Bu habere tepkin ne?

Yorumlar 0

İlk yorumu sen yazKendi test sonuçlarını ya da sorunu paylaş.
+

İlgili haberler