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

Kaynak: https://3dsinifi.com/haber/revit-api-gorunum-filtreleri-olusturma-ve-yonetme-rehberi · Kategori: Eğitimler · Yayın: 13 Kasım 2026

> 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.

## Kısaca
- ParameterFilterElement, kategoriler ve bir veya daha fazla kural üzerinden çalışır.
- SelectionFilterElement, kurallardan ziyade filtreye eklenen eleman kimliklerini kullanır.
- View.SetFilterVisibility() görünürlüğü, View.SetFilterOverrides() ise grafik ayarlarını yönetir.
- 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.

## Pro ipucu
Önce küçük bir test görünümünde tek bir filtre deneyin; eşleşmeleri, görünürlüğü ve grafik geçersiz kılmalarını ayrı ayrı doğrulayın.

## 3dsınıfı yorumu
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.

## Kaynaklar
- [help.autodesk.com](https://help.autodesk.com/cloudhelp/2018/ENU/Revit-API/Revit_API_Developers_Guide/Basic_Interaction_with_Revit_Elements/Views/View_Filters.html) (özet)
- [help.autodesk.com](https://help.autodesk.com/view/RVT/2024/ENU/?caas=caas/blog/thebuildingcoder.typepad.com/blog/2023/04/whats-new-in-the-revit-2024-api.html) (özet)

_Yapay zekâ ile yazıldı, kaynaklarla doğrulandı. © 3dsınıfı_
