Qısaca
- ParameterFilterElement kateqoriyalar və bir və ya bir neçə qayda əsasında işləyir.
- SelectionFilterElement qaydalar əvəzinə filtrə əlavə edilmiş element identifikatorlarından istifadə edir.
- View.SetFilterVisibility() görünməni, View.SetFilterOverrides() isə qrafik parametrlərini idarə edir.
- Revit 2024-də ElementId-nin daxili yaddaş ölçüsü 64 bitə keçdi; əvvəlki API-yə əsasən kompilyasiya edilmiş bəzi kodları yenidən kompilyasiya etmək lazım gələ bilər.
Bu bələdçidə nə öyrənəcəksiniz?
Revit API-də görünüş filtri görünüşdə hansı elementlərin göstəriləcəyini və ya necə görünəcəyini idarə etmək üçün istifadə oluna bilər. Bu bələdçidə iki filtr növünə baxacağıq: kateqoriya və parametr şərtlərindən istifadə edən ParameterFilterElement və konkret element identifikatorlarından ibarət SelectionFilterElement. Filtr yaratmağı, onu görünüşə əlavə etməyi, görünməni dəyişməyi və qrafik parametrlərini tətbiq etməyi addım-addım nəzərdən keçirəcəyik.
Memarlıq sənədləşdirməsində bu üsul, məsələn, müəyyən şərtlərə cavab verən divarları görünüşdən gizlətmək və ya seçilmiş elementləri fərqli xətt rəngi ilə fərqləndirmək üçün istifadə edilə bilər. Bunlar üsulu izah edən nümunə ssenarilərdir; istifadə olunacaq kateqoriyalar və qaydalar layihənin ehtiyacına uyğun müəyyənləşdirilməlidir.
Tələblər və versiyanın yoxlanması
Bu izah Revit API ilə plagin hazırlamaq üçündür; Revit istifadəçi interfeysində izlənəcək menyu təlimatı deyil. Mənbələrdəki API izahları Revit sənədi və görünüşü üzərində filtr yaratmaq və onunla işləmək addımlarını əhatə edir. Konkret hesab növü, ödəniş və ya əlavə avadanlıq tələbi göstərilmir.
Hədəf Revit versiyasının API sənədlərindən istifadə etmək vacibdir. Autodesk-in Revit 2024 API izahında qeyd olunur ki, tərtibatçılar SDK ilə gələn RevitAPI.chm yardım faylından və Samples\SDKSamples.sln həllindən istinad mənbəyi kimi yararlana bilərlər. Köhnə versiya üçün yazılmış kodun yeni versiyada olduğu kimi işləyəcəyini güman etmək olmaz.
Məsələn, Revit 2024-də ElementId dəyərinin daxili yaddaş ölçüsü 32 bitdən 64 bitə yüksəldildi. Əvvəlki IntegerValue xüsusiyyətinin əvəzinə tam 64 bitlik dəyəri qaytaran Value xüsusiyyəti əlavə edildi. Autodesk bildirir ki, əvvəlki API versiyalarına əsasən kompilyasiya edilmiş kodlarda bəzi tip çevirmə problemləri yarana bilər və belə kod Revit 2024 API-si üçün yenidən kompilyasiya edilməlidir. Buna görə filtr hazırlayarkən istifadə edilən sinif və metodların hədəf versiyadakı sənədlərini yoxlamaq lazımdır.
Addım-addım: parametr filtri yaratmaq
Kateqoriya və şərtləri müəyyənləşdirin.
ParameterFilterElementbir və ya bir neçə icazə verilən kateqoriyadan və həmin kateqoriyalardakı elementlərə tətbiq olunan qaydalardan istifadə edir. Filtri yaratmazdan əvvəl hansı element qrupunun əhatə olunacağını və hansı parametr dəyərlərinin axtarılacağını müəyyənləşdirin. Autodesk-in nümunəsində divar kateqoriyası seçilir; qaydalara divar funksiyasının “Exterior” olması və uzunluq dəyərinin müəyyən həddə bərabər və ya ondan böyük olması daxildir.Filtr elementini yaradın və qaydaları təyin edin.
ParameterFilterElement.Createsənəd, filtr adı və kateqoriya siyahısından istifadə edərək filtr elementi yaradır. Qaydalar hazır olduqdan sonraSetRulesilə filtrə təyin edilir. Mənbədə bərabərlik, həddən böyük və ya ona bərabər olma, həmçinin mətnlə başlama şərtləri nümunə göstərilir. Bu nümunələr hər layihədə eyni parametrlərdən istifadə olunacağı demək deyil; qayda müvafiq kateqoriya və parametrlərlə uyğun olmalıdır.Filtri görünüşlə əlaqələndirin.
View.AddFilter()filtri hədəf görünüşə tətbiq edir. Lakin bu çağırış standart qrafik dəyişikliklərindən istifadə edir; buna görə filtr tətbiq olunsa da, görüntüdə fərq nəzərə çarpmaya bilər. Filtrin mövcudluğunu və görünüşdə necə nəticə verəcəyini ayrı məsələlər kimi nəzərdən keçirin.Görünməni tənzimləyin.
View.SetFilterVisibility()filtr şərtlərinə cavab verən elementlərin görünən olub-olmayacağını müəyyənləşdirir. Filtr hələ görünüşə tətbiq edilməyibsə, bu metod onu eyni zamanda görünüşə əlavə edir; buna görə ayrıcaAddFilter()çağırmaq mütləq deyil. Məsələn, uyğun gələn elementləri gizlətmək nəzərdə tutulursa, görünmə parametri buna uyğun təyin edilməlidir.Qrafik parametrlərini tətbiq edin. Filtrə uyğun gələn elementlərin xətt rəngi kimi görünüş xüsusiyyətlərini dəyişmək üçün
View.SetFilterOverrides()istifadə edilə bilər. Mövcud parametrləriView.GetFilterOverrides()ilə əldə etmək mümkündür. Beləliklə, filtr görünməni idarə etməklə yanaşı, elementləri görünüşdə vizual olaraq fərqləndirmək üçün də istifadə oluna bilər.
Addım-addım: seçim filtri və filtrlərin redaktəsi
Filtrə daxil ediləcək elementləri müəyyənləşdirin.
SelectionFilterElementparametr qaydaları əvəzinə elementlər qrupunun identifikatorları əsasında işləyir. Mənbədəki nümunədə əvvəlcə konkret görünüşdəki otaq nişanları toplanır, sonra otaq nömrəsi şərtinə cavab verən nişanların identifikatorları siyahıya əlavə olunur. Bu üsulda əhatə dairəsi filtr qaydaları ilə deyil, seçilmiş element identifikatorları ilə müəyyən edilir.Seçim filtrini yaradın.
SelectionFilterElement.Createilə filtr elementi yaradılır;SetElementIdsilə element identifikatorları həmin elementə təyin edilir. Filtrin identifikatoruView.AddFilter()vasitəsilə hədəf görünüşə əlavə olunur. Əhatə olunacaq elementlərin düzgün toplandığını yoxlamaq gözlənilməz nəticələrin qarşısını almağa kömək edir.İstəyə bağlı olaraq qrafik dəyişiklikləri əlavə edin. Autodesk-in nümunəsində görünüşdəki mövcud filtr parametrləri götürülür, xətt rəngi mavi təyin edilir və
View.SetFilterOverrides()ilə tətbiq olunur. Bu nümunə seçim filtrinə qrafik parametri əlavə etmə üsulunu göstərir; istifadə ediləcək rəng və digər vizual seçimlər layihə standartlarına uyğun seçilməlidir.Mövcud filtrləri nəzərdən keçirin.
View.GetFilters()görünüşdəki filtr identifikatorlarını qaytarır. Konkret filtrin görünməsiniView.GetFilterVisibility(), qrafik parametrlərini isəView.GetFilterOverrides()ilə yoxlaya bilərsiniz.View.RemoveFilter()filtri görünüşdən silir. Mövcud parametrləri dəyişmək üçün əvvəlcə filtr dəyərlərini oxuyun, sonra uyğun qrafik parametrləriniView.SetFilterOverrides()ilə tətbiq edin.
Autodesk-in nümunələrində sənədi dəyişən əməliyyatlar transaction daxilində yerinə yetirilir. Filtr yaratma, onu görünüşlə əlaqələndirmə və qrafik parametrlərini dəyişmə addımlarını tətbiq edərkən bu əməliyyatların sənədi dəyişdirdiyini nəzərə alın. Müxtəlif funksiyaları ayrı-ayrılıqda yoxlamaq problemin filtr qaydasından, görünmədən, yoxsa qrafik parametrindən qaynaqlandığını anlamağı asanlaşdırır.
Tez-tez rast gəlinən səhvlər və növbəti addımlar
Filtr əlavə edildi, amma görünüş dəyişmədi: AddFilter() standart qrafik parametrlərindən istifadə edir və təkbaşına görünən dəyişiklik yaratmaya bilər. Görünmə üçün SetFilterVisibility(), qrafik fərqi üçün isə SetFilterOverrides() parametrlərini yoxlayın.
Qayda gözlənilən elementləri tapmır: Filtrin icazə verilən kateqoriyalarını və şərtlərdə istifadə olunan parametrləri yenidən nəzərdən keçirin. Parametr filtri kateqoriya ilə məhdudlaşdığından, əhatə dairəsindən kənar kateqoriyadakı elementlər qaydaya uyğun gəlsə belə, filtrə daxil olmayacaq.
Seçim filtrində yanlış elementlər var: SetElementIds çağırışından əvvəl yaradılmış identifikator siyahısını və siyahını yaradan seçim şərtlərini yoxlayın. Bu filtr növü parametr qaydalarını öz-özünə tətbiq etmir; hədəf elementlərin identifikatorları filtrə açıq şəkildə təyin olunur.
Plagin başqa Revit versiyasında problem yaradır: Hədəf versiyanın API dəyişikliklərini yoxlayın. Revit 2024-dəki 64 bitlik ElementId dəyişikliyi əvvəlki API-yə əsasən kompilyasiya edilmiş kodun yenidən kompilyasiya olunmasını tələb edə bilər. Hazırlıq və ya yeniləmə işlərindən əvvəl sınaq görünüşündə işləmək və istifadə olunan API sənədlərini versiyaya uyğunlaşdırmaq faydalı növbəti addımdır.
Memarlıq, interyer dizaynı və vizuallaşdırma komandaları üçün filtrlər, xüsusilə görünüşlərdəki element qruplarını ardıcıl şəkildə idarə etmək lazım olduqda nəzərdən keçirilə bilər. Parametr filtri meyarları kateqoriyalar və qaydalar vasitəsilə təsvir edir; seçim filtri isə birbaşa müəyyən edilmiş element qruplarını hədəfləyir. Hansı üsulun uyğun olduğu görünüş standartından və elementlərin necə seçiləcəyindən asılıdır. Plagin uyğunluğu və versiyalararası keçidləri də iş prosesinin bir hissəsi kimi nəzərə almaq lazımdır.
Tətbiqə başlayarkən kiçik sınaq görünüşündən istifadə edin: əvvəlcə əhatə dairəsini dar saxlayın, sonra filtr uyğunluqlarını, görünməni və qrafik parametrlərini ayrı-ayrılıqda yoxlayın. Nəticələr gözlənildiyi kimi işlədikdə bu yanaşmanı layihə standartlarına uyğunlaşdırın.
Mənbə və lisenziya
Bu bələdçi Autodesk-in Revit API Developers Guide daxilindəki “View Filters” izahı və Autodesk-in Revit 2024 API dəyişiklikləri barədə yardım məzmunu əsasında hazırlanıb. Mənbələrdəki lisenziya məlumatına əsasən, onlardan sərbəst istifadə etmək mümkündür; bu material mənbələrdəki texniki izahların Azərbaycan dilinə uyğunlaşdırılmış formasıdır.
Mənbələr
2 mənbəMənbə mətnləri yenidən dərc edilmir; qısa sitatlar işarələnir, qalanı bizim xülasə və şərhimizdir.
Revit API filtrləri ofislərə görünüşlərdəki element qruplarını daha səliqəli idarə etməyə kömək edə bilər. Parametrlərə əsaslanan qaydalar təkrarlanan hallarda faydalıdır, seçim filtri isə əhatə dairəsini birbaşa müəyyən edilmiş elementlərlə məhdudlaşdırmaq üçün uyğun seçimdir.
Türkiyədəki ofislər və tələbələr üçün mənbələrdə qiymət və ya lisenziya məlumatı yoxdur; buna görə seçim edərkən bu məqamlar ayrıca araşdırılmalıdır. Praktikada diqqətdən qaçırılmamalı əsas məsələ versiya uyğunluğudur: Revit API-dəki dəyişikliklər köhnə plaginlərə təsir edə bilər. İstehsal fayllarına keçməzdən əvvəl filtrləri və plagini hədəf versiyada sınaqdan keçirmək daha ehtiyatlı yanaşmadır.
Tez-tez verilən suallar
Revit API-də parametr filtri necə yaradılır?
`ParameterFilterElement.Create` ilə kateqoriya əhatə dairəsi müəyyən edilir, filtr qaydaları hazırlanır və `SetRules` ilə təyin olunur. Sonra filtr görünüşlə əlaqələndirilə, görünmə və qrafik parametrləri tənzimlənə bilər.
Revit API-də seçim filtri ilə parametr filtri arasında hansı fərq var?
Parametr filtri kateqoriya və qaydalar əsasında işləyir. Seçim filtri isə qaydaları yoxlamaq əvəzinə filtrə əlavə edilmiş element identifikatorlarından istifadə edir.
Revit 2024 API dəyişikliyi köhnə plaginlərə təsir edirmi?
Revit 2024-də `ElementId` yaddaş ölçüsü 64 bitə yüksəldildi və `IntegerValue` əvəzinə `Value` xüsusiyyəti əlavə edildi. Autodesk bildirir ki, əvvəlki API-yə əsasən kompilyasiya edilmiş bəzi kodlarda tip problemləri yarana bilər və onları Revit 2024 API-si üçün yenidən kompilyasiya etmək lazım gələ bilər.



