I have been asked many times about the best way to model a waffle slab in Revit. There are many different ways to go about it; I will discuss a few of them.
Beams and Floor: I personally like to model a waffle slab with a floor that is the top thickness and then just draw in the beams for the waffle part. Either using a rectangular beam or a Pan Joist depending on the construction of the waffle. I like this method due to the fact that it has the fewest faces modeled in the project. Each beam will have 6 faces and the slab 6 faces, which is the easiest for Revit to process.
Floor with Holes and Floor: A lot of users will model one floor that is the thickness of the waffle portion of the slab with holes sketched for the waffles, then model another floor on top of it the solid thickness. Once both of the the slabs are modeled they will have to be joined together This method works well if the waffle slab has a varying pattern, but can only have vertical waffles. The downside to this method is for every opening in the slab there will be 4 additional faces, there for creating more information for Revit to process.
Floor with Custom Void Family: Lastly, one could create a custom family that is floor based and contains a void. Change the shape and size of the family(ies) once loaded and place them where needed. This option is the most flexible and will allow the waffle to do have any shape, however it also creates the most faces. The voide will have 6 faces which will cut the floor creating 5 addtional faces. So there will be 11 faces at each waffle taking additional processing power.
Either way you choose here are a few of the options that I have seen used in the industry.