Enabling blocks to families
This feature is a load setting and is off by default. To enable it:- In the Revit connector, open the model you want to load.
- Expand the Settings section at the bottom of the load dialog.
- Toggle Receive Blocks as Families on.

Enabling this setting only affects the current load operation. Toggle it
before each load if you want consistent results.
How blocks are converted
Each block definition from the source model becomes a Revit family. Block instances in the scene become instances of that family placed in your project.Geometry support
The following geometry types are supported. Each is converted to the most capable Revit representation available:| Source geometry | Revit element |
|---|---|
| Solids | Freeform element |
| Meshes | Freeform element |
| Surfaces | Freeform element |
| SubDs | DirectShape |
| Curves | DirectShape |
| Points | DirectShape |
Layers become subcategories
Layers assigned to geometries inside a block definition are created as subcategories within the family. This lets you control visibility per layer from Revit’s Visibility/Graphics settings.
Materials
Materials from the source model are applied to the created geometry inside the family. A type parameter is also created on the family so you can override the material directly from the project without editing the family definition.
Nested blocks
Nested blocks are supported and are converted as nested families. Each level of nesting requires Revit to create an additional family file, which is an expensive operation.
Family categories
By default, all families created from blocks are assigned to the “Generic Models” category. If you use the Revit Categorization tool to assign Revit categories to your blocks, the connector will attempt to create the family in the specified category. If the category is not supported, it will fall back to a default category.
FAQ
Which applications can create blocks that work with this feature?
Which applications can create blocks that work with this feature?
Any application whose Speckle connector sends block or instance structure will
work. That includes Rhino (blocks), SketchUp (components and groups), and
AutoCAD (blocks). If you publish from one of these and your model contains
block definitions with instances, the Revit connector can receive them as
families. Other connectors that support blocks in the future will work the
same way.
How do blocks get into my Speckle model?
How do blocks get into my Speckle model?
Blocks come from the application you use to publish. Create blocks (or
components, or groups, depending on the app) in that application, then publish
the model to Speckle. Speckle stores each block definition once and each
placement as an instance. When you load in Revit with Receive Blocks as
Families on, those definitions become Revit families and the instances
become family instances in the project.
Does this work with nested blocks?
Does this work with nested blocks?
Yes. Nested blocks are converted as nested families, preserving the original
hierarchy. However, each nesting level adds to load time because Revit must
create a separate family for each unique block definition. Deeply nested
models (such as those from SketchUp) can be slow to process.
My blocks are scaled or skewed in the source model, but they look different in Revit. Why?
My blocks are scaled or skewed in the source model, but they look different in Revit. Why?
Revit’s geometry engine only supports transformations that preserve angles —
specifically, uniform scale, rotation, and reflection. Non-uniform scaling
(where X, Y, and Z scale independently) and shearing (skewing) are not supported
by the Revit API at the family instance level.When a block instance in your source model has been non-uniformly scaled or
skewed, Speckle will place the family at the correct position and rotation,
but the scaling or skew cannot be applied. The family will appear at its original undeformed proportions.To work around this, bake or explode the affected instances in the source
application before publishing to Speckle, so the geometry is already deformed and no longer relies on a transform.