Thursday, December 20, 2012

Bug Found When Scaling the Revit Cow

Anyone who attended my class at Autodesk University 2012  "AB3741 Advanced Autodesk Revit Modeling Techniques" remembers that we were able to scale the Revit Cow 10 times its original size in under 5 minutes using the "Scale by Host" method. We even were able to place a floor, a door and windows in the Revit Cow. 
I decided, on the spot and in front of all 300 or more attendees, to create a window that followed the contour of the Revit Cow since all the OOTB window families did not look correct as shown below. This was probably not a good idea to try something like this without practicing it first because I knew something would go wrong and it did!
I started by creating an in-place mass so I could create my curved window. I then created 4 model lines that where HOSTED to the window opening's edges. These model lines were comprised of 2 point splines that used the "follow surface" option. Once created, I selected all 4 model lines and clicked create form.... and POOF the top and bottom lines straightened and the form just simplified itself before my very eyes...and the eyes of all the attendees as shown in the image below.

I said in front of the class that I would look into what went wrong.
Well, now that AU2012 is over I had time to investigate the problem and report to everyone what I have found. 

Its a bug... yes I said it... a bug. Model lines are not supposed to simply change shape such that the resulting form is simplified. At least I am guessing that was not the developers intention. 

If its a bug then the next question is, what should have happened? Well, if I would have changed those 4 model lines into REFERENCE LINES in the class then the lines at the top and bottom would not have straightened and the form would have tessellated itself as shown. 
The model lines and the reference lines create two VERY difference results and from my experience there should never be any difference in form creation when using a model line or a reference line that are geometrically identical. I tried another experiment. When the model lines and reference lines are NOT HOSTED then it yields the following results. 
As the above results show when model lines are NOT HOSTED then it yields the same results as the reference lines. After this last experiment,  I was finally convinced that this was a bug and that the developers need to fix it.

So, my fellow blog readers, if you see a Revit developer out there, run them down and tell them to fix this bug in Revit so that you could use model lines when you are creating complex glazing on the 40 foot tall Revit Cow that you downloaded from Marcello's AU2012 dataset or on your own complex family.

Even after you find a developer, don't hold your breath and wait for them to fix the bug. Take matters into your own hands and use the workaround....change those hosted model lines into reference lines and then "click" create form. Good Luck!

If you missed the AU2012 class or you want to see me create this again, you will be able to watch it on AU Virtual in early 2013.


Décio Ferreira said...

That's the point Marcelo!

Congratulations for your class. My best one in AU 2012; the beste one in AU2012...

Your cow is, since that day, my inspiration :)

Regards from Portugal

Scott Sheppard said...

Thanks for your detailed steps that can allow us to reproduce the problem. I have forwarded your link to the Revit team so they can write up a defect in our bug tracking system. They can consider including a fix for this in the next product release or service pack. We test our releases thoroughly but unfortunately we did not catch this problem.