İçeriğe atla
Son haberler
Nano Banana 2 ile mimari görsel üretimi: iç mekân prompt rehberiSGLang Konsorsiyumu açık kaynaklı yapay zekâ çıkarımına odaklanıyorKengo Kuma’nın saz çatılı Kagaku no Sato evi 2026’da ödül aldıStaera Lightwire’ı duyurdu: Yapay zekâ çipleri arasında veri aktarımı ışıklaBlender komut satırından render alma: tek kare ve animasyon rehberiCORTAO açık kaynak oldu: Fenris Creations gerçek zamanlı gölgeleme tekniğini paylaştıNeuweilerstrasse: Volpatohatz Basel’de konut yarışmasını kazandıBlender proje dosyası yönetimi: Kaydetme, yedekleme ve dosya yollarıBlender 5.3 Project Setup ile proje bazlı ayarlar ve varlık kütüphanelerillama.cpp v1.0.0 çıktı: Yerel yapay zekâ altyapısında API dönemi
EğitimlerRevitRevit APIRevit görünüm filtreleri

Revit API görünüm filtreleri: oluşturma ve yönetme rehberi

Revit API’de görünüm filtreleri, elemanları kategori ve parametre kurallarıyla ya da seçilmiş eleman kimlikleriyle ayırabiliyor. Rehber, filtre oluşturma, görünüme uygulama ve görünürlük ile grafik ayarlarını yönetme adımlarını açıklıyor.

Mimari çizimde farklı elemanları renklerle ayıran sade ve aydınlık bir tasarım stüdyosuAI görsel
Temsilî görsel; yapay zekâ ile üretildi.Görsel: 3dsınıfı / FCA AI
KaydetPaylaş0

Kısaca

  1. ParameterFilterElement, kategoriler ve bir veya daha fazla kural üzerinden çalışır.
  2. SelectionFilterElement, kurallardan ziyade filtreye eklenen eleman kimliklerini kullanır.
  3. View.SetFilterVisibility() görünürlüğü, View.SetFilterOverrides() ise grafik ayarlarını yönetir.
  4. Revit 2024’te ElementId’nin iç depolaması 64 bite geçti; eski API’ye göre derlenmiş bazı kodların yeniden derlenmesi gerekebilir.

Bu rehberde ne öğreneceksiniz?

Revit API’de görünüm filtresi, bir görünümde hangi elemanların gösterileceğini veya nasıl görüneceğini yönetmek için kullanılabilir. Bu rehberde iki tür filtreyi ele alacağız: kategori ve parametre koşullarını kullanan ParameterFilterElement ile belirli eleman kimliklerinden oluşan SelectionFilterElement. Filtre oluşturmayı, bir görünüme eklemeyi, görünürlüğü değiştirmeyi ve grafik ayarlarını uygulamayı adım adım inceleyeceğiz.

Mimari dokümantasyonda bu yaklaşım, örneğin belirli koşulları karşılayan duvarları görünümden gizlemek veya seçilmiş elemanları farklı bir çizgi rengiyle ayırt etmek için değerlendirilebilir. Bunlar yöntemi açıklayan örnek senaryolardır; kullanılacak kategoriler ve kurallar projenin ihtiyacına göre belirlenmelidir.

Gereksinimler ve sürüm kontrolü

Bu anlatım Revit API ile eklenti geliştirme içindir; Revit kullanıcı arayüzünde izlenecek bir menü tarifi değildir. Kaynaklardaki API açıklamaları, bir Revit belgesi ve görünüm üzerinde filtre oluşturup işlem yapmayı kapsıyor. Belirli bir hesap türü, ücret veya ek donanım gereksinimi belirtilmiyor.

Hedef Revit sürümünün API belgelerini kullanmak önemlidir. Autodesk’in Revit 2024 API açıklaması, geliştiricilerin SDK ile gelen RevitAPI.chm yardım dosyasını ve Samples\SDKSamples.sln çözümünü başvuru kaynağı olarak kullanabileceğini belirtiyor. Eski bir sürüm için yazılmış kodun yeni sürümde aynen çalışacağı varsayılmamalı.

Örneğin Revit 2024’te ElementId değerinin iç depolaması 32 bitten 64 bite çıkarıldı. Önceki IntegerValue özelliğinin yerine, tam 64 bit değeri döndüren Value özelliği getirildi. Autodesk, önceki API sürümlerine göre derlenmiş kodlarda bazı tür dönüşümü sorunlarının görülebileceğini ve bu kodların Revit 2024 API’sine karşı yeniden derlenmesi gerektiğini bildiriyor. Bu nedenle filtre geliştirmesinde kullanılan sınıf ve metotların hedef sürümdeki belgeleri kontrol edilmelidir.

Adım adım: parametre filtresi oluşturma

  1. Kategori ve koşulları belirleyin. ParameterFilterElement, bir veya daha fazla izin verilen kategori ile bu kategorilerdeki elemanlara uygulanacak kuralları kullanır. Filtreyi oluşturmadan önce hangi eleman grubunun kapsama alınacağını ve hangi parametre değerlerinin aranacağını belirleyin. Autodesk’in örneğinde duvar kategorisi seçiliyor; kurallar arasında duvar işlevinin “Exterior” olması ve bir uzunluk değerinin belirli bir eşiğe eşit ya da daha büyük olması bulunuyor.

  2. Filtre öğesini oluşturun ve kuralları atayın. ParameterFilterElement.Create, belgeyi, filtre adını ve kategori listesini kullanarak filtre öğesini oluşturur. Kurallar hazırlandıktan sonra SetRules ile filtreye atanır. Kaynakta eşitlik, eşik değerinden büyük veya eşit olma ve metinle başlama koşulları örnekleniyor. Bu örnekler, her projede aynı parametrelerin kullanılacağı anlamına gelmez; kuralın ilgili kategori ve parametrelerle uyumlu olması gerekir.

  3. Filtreyi görünümle ilişkilendirin. View.AddFilter() filtreyi hedef görünüme uygular. Ancak bu çağrı varsayılan grafik geçersiz kılmalarını kullanır; dolayısıyla filtre uygulanmış olsa bile görüntüde fark görülmeyebilir. Filtrenin varlığı ile görünümde nasıl sonuç vereceğini ayrı konular olarak değerlendirin.

  4. Görünürlüğü ayarlayın. View.SetFilterVisibility() filtre koşullarını karşılayan elemanların görünür olup olmayacağını belirler. Filtre görünümde henüz uygulanmamışsa bu metot onu aynı zamanda görünüme ekler; bu nedenle ayrıca AddFilter() çağrısı yapmak zorunlu değildir. Örneğin eşleşen elemanların gizlenmesi hedefleniyorsa görünürlük ayarı buna göre yapılmalıdır.

  5. Grafik ayarlarını uygulayın. Filtreye uyan elemanların çizgi rengi gibi görünüm özelliklerini değiştirmek için View.SetFilterOverrides() kullanılabilir. Mevcut ayarlar View.GetFilterOverrides() ile alınabilir. Böylece filtre, görünürlük kontrolünün yanında elemanları görünümde görsel olarak ayırmak için de kullanılabilir.

Adım adım: seçim filtresi ve filtreleri düzenleme

  1. Filtreye girecek elemanları belirleyin. SelectionFilterElement, parametre kuralları yerine bir grup elemanın kimlikleri üzerinden çalışır. Kaynak örnekte önce belirli bir görünümdeki oda etiketleri toplanıyor, ardından oda numarası koşulunu karşılayan etiketlerin kimlikleri listeye ekleniyor. Bu yöntemde kapsam, filtre kurallarından değil seçilen eleman kimliklerinden oluşur.

  2. Seçim filtresini oluşturun. SelectionFilterElement.Create ile filtre öğesi yaratılır; SetElementIds ile eleman kimlikleri bu öğeye atanır. Filtre kimliği View.AddFilter() üzerinden hedef görünüme eklenir. Kapsama alınacak elemanların doğru toplandığını kontrol etmek, beklenmeyen sonuçları azaltmaya yardımcı olur.

  3. İsteğe bağlı grafik geçersiz kılmasını ekleyin. Autodesk’in örneğinde görünümdeki mevcut filtre ayarları alınarak çizgi rengi maviye ayarlanıyor ve View.SetFilterOverrides() ile uygulanıyor. Bu örnek, bir seçim filtresine grafik ayarı ekleme yöntemini gösterir; kullanılacak renk veya diğer görsel tercihler proje standardına göre seçilmelidir.

  4. Mevcut filtreleri gözden geçirin. View.GetFilters() bir görünümdeki filtre kimliklerini döndürür. Belirli bir filtrenin görünürlüğünü View.GetFilterVisibility(), grafik ayarlarını ise View.GetFilterOverrides() ile inceleyebilirsiniz. View.RemoveFilter() filtreyi görünümden kaldırır. Mevcut ayarları değiştirmek için önce filtrelerin değerlerini okuyup ardından uygun grafik ayarını View.SetFilterOverrides() ile uygulayın.

Autodesk’in örneklerinde belgeyi değiştiren işlemler transaction içinde yapılıyor. Filtre oluşturma, görünümle ilişkilendirme ve grafik ayarlarını değiştirme adımlarını uygularken ilgili işlemlerin belgeyi değiştirdiğini göz önünde bulundurun. Farklı işlevleri ayrı ayrı kontrol etmek, sorunun filtre kuralından mı, görünürlükten mi yoksa grafik ayarından mı kaynaklandığını anlamayı kolaylaştırır.

Sık karşılaşılan hatalar ve sonraki adımlar

Filtre eklendi ama görünüm değişmedi: AddFilter() varsayılan grafik ayarlarını kullanır ve tek başına görünür bir değişiklik yaratmayabilir. Görünürlük için SetFilterVisibility(), grafik farkı için SetFilterOverrides() ayarlarını kontrol edin.

Kural beklenen elemanları bulmuyor: Filtrenin izin verilen kategorilerini ve koşullarda kullanılan parametreleri yeniden gözden geçirin. Parametre filtresi kategoriyle sınırlandırıldığından, kapsam dışındaki bir kategoriye ait elemanlar kuralla eşleşse bile filtreye dahil olmaz.

Seçim filtresi yanlış elemanları içeriyor: SetElementIds öncesinde oluşturulan kimlik listesini ve listeyi üreten seçim koşullarını inceleyin. Bu filtre türü parametre kurallarını kendiliğinden uygulamaz; hedef elemanların kimlikleri filtreye açıkça atanır.

Eklenti başka bir Revit sürümünde sorun çıkarıyor: Hedef sürümün API değişikliklerini kontrol edin. Revit 2024’teki 64 bit ElementId değişikliği, daha eski API’ye göre derlenmiş kodların yeniden derlenmesini gerektirebilir. Geliştirme veya güncelleme öncesinde test görünümünde çalışmak ve kullanılan API belgelerini sürümle eşleştirmek yararlı bir sonraki adımdır.

Mimarlık, iç mimarlık ve görselleştirme ekipleri açısından filtreler, özellikle görünüşlerdeki eleman gruplarını tutarlı biçimde yönetmek gerektiğinde değerlendirilebilir. Parametre filtresi, ölçütleri kategoriler ve kurallarla tarif eder; seçim filtresi ise doğrudan belirlenmiş eleman gruplarına odaklanır. Hangi yöntemin uygun olduğu, görünüm standardına ve elemanların nasıl seçileceğine bağlıdır. Eklenti uyumluluğu ile sürüm geçişlerini de iş akışının parçası olarak değerlendirmek gerekir.

Uygulamaya geçerken küçük bir test görünümünde başlayın: önce kapsamı dar tutun, sonra filtre eşleşmelerini, görünürlüğü ve grafik ayarlarını ayrı ayrı doğrulayın. Sonuçlar beklenen biçimde çalıştığında yaklaşımı proje standartlarına uyarlayın.

Kaynak ve lisans

Bu rehber, Autodesk’in Revit API Developers Guide içindeki “View Filters” açıklaması ile Autodesk’in Revit 2024 API değişiklikleri hakkındaki yardım içeriği temel alınarak hazırlanmıştır. Kaynaklar verilen lisans bilgisine göre serbest erişimlidir; anlatım, kaynaklardaki teknik açıklamaların Türkçe uyarlamasıdır.

Sık sorulan sorular

Revit API’de parametre filtresi nasıl oluşturulur?

`ParameterFilterElement.Create` ile kategori kapsamı belirlenir, filtre kuralları hazırlanıp `SetRules` ile atanır. Filtre daha sonra görünümle ilişkilendirilip görünürlük ve grafik ayarları yapılabilir.

Revit API’de seçim filtresi ile parametre filtresi arasındaki fark nedir?

Parametre filtresi kategori ve kurallar üzerinden çalışır. Seçim filtresi ise kuralları değerlendirmek yerine filtreye eklenen eleman kimliklerini kullanır.

Revit 2024 API değişikliği eski eklentileri etkiler mi?

Revit 2024’te `ElementId` depolaması 64 bite yükseltildi ve `IntegerValue` yerine `Value` özelliği getirildi. Autodesk, önceki API’ye göre derlenmiş bazı kodların tür sorunları yaşayabileceğini ve Revit 2024 API’sine karşı yeniden derlenmesi gerekebileceğini belirtiyor.

Kaynaklar

2 kaynak
H
help.autodesk.comhelp.autodesk.com/cloudhelp/2018/ENU/Revit-API/Revit_API_Developers_Guide/Basic_Interaction_with_Revit_Elements/Views/View_Filters.html
Özet
H
help.autodesk.comhelp.autodesk.com/view/RVT/2024/ENU
Ö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

Revit API filtreleri, ofislerin görünüşlerdeki eleman gruplarını daha düzenli yönetmesine yardımcı olabilir. Parametreye bağlı kurallar tekrar eden durumlarda işe yararken, seçim filtresi kapsamı doğrudan belirlenmiş elemanlarla sınırlamak için uygun bir seçenek sunuyor.

Türkiye’deki ofisler ve öğrenciler için maliyet konusunda kaynaklarda fiyat veya lisans bilgisi bulunmuyor; bu nedenle seçim yaparken bu unsurlar ayrıca araştırılmalı. Pratikte gözden kaçırılmaması gereken nokta sürüm uyumluluğu: Revit API değişiklikleri eski eklentileri etkileyebilir. Üretim dosyalarına geçmeden önce filtreleri ve eklentiyi hedef sürümde test etmek daha temkinli bir yaklaşım olur.

Bu habere tepkin ne?

Yorumlar 0

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

İlgili haberler