Blog MaxRevit

Tips on how to solve problems and optimize workflow in Revit and 3DS Max

Emilia Dudzińska

W przypadku pracy nad projektem wnętrz lub innym zdarza się, że dany typ ściany nie chcemy traktować jako definiujący pomieszczenie. Jest tak w przypadku, np. okładzin ściennych tworzonych jako oddzielna ściana.

W Revit domyślnie parametr Room bounding (Definiuje pomieszczenie) jest określony jako prawdziwy. Nie ma możliwości wyłączenia go przed stworzeniem elementu. Gdy ściana pojawi się w projekcie jest możliwe odznaczenie definiowani pomieszczenia. Problem pojawia się gdy dany typ, np. okładzina ma być zawsze pomijana w tworzeniu obrysu pomieszczenia. Można przyjąć trzy rodzaje podejścia:

1. Wybrać wszystkie wystąpienia elementu w projekcie w przypadku jednego typu ściany:

a. Wybrać pożądaną ścianę

b. Kliknąć prawym przyciskiem myszy

c. Wybrać Select All Instances In Entire Project (Wybierz wszystkie wystąpienia w projekcie) i odznaczyć Room bounding (Definiuje pomieszczenie)

2. Wybrać wszystkie wystąpienia elementu w projekcie w przypadku wielu typów ścian

Gdy w projekcie jest więcej niż jeden typ ściany, która nie tworzy obrysu pomieszczenia powyższa opcja jest niedostępna. Proponuję skorzystać z zestawienia. Zakłada się, że wszystkie omawiane ściany mają wspólny parametr. W moim przypadku jest to Type Mark zawierający słowo „FIN”

a. W zakładce View (Widok) wybrać Schedules (Zestawienia), a następnie Schedule/Quantities (Zestawienia/Ilości)

b. Wybrać kategorię ścian

c. Dodać do zestawienia Type Mark _(Znacznik Typu) (niestety parametr Room Bounding nie jest dostępny na poziomie zestawień)

d. Dodać filtr Filter by (Filtruj wg) Type Mark (Znacznik Typu) contains (zawiera) FIN . Nie ma możliwości filtrowania samego typu, więc nie wystarczy jednorodny schemat nazewnictwa typów

e. W zakładce Sorting/Grouping (Sortowanie/Grupowanie) odznaczy Itamize every instance (Wyświetl każde wystąpienie elementu) f. Wybrać dowolny wiersz w zestawieniu, przejść na rzut i odznaczyć Room Bounding (Definiuje pomieszczenie)

3. Dynamo

Alternatywą jest skrypt Dynamo opierający się na jednolitym schemacie wybranego parametru. W poniższym przykładzie zakłada się, że wszystkie ściany nieokreślające obwodu pomieszczenia mają w nazwie frazę „fin”

a. Skrypt najpierw wybiera kategorię Walls (node: Categories) i wybiera wszystkie ich wystąpienia (node: All Elements of Category)

b. Następnie przy użyciu node String.Contains skrypt odfiltrowuje typy, które w nazwie zawierają „fin”. Tu należy dostosować zawartość String do własnego nazewnictwa typów

c. Node List.FilterByBoolMask tworzy oddzielne listy prawdziwych i nieprawdziwych wystąpień

d. Node Element.SetParameterBy name ma podłączony z node List.FilterByBoolMask pozycję „in”, która oznacza wartości prawdziwe (zawierające wybraną frazę). Określony jest także jako String parametr Room Bounding oraz value przy użyciu node Boolean, który wymusza wartość parametru „false”, a zatem go odznacza.

Skrypt do ściągnięcia tu.

Podsumowanie:

Dla osób, które mają możliwość korzystania z Dynamo zdecydowanie poleciłabym trzecią metodę, ponieważ można ją łatwo wywołać przez Dynamo Player i zaimplementować w procedurze wydania projektu. W przypadku braku dostępu do Dynamo polecam drugą metodę. Warto tworzyć w parametrach wartości wspólne, które później pozwalają zastosować je w filtrach.

Ostatnie posty

Zobacz więcej

Kategorie

O mnie