Simple, Scalable Rock

All of my recent posts on scalable landscape families made me start thinking again about how scaling can be applied to rocks and boulders. Of all the landscape families out there, they are some of the trickiest to model, mostly because of their organic shape.

I have previously posted a scalable, rotatable, and editable rock, but it is admittedly a bit unstable. So this time I decided to make a more stable rock from an import and then nest it into a Planting family to make it scalable.


Import Geometry
Since 2014, Revit has allowed for solids to be imported as free form elements, which can then act like native Revit geometry in regards to most things, including cutting, joining, and applying materials. This is particularly useful for importing complex/ organic geometry like rocks.

Though I created this rock geometry within the Revit adaptive component environment, it can come from anywhere, as long as it’s a solid, 3D supported import. Since I made it in Revit, I exported it to CAD, making sure to check ACIS solids in the export setup.


The main reason I do this is because adaptive components do not truly host to Topo, which can be a bit of a bummer when working with rocks.

For this family, I actually nested 2 families deep. This is mainly to have the final Rock family be a Site family and not a Planting family. I frequently use transparency overrides on Planting in 3D views and do not want to apply this to rocks as well.

The first family has the import free form element, with a Material instance parameter. You have to explode the import to make it editable.


In order to control the Height correctly, make sure that the desired Height is correct within the first family. Before loading into the second family, make sure that the Height parameter in the second family matches the first.

In the second family, associate the Material parameter and then load it into the third and final, non-Planting family.

Here associate the Material again and then you can also associate the Height parameter. Select the nested family and Edit Type. All of the type parameters can be associated, just click the little button on the far right. I prefer to have Material as a type parameter and Height an instance parameter.

associate height

Usually you cannot associate nested Type parameters, so I just assumed that the Height could not be associated to an instance parameter. However, with nested Planting families you can. This just reinforces that you should not let perceived constraints hold you back, especially in Revit.

And there you have it, a simple, scalable Rock family.


So for anyone who has been paying attention, this means that you can, in fact, create Complex Graphics without the complex and time-consuming framework. It just requires a bit more nesting.


3 thoughts on “Simple, Scalable Rock

  1. Hello! I’ve tried to use this family in a project, but only parts of the contour lines are visible in plan view making different rocks look different. Is there a way to fix this? The rocks are hosted to a floor.

    • I’m not sure what you mean by contour lines. Do you mean the outline of the rock? I have noticed that the outline of the rock isn’t always visible in 3d views or in plan if it is embedded into it’s host. I think this is a result of it being an unconventional, free-form shape, so I’m not sure if there is much you can do.

      If it is only an issue in plan views, you could create a detail component in the shape of the rock (similar to my workflow for scaleable planting symbols) and set the actual rock geometry to not visible in plan views.

      • Yup, it’s the outline that’s not completely visible in plan views. Your detail component tip sounds reasonable, I’ll try that out. Thanks for the quick reply!

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s