This is my entry into Zach Kron's 6th Annual Parametric
Pumpkin Competition.
I have wanted to enter this Competition for a few years,
I finally got my act together and put something together. The following is a bit of
a journal of my entry.
The concept was rather simple, create a Lego family that
can be applied to Mass forms to give the effect that it is made out of Lego.
From this simple concept began a very long journey of experimentation and
refinement.
My initial inspiration was to create a family that was
nested into a curtain panel pattern based family that was then loaded into the
divided surfaces of the mass forms. It all went really well, I got a fairly
simple parametric Lego block modelled, not too many formulas, and loaded it in
did some testing and it worked great....then I started to make a few
refinements.....What about if the Lego block got very narrow and how about the
buttons on the top and the circular voids below? Then how about being able to
apply different coloured blocks, pretty boring if they are all the same
colour!!!
First things first, getting the Lego block modelled
properly….. so the family now has some formulas that control the buttons on the
top and the circular modelling underneath all controlled by the length of the
block. I made the Lego size correspond with a typical concrete block module
size (standard in Australia), 200mm wide 200mm high and 400mm long (with the
length being flexible). An added little bonus is that if we want an actual real
life Lego block size I put in a scale factor parameter that would scale
everything down to an actual Lego block size, 16mm wide 9.6mm high and 24mm
long. The last step was probably a bit of overkill but I wanted to push the
family. (I thought I would even put the word Lego on the top of the buttons but
that would be going too far......it was already going to take ages to populate
the mass!!!)
The model now worked fantastic, and could be applied to
forms as a curtain panel pattern.......
The next step was the colours......this I found to be
much more of a challenge....I have a randomiser add-in so I though great, use
that.....but it only works in a project file and it will not work on the
individual blocks in the Curtain panel....We also use BIMLink, I created some
individual materials for the Lego colours and then I created a schedule,
exported it out and using excel to randomise the materials imported it back in
to my model.....same result, you can't individually control the materials of a
curtain pattern family. I then had a look at creating a filter to change the
colours of the Lego blocks based on their length, this worked great but I
thought it was sort of the easy way out and it created bands of colours in my
model, not really the random result I was after. So back to the drawing
board....then I decided that I needed to look at using a different family type.
So I hosted the Lego block into a 2 point adaptive family and then loaded it
into the mass on the nodes of the divided surface. Then using the repeat tool,
I created my logo blocks. Worked great (almost), unfortunately I had the same
problem with randomising the colours as I did before. This is when I thought
about a reactive component. So placing a control point in the adaptive family I
created a sin wave formula and used family types to create the randomness. This
was the answer and when it was loaded into the mass family with a control point
I got my random blocks, plus you can change the randomness by moving the
control point. Hooray!!!
It was ready to go.
I tested it, hosting it into a few different forms and it
worked great. It was ready for the pumpkin.
Creating the pumpkin form was relatively easy in comparison,
creating a profile from a couple of reference circles and hosted points (using
the measurement type and specifying an angle), some splines for the segments,
overall radius parameter controls it all. This then gets loaded into my pumpkin
mass hosted to a few reference planes and then created the form and dragged the
top reference plane down to create the shape. Same process for the little stalk
at the top. Parametric Pumpkin Done!
The pumpkin was ready to be Lego'ed......
The surfaces were divided up and nodes activated, the U
and V grids were adjusted to allow the blocks to stack nicely for the heights,
and an ok length for the grids set. Then I started placing the Lego into the
individual segments. Each segment took Revit about 15 minutes to repeat the
component pattern, a bit of a side effect from having such a detailed Lego
family. To add a little bit of a bonus I created the stalk of the pumpkin using
my actual real life Lego blocks, 9.6mm high!!! In total there are a total of
22752 Lego blocks in the pumpkin (4212 Big blocks and 18540 Actual size),
probably a good reason why it took hours to transform it into Lego. The mass
family file size is now over 100Mb!!!
Happy with my result, I had to now get it into a project
so that I can produce some renders.....Let me just say that Revit does not like
Mass families that big! A straight insert didn't work, so I had to insert a
basic mass pumpkin form with the same name to get it into the model and then
reload in the Lego pumpkin over the top, this actually took overnight to get
into a project file!!!
With the final mass family in I was able to render the
file out, and schedule all of the blocks.
I was also wondering how it would go rendering it in 3DS,
so I exported an FBX and loaded it into 3DS (also left for overnight). What was
surprising....26 million polygons.....and it still rendered fairly quickly.
So in conclusion, my simple idea of creating a Lego
Pumpkin turned into an epic task, but so worth it!!!!
PS. I take responsibility for creating more detail in my
Lego block than probably required but I really wanted to push Revit to see if
it could handle it. In the end Revit was able to do it, but I don't think I
will get a Christmas card from my computer this year.....
Hi Scott, just wanted to say ... nice pumpkin. Simple concept, well executed, bit different from the usual stuff. Not sure if your title is supposed to say Bolg, but that's also quite cool IMHO. :-) cheers now
ReplyDelete