In my Auditorium Seating Project, I created a family where it can be a template family for future projects that uses a standard Auditorium Style Seating. The Family flexes in both width and depth to adjust to the particular parameters of a given room and adjusts the number of seats accordingly. The project needed the assistance of CSharp Coding software to help create a relationship of the family to the surrounding objects which is beyond the limits of what Revit can do at the current time. The relationship enabled the Auditorium Seating Family to flex as the door, floor slab and all the walls were changed. The change in size could be a result of the changes in design, program requirements, or even capacity requirements.
In the following images below, Figure 1 illustrates how the default Auditorium Seat Family is nested into another Family. The Auditorium Seat was arrayed in a linear manner and giving a parametric for the width to flex in the width direction dependent on the size of the room needed in that direction. The Family was then nested into another Family as you can see in Figure 2 where the first Linear Array was Arrayed again but this time in the Depth Direction adjusting to the depth of the room as needed. The Family now can be flexed in both Width and Depth Direction adding or subtracting the chairs needed dependent on how big the Auditorium Space is. In Figure 3, it illustrates the simplicity of the extent of a singular algorithm that Revit can handle, and when using a Coding Software such as CSharp is when multiple relationships can be established and executed. In Figure 4, The Family is now constrained and locked with other objects of the room such as the floor slab and walls and will adjust with them as they are changed now through the parametric coding. In Figure 5, it just shows a quick screen shot of the CSharp Program identifying variables and establishing a connection to the Revit Project.
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
The Project I created is the first phase of development and has room to create a more advanced and more sophisticated model as more understanding comes down the road of both the Revit BIM software and the CSharp Coding Software and syntax language. The Auditorium Seating Project can be furthered advanced by placing a relationship of having additional doors added to the walls in response of the changes made to the room. The addition or subtraction of doors could be related to the necessary egress exits for a certain amount of users in an auditorium space as we flex the size of the room. Another aspect would be to create circulation spaces for people in the middle of the seating as that was not developed far enough. This would create more safety for people and not have exits only on the sides. This issues probably could be addressed partially in the family design and constraints and partially in the coding where when sizing the room it "snaps" to the circulation spaces to not create any odd seating arrangements.
The result of the whole process of this project was very positive and gave a very good understanding about certain extents of what Revit can or can not do. The Final Project also created the baby steps of understanding how scripting and coding can play a pivotal part of design work and the production process as well. The process of using Revit and Parametric Coding opens many different possibilities such as leading the design process, enabling the visualization and understanding of spaces and pre-constructed spaces and layouts, reducing the monotonous and tedious workloads that was shown in previous softwares such as AutoCad. This new wave of technology paves a higher level of sophistication in what our capabilities are and can be and speeds up the process what took us years to do in the past.