> For the complete documentation index, see [llms.txt](https://wiki.mksdtech.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wiki.mksdtech.com/beam/beam-for-rhinoceros/beam.md).

# BEAM

Export Rhino® geometry and blocks for Autodesk® Revit™

**BEAM** saves Rhino objects and blocks to a *.beam* file. In Revit, the file becomes loadable families, system families and model curves, with their categories, parameters and materials.

## Export a .beam

{% stepper %}
{% step %}

### Select

Select the objects and blocks to export. To pick whole families quickly, use **F** or **F+** on the panel. See [Select families](/beam/beam-for-rhinoceros/families.md#select-families).

If nothing is selected, BEAM asks you to select objects.
{% endstep %}

{% step %}

### Click BEAM

Click **BEAM** at the bottom of the [panel](/beam/beam-for-rhinoceros/using-rhino-beam.md#tool-buttons).
{% endstep %}

{% step %}

### Name the file and pick a location

<figure><img src="https://1008084047-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M20iL6J8Vf1nWgor7JL%2Fuploads%2Fgit-blob-044589344391fb87ce9a42979feb94e8f4319dbf%2Fmock-beam-save.png?alt=media" alt="BEAM save dialog" width="330"><figcaption></figcaption></figure>

* **Save As**: a name you will recognise in Revit. Use letters, numbers, spaces, `_` and `-`. If you leave it empty, BEAM creates a random code.
* **Location**: the coordinate system. **Internal Origin** exports relative to the Rhino origin. Pick a [named CPlane](https://docs.mcneel.com/rhino/8/help/en-us/commands/cplane.htm) to export relative to that plane.

Click **BEAM**.

{% hint style="danger" %}
A name that already exists overwrites the old *.beam* file.
{% endhint %}
{% endstep %}

{% step %}

### Import in Revit

The file is saved to the [.beam directory](/beam/beam-for-rhinoceros/beam-directory.md). In Revit, use:

* [BEAM](/beam/beam-for-revit/beam.md) to import or update families.
* [BLOCS](/beam/beam-for-revit/blocs.md) for more control over block placement.
* [URSA](/beam/beam-for-revit/ursa.md) to place adaptive components on curves and points.
  {% endstep %}
  {% endstepper %}

{% hint style="info" %}
On macOS, BEAM asks where to save the file instead of using the .beam directory.
{% endhint %}

{% hint style="warning" %}
If you select an object inside a block, BEAM exports the whole block. This keeps block families complete. Hidden objects inside blocks are not exported.
{% endhint %}

## Objects that failed to export

Some geometry cannot be exported, for example invalid or non-manifold objects. BEAM then lists the failed objects with the reason.

<figure><img src="https://1008084047-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M20iL6J8Vf1nWgor7JL%2Fuploads%2Fgit-blob-cd606bc7b8e73993bc2f7ee47ff0cd453e79c1ea%2Fmock-errors.png?alt=media" alt="Failed objects dialog" width="430"><figcaption></figcaption></figure>

Click **Copy To Clipboard** to copy their GUIDs. Then use [Select by Guid](#select-by-guid) to find them in the model.

## Select by Guid

Click **S** on the panel, paste one GUID per line in **Paste Guids**, and click **Select**.

<figure><img src="https://1008084047-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M20iL6J8Vf1nWgor7JL%2Fuploads%2Fgit-blob-c2c62d219a63018b7bcf278f0f0aa343f17f3fc6%2Fmock-select-guid.png?alt=media" alt="Select by Guid dialog" width="330"><figcaption></figcaption></figure>

This also works with the failed GUIDs that Revit reports after an import. Copy them from the Revit dialog, paste them here, and review the objects in Rhino.

## Grasshopper

To export from a Grasshopper definition, use the **Export BEAM** component. See [Grasshopper](/beam/beam-for-rhinoceros/grasshopper.md#export).
