# MKS BEAM

BEAM ME UP!

![](/files/b1i7ju5bWfkjaFNmPiGZ)

**BEAM** brings the power of **BIM** to **Rhino**®.\
\
Extend **Rhino**® with **BIM** data and export your design to **Autodesk® Revit™** or **IFC 4**.\
With **BEAM** you can create families, parameters, and move geometry across the platforms.

Visit [mksdtech.com](https://www.mksdtech.com/)  for more information.

This manual will guide you throughout the main features of the program.<br>

**Supported software:**

* Rhino version **6 -** **7 - 8**
* Revit version **2018 - 2019 - 2020 - 2021 - 2022 - 2023 - 2024 - 2025 - 2026**
* Dynamo version **2 ++**
* Grasshopper version **1 ++**

![](/files/-MbLnAWgX2rDkXqKDbAs)

{% hint style="info" %}
If you are experiencing problems with BEAM, contact <info@mksdtech.com>
{% endhint %}

{% content-ref url="/pages/-M22q4GoESBlf-2fMQ-H" %}
[BEAM for Rhino®](/beam/beam-for-rhinoceros)
{% endcontent-ref %}

{% content-ref url="/pages/-M22q9bkUZt2oj6GQX1w" %}
[BEAM for Autodesk® Revit™](/beam/beam-for-revit)
{% endcontent-ref %}


# Installation

### Windows Installer

Download and run the latest windows installer from this link: [Download BEAM](https://www.mksdtech.com/download)

![](/files/-M4WC7Buh1hJT5H_gTya)

{% hint style="warning" %}
Close all **Revit** and **Rhino** sessions prior to running the installer.
{% endhint %}

In the case Windows SmartScreen shows this window, select **More Info** and then **Run anyway**.

![](/files/-M5JN9vA2XwOtTcbsXkL)

{% hint style="info" %}
Alternatively check the unblock checkbox in the installer file properties prior running.

{% endhint %}


# BEAM for Rhino®

MKS BEAM plugin for Rhino®


# Getting Started

## Activating the Panel

Click the option wheel in the Rhino Panel Dock and select Beam Panel to activate it in Rhino.

![](/files/HRPjvp8er5lDFYaMEfVj)

{% hint style="info" %}
All data will be saved in the Rhino document and is available again when the file is reopened.
{% endhint %}

## Panel

Via the Rhino panel is possible to assign [properties ](/beam/beam-for-rhinoceros/properties)and [parameters ](/beam/beam-for-rhinoceros/parameters)to objects and families, manage [families ](broken://pages/-MaJK6ZO_JjqHAFZR337)in the document, set [project folders](/beam/beam-for-rhinoceros/beam-directory) and more.

![](/files/l7ERTmBmO6VK12bKPA2S)

## Compatible Geometry

BEAM can export only manifold and valid Rhino geometry.

* Surfaces
* Polysurfaces
* Sub-D
* Meshes
* Points
* Lines
* Polylines
* Nurbscurves
* Polycurves
* Circles
* Ellipses
* Arcs
* Elliptical Arcs

{% hint style="warning" %}
Non exportable geometries will be skipped.\
The GUID of the objects will be shown at the end of the export.
{% endhint %}

{% hint style="info" %}
Sub-D export is native from version 1.7.\
In previous versions, to export Sub-D objects in Rhino 7, convert them to nurbs first.
{% endhint %}

Start [assigning properties to Rhino objects](/beam/beam-for-rhinoceros/properties#assigning-properties-to-rhino-objects) and [creating families](/beam/beam-for-rhinoceros/families) and [parameters](/beam/beam-for-rhinoceros/parameters).

{% content-ref url="/pages/-MTLuhKJK\_UxLJYjlv32" %}
[Properties](/beam/beam-for-rhinoceros/properties)
{% endcontent-ref %}

{% content-ref url="/pages/-MTLv05NMo2PbQHFp13r" %}
[Families](/beam/beam-for-rhinoceros/families)
{% endcontent-ref %}

{% content-ref url="/pages/-MaJK1Lr6tk5tlugVdlj" %}
[Broken mention](broken://pages/-MaJK1Lr6tk5tlugVdlj)
{% endcontent-ref %}

## Rhino Tools

BEAM for Rhino includes the following tools:

{% content-ref url="/pages/-MTLvfyH4U-FaeeS7Rv8" %}
[BEAM](/beam/beam-for-rhinoceros/beam)
{% endcontent-ref %}

{% content-ref url="/pages/-MTLvuxqBESq4LBUOayg" %}
[BLOCS](/beam/beam-for-rhinoceros/blocs)
{% endcontent-ref %}

{% content-ref url="/pages/-MTLw2wWnFGqZ4GOuzYn" %}
[RAY](/beam/beam-for-rhinoceros/ray)
{% endcontent-ref %}


# Properties

Add properties to Rhino® objects

In Rhino, use the [panel](/beam/beam-for-rhinoceros/using-rhino-beam#panel) to assign the following properties to Rhino objects:

* Family - The family that owns the object.\
  *Objects in blocks are always assigned to the block family.*
* Subcategory - Subcategory of the object.\
  *This property is not available for System Families*.
* Material - Material to apply to the object.\
  *This is always the Rhino material assigned to the object.*
* Data  - Extra metadata visible only in Dynamo.

## Assigning properties to Rhino objects

Selecting suitable objects will activate the [panel](/beam/beam-for-rhinoceros/using-rhino-beam#panel).\
Type values in the parameter fields to assign the property to one or more geometries.\
Press enter to apply.

![](/files/3evep3QsfprawZskghmS)

{% hint style="info" %}
When a material is not present in Rhino, BEAM will automatically add it to the document. You can then adjust its appearance in the Rhino Material Browser.

If an object’s material is initially assigned by layer, BEAM will switch it to by object so it can be managed individually. The *Material* property in the panel always refers to the Rhino material assigned to the object. Editing this property will immediately update the object’s material in Rhino.
{% endhint %}

{% hint style="info" %}
When importing into Revit, any missing subcategory or material will be created automatically with a similar appearance.
{% endhint %}


# Visibility

Edit object visibility

Objects can be assigned to different visibility settings, which control how they appear in the Revit family.\
By setting objects to Coarse, Medium, or Fine, you can define different levels of detail for the same family. This allows a single family to display simplified geometry at low detail and more complex geometry at high detail.

<figure><img src="/files/F71fnTpjUFCGSMadoS0w" alt=""><figcaption></figcaption></figure>


# Linework

Lines and arcs appearance

Lines and arcs included in families are imported into Revit.

To control their appearance, assign a subcategory to the curves that matches one of the subcategories available in the Revit family template.&#x20;

{% hint style="info" %}
For example, assigning the subcategory \<Hidden Lines> will display the curves using that style inside Revit.
{% endhint %}


# Families

Create and manage families in Rhino®

In Rhino, use the [panel](/beam/beam-for-rhinoceros/using-rhino-beam#panel) or create blocks to create families in the current Rhino document.

Families group the geometry imported into different [loadable families](/beam/beam-for-revit/beam/loadable-families) or [system families](/beam/beam-for-revit/beam/system-components) in a Revit project or Ifc file.

## Creating a new family

In Rhino, families can be created [manually ](#using-the-panel)or with Rhino [blocks](#using-blocks).

### Using the panel

* Select any number of Rhino objects and type a name in the *Family* field on the panel.
* A new family is created in the document and includes the selected geometry.
* At any time, you can add more objects to an existing family by typing its name in the *Family* field of the selected objects.
* To remove an object from a family, simply clear the *Family* field of that object.

### Using blocks

* Create a Rhino block and give it the family name.
* A new family is created in the document and includes the objects in the block.
* At any time, you can add more objects to an existing family by adding them to the block.
* To remove an object from a family, remove it from the block.

## Family category

Families can be assigned to different available categories.\
Use the [panel](/beam/beam-for-rhinoceros/using-rhino-beam#panel) to change a family category.<br>

![](/files/3uGyVmhkwUGRTtivLXlF)

## Accessing families in the document

To quickly view and select any family in the document, use [F](/beam/beam-for-rhinoceros/families#accessing-families-in-the-document) on the panel.\
Select one or more families from the list, then press Select to highlight all objects assigned to that family.

![](/files/XGH9cMwZPUdKLUR5Ksfn)

## Transfer Rhino layers and properties

The [T](#transfer-rhino-layers-and-properties) tool can automatically generate families and subcategories from Rhino layers.\
For best results, set up a clean and consistent layer structure before using this workflow.

![](/files/EnZNpH3KRE7bymAmnuG0)


# Parameters

Create and manage family parameters

A parameter is a piece of information that defines or describes a family, for example, its size, material, or identifying tag. By default, each file includes parameters such as *Comments, Mark, Keynote, Type Mark,* and *Workset.* Parameters can be either type (shared across all instances of that family type) or instance (unique to each placed element). To add additional parameters, use [P](/beam/beam-for-rhinoceros/parameters#custom-parameters).

![](/files/YAoasu7JTCuOmnaAejC5)

Select one or more object that belongs to a family or a block to edit its parameters using the [Panel](/beam/beam-for-rhinoceros/using-rhino-beam#panel).

Use [Q](/beam/beam-for-rhinoceros/parameters#scheduling-family-parameters) to query and edit in a table format.

## Custom parameters

Besides the default parameter you can include as many parameters as you like in the Rhino file.\
To add additional custom parameters to families use [P](/beam/beam-for-rhinoceros/parameters#custom-parameters) on the panel.

![](/files/nX8W7ycTZIFOBN9lJEQq)

Press Add to create a new parameter or Edit to edit an existing one. Remove will delete the selected parameters from the Project.

Parameters can also be grouped into property sets. Press Property Sets to manage them.

{% hint style="info" %}
A property set is a collection of parameters that can be applied together, making it easier to manage consistent data structures across families and projects.
{% endhint %}

![](/files/VfQarnOkFVZGDl1WSovy)

Parameters can hold different kinds of data:

* Text – stores words, codes, or notes.
* Integer – stores whole numbers (e.g. 3, 45).
* Number – stores decimal values (e.g. 2.5).
* Length – stores dimensions with units (e.g. 1200 mm).
* Area – stores values in square units (e.g. m², ft²).
* Volume – stores values in cubic units (e.g. m³, ft³).
* URL – stores hyperlinks.
* Yes/No – stores a simple true/false value.

Parameters are defined as type or instance.

* Instance parameters are unique to each placed element.
* Type parameters are shared by all instances of the same family type.

{% hint style="warning" %}
In Revit, parameters must already exist to receive data imported from Rhino.\
Make sure to create the necessary Project Parameters in advance so that values from Rhino can be mapped correctly.

In Revit, parameters are filled based on their data type: numerical parameters require numbers, length parameters require valid dimensions, and so on. If the value from Rhino does not match the expected type, the parameter will remain empty without any warning. Always verify your data after importing.
{% endhint %}

## Importing and exporting parameters

{% hint style="info" %}
.txt (Shared Parameters) – a Revit-native format, used to keep parameter definitions consistent across projects and families.\
.json (BEAM) – a BEAM format, used to transfer, back up, and reuse full sets of parameters inside Rhino.
{% endhint %}

You can import and export parameters as *.json* files.\
This allows you to save parameter sets from one project or family and reuse them in another.&#x20;

Press Export to save a *.json* file to create a snapshot of your current parameters, and later import it to restore or share the same setup.

Press Import to choose the *.json* file, to import all parameters into your project.

### Importing shared parameters from Revit

You can import parameters from a Shared Parameters text file.\
A *Shared Parameters file* is a central *.txt* file that stores parameter definitions so they can be reused consistently across multiple projects and families.

Press Import to choose the *.txt* file, then select the parameter you want to bring into your project.


# Schedules

Schedule family parameters

To access schedules use Q on the panel.

With schedules you can explore families and parameters in a table format directly inside Rhino. It provides a flexible way to analyze and manage model data without leaving the design environment.

With Schedules you can:

* Define which parameters are displayed as table columns, and arrange their order.
* Filter elements by parameter values to quickly isolate specific sets.
* Group elements by parameter values for clearer organization (e.g., by Level or Category).
* Format table cells with colors based on parameter values, making patterns and outliers easy to spot.

In addition, the table can be exported to **Excel**, allowing you to share, review, or further process the data outside Rhino.

<figure><img src="/files/nIki46yic2GBXz5upWEz" alt=""><figcaption></figcaption></figure>


# Levels

Create levels in the Rhino file

In Rhino, **levels** can be created and managed directly through the BEAM panel. A level represents a horizontal reference plane used to organize elements by height, similar to levels in Revit. Each level is defined by a name and an elevation in the Rhino model units.

When exporting from Rhino, BEAM assigns geometry to levels differently depending on the target format.

{% hint style="success" %}
In BEAM, IFC uses levels for all geometry (blocks and loose), while Revit only assigns levels to blocks, matching them by name or finding the closest level automatically.
{% endhint %}

For **IFC**, both blocks and loose geometry are always linked to a level. If a level is explicitly set in BEAM, that level is used. If set to automatic, BEAM finds the closest level below the object: for blocks this is based on the insertion point, while for loose geometry it is based on the bottom corner of the bounding box.

For **Revit**, only blocks are assigned to levels. Either the assigned level is used, or, if set to automatic, the nearest level below the block insertion point is chosen. In this case, BEAM matches levels by name, so the Rhino level name must correspond to a level already present in the Revit model.

<figure><img src="/files/dV5WsLefrcN5zBJ9Ajql" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/3VkMu2RXkUVzjaODsNbV" alt=""><figcaption></figcaption></figure>


# .beam Directory

View and change .beam directory

![](/files/-MSTWUZ3tyYp4bqw4oAl)

BEAM uses a cache file ( .beam ) based system to store and communicate data between the software.

While using BEAM in Rhino and Revit you can **set**, **reset** and **open** the .beam directory.

By default, the *.beam* directory is located at:&#x20;

```
C:\Users\%username%\AppData\Local\Beam\Temp
```

{% hint style="success" %}
To collaborate with others, set up a directory on a **shared network drive**. When all team members point BEAM to the same path, the *.beam* files can be shared across the team.
{% endhint %}

{% hint style="info" %}
The **local Temp folder** holds up to 50 *.beam* files. Any **custom directory** has no limit.

Remember to perform **periodic cleanups** of custom *.beam* directories to save disk space.
{% endhint %}


# BEAM

Export Rhino® geometry and blocks as Autodesk® Revit™ families

With BEAM you can export Rhino geometry and blocks into *.beam* files for use in Revit. BEAM converts selected objects, families, or blocks into loadable families or system families, preserving their category and parameters.

To export, start by selecting the objects or blocks you want to include. You can select them manually, or use [F](/beam/beam-for-rhinoceros/families#accessing-families-in-the-document) on the panel to quickly select multiple families.&#x20;

Once ready, press BEAM to begin exporting.

![](/files/wQHlSLZcCoQHF2lBBB3L)

Give the *.beam* a clear name so you can recognize it later or keep it for archival purposes.&#x20;

{% hint style="info" %}
If left empty, BEAM will create a random code.
{% endhint %}

{% hint style="danger" %}
Using a name that already exists will overwrite the previous .beam
{% endhint %}

You can also choose which coordinate system to use when exporting. Select Internal Origin to export relative to the Rhino origin, or pick a [named cplane](https://docs.mcneel.com/rhino/8/help/en-us/commands/cplane.htm) to export using that plane’s coordinate system.

The .beam will then be saved in the designated [.beam directory](/beam/beam-for-rhinoceros/beam-directory).

In Revit,&#x20;

[BEAM ](/beam/beam-for-revit/beam)to import or update families,\
[BLOCS ](/beam/video-tutorials/rhino-blocks-to-revit)for advanced blocks import,\
[URSA](/beam/beam-for-revit/ursa) to place adaptive components.

### Not exported geometries

Some geometry may not be valid for export. In this case, BEAM will show a dialog listing the elements that failed, together with information about the error.\
You can copy the GUIDs of these objects to the clipboard and use [S](/beam/beam-for-rhinoceros/beam#not-exported-geometries) on the Rhino panel to select them.

![](/files/X7cRXI6oVOYOtVlGdOwr)

The same process applies if geometry is not imported in Revit. Copy the log values from either Rhino or Revit, paste them into the dialog, and use [S](/beam/beam-for-rhinoceros/beam#selecting-not-exported-or-imported-geometry) to select and review the corresponding objects.

![](/files/X4CNefzYPd7PsQsaLmvf)

{% hint style="warning" %}
If objects are inside blocks, the entire block will be selected when exporting. This ensures that families created from blocks remain complete and consistent.
{% endhint %}


# BLOCS

Export Rhino® blocks as Autodesk® Revit™ families

With BLOCS you can use Rhino blocks to import and place families in Revit.&#x20;

{% hint style="info" %}
Nested blocks will be exploded whene exporting.
{% endhint %}

## Placing families using Rhino blocks

To create a family, first define a Rhino block and use its name as the family name.

You can copy and transform blocks as needed.

{% hint style="warning" %}
Always keep the family name unique to that block. Do not assign the same family name to objects outside the block, as this may cause errors.
{% endhint %}

{% hint style="danger" %}
Block names with invalid characters ( \ : { } \[ ] | ; < > ? \` \~ ) will not be exported.
{% endhint %}

{% hint style="danger" %}
Do not scale or skew blocks. Scaling is not supported because Revit families cannot be scaled.

Rotation is limited. Some categories allow any rotation, while others do not. Roofs, walls, floors, ceilings, and stairs will always remain vertical.
{% endhint %}

## Exporting a Rhino block using BLOCS

To export, press BLOCS on the Rhino panel. The tool provides multiple ways to select blocks. You can:

* Select block instances manually and press Enter when finished, or
* Automatically select all visible instances of a block type by choosing its name from the list.

![](/files/BOInNPGsFRiDnpbTeBWH)

![](/files/mLpS1hH3OgODpNLFCER7)

Once selected, save the block information into a *.beam* file.&#x20;

You can also choose which coordinate system to use when exporting. Select Internal Origin to export relative to the Rhino origin, or pick a [named cplane](https://docs.mcneel.com/rhino/8/help/en-us/commands/cplane.htm) to export using that plane’s coordinate system.

![](/files/TRSZEi1OmmI0Wi65FtUo)

The resulting *.beam* file can then be imported into Revit using BLOCS or BEAM for Revit.

Use [BLOCS](/beam/beam-for-revit/blocs) or [BEAM](/beam/beam-for-revit/beam) in Revit to import the blocks.


# RAY

Import Autodesk® Revit™ geometry to Rhino®

## Importing geometry from Revit

Import Revit elements, materials and parameters that were exported with [RAY](/beam/beam-for-revit/ray) by choosing the import name from the list.

The location of the imports is the current [.beam directory](/beam/beam-for-rhinoceros/beam-directory).

![](/files/yAQRGMw32ykI58UptD1G)

Geometry will be assigned to Rhino layer named after the object's Revit category.


# Grasshopper®

BEAM Rhino® Grasshopper components

**MKS BEAM** includes Grasshopper components to access and modify **BEAM** data in the Document.

Download [here ](https://drive.google.com/drive/folders/1-c0nPBFhAzqdBlIb9JXKcCsJCKdWn86q?usp=sharing).3dm and .gh example.

{% hint style="success" %}
Using Grasshopper create many different families with custom properties eg. one family for each panel with an area parameter or maintaining a complex parametric script that bakes the geometry directly with BEAM compatible properties, ready to export and update the Revit document.​
{% endhint %}

{% hint style="info" %}
The nodes will bake the geometry if they are not referenced.
{% endhint %}


# BEAM for Autodesk® Revit™

MKS BEAM add-in for Autodesk® Revit™


# Getting Started

## Locating the add-in

The Revit Add-in buttons are located under the MKS ribbon:

* BEAM
* URSA
* BLOCS
* RAY

![](/files/-MSUGxYx-dMA84A1yPwI)

## Revit tools

BEAM for Revit includes the following components:

To import geometry and blocks with simple options, use [BEAM](/beam/beam-for-revit/beam).\
To import blocks with more advanced options, use [BLOCS](/beam/beam-for-revit/blocs).\
To use curves and points to place components use [URSA](/beam/beam-for-revit/ursa).\
Use [Dynamo](/beam/beam-for-revit/dynamo) to retrieve all the geometry and data in the .beam.

{% content-ref url="/pages/-MTLwv1Gln0YBfnkiAUN" %}
[BEAM](/beam/beam-for-revit/beam)
{% endcontent-ref %}

{% content-ref url="/pages/-MTLxmqkS6Ky-vaqKDit" %}
[URSA](/beam/beam-for-revit/ursa)
{% endcontent-ref %}

{% content-ref url="/pages/-MTLy0ydqhS94TDHtNUE" %}
[BLOCS](/beam/beam-for-revit/blocs)
{% endcontent-ref %}

{% content-ref url="/pages/-MTLyCGIw5KPG8VkWrH5" %}
[RAY](/beam/beam-for-revit/ray)
{% endcontent-ref %}


# BEAM

Import Rhino® geometries and blocks as Autodesk® Revit™ families

## Importing a .beam

Select the .beam [exported from Rhino with BEAM ](/beam/beam-for-rhinoceros/beam#exporting-a-beam).

The dialog list all available *.beam* files from the current [.beam directory](/beam/beam-for-rhinoceros/beam-directory) in chronological order, making it easy to pick the most recent export.

![](/files/C1LVtpl5qTXX0qGOO1ex)

## Importing in projects

When importing into a Revit project, elements can be brought in as **loadable families** or **system families**, depending on the category used or the *Import As* option selected.

You can import geometry either by the Revit project origin or by the project’s shared coordinates, depending on how you want the geometry aligned.

{% hint style="warning" %}
Some categories can only be imported as system families (DirectShapes), for example, ramps and mullions.
{% endhint %}

{% hint style="warning" %}
If a subcategory does not exist in Revit, it will be created automatically.
{% endhint %}

{% content-ref url="/pages/-MTLx89rwEuadxwKP6XS" %}
[Loadable Families](/beam/beam-for-revit/beam/loadable-families)
{% endcontent-ref %}

{% content-ref url="/pages/-MTLxHB-eKj3Svv1qPyT" %}
[System Families](/beam/beam-for-revit/beam/system-components)
{% endcontent-ref %}

## Importing in families

In a Family Environment, BEAM will import geometry without grouping it. This makes it possible to add Rhino geometry directly into existing families or to use it when creating special types of families.


# Loadable Families

You can choose to import a *.beam* as loadable families. Some categories, however, will always be imported as system families (Directshape).

BEAM will use by default the generic models and mass templates located in:

```
C:\ProgramData\Beam\Templates
```

## Importing as loadable families

When imported as loadable families, the instances are placed in the project with the name, category, and parameters assigned in Rhino through BEAM. These families behave like normal Revit families and can be edited by the user.

### Appending geometry

Using the Append Family Geometry option will add new geometry from a *.beam* to an existing family in Revit without replacing it entirely. This makes it possible to add missing or additional shapes directly into a family while keeping the rest of its content.

### Updating a previously imported Family

If you import a *.beam* corresponding to a family that already exists in the project, BEAM will update that family without creating duplicates. This works even if the family has been moved or copied in the project, similar to Revit’s Load Family function.

{% hint style="danger" %}
If the geometry or properties of the family were edited manually inside Revit, those edits will be overwritten when re-importing a new version of the family with BEAM, the same behavior as manually reloading a family.
{% endhint %}


# System Families

System families are imported as **DirectShape elements** in Revit. They cannot be edited or found in the Family Browser, but they can still be scheduled and have parameters assigned.

## Importing as system families

Some [categories](/beam/beam-for-revit/beam#system-categories) can only be imported as system families.

Using the Import as System Families option will force all families in the *.beam* to be imported this way, regardless of their category.

{% hint style="danger" %}
System families do not update automatically. To reimport, you must first delete the previously imported elements manually.

\
The Force Update option will delete all system families of the same type in the document before importing. Use this carefully.
{% endhint %}

### Splitting system families

Geometry can be imported individually by using the **Split Geometry** option.\
Even when split, the objects will still carry the parameters and the name of the family.


# BLOCS

Use Rhino® Blocks to place Autodesk® Revit™Families

BLOCS places family instances in Revit based on the block transformations saved in the *.beam* file. You can either import the family while placing it, or use an existing family already in the project.&#x20;

## Import and place family instances using Rhino blocks

To import and place family instances, select the *.beam* exported from Rhino with [BLOCS ](/beam/beam-for-rhinoceros/blocs)or [BEAM](/beam/beam-for-rhinoceros/beam).&#x20;

Enable Import Family to bring in the blocks and Place Instances to insert them into the document. If you only want to update the family geometry without placing new instances, uncheck *Place Instances*.

When importing a family, you can choose whether it should be workplane-based or always vertical:

* Workplane-based families accept all block transformations (rotation, translation, etc.), making them ideal for geometry that needs full flexibility.
* Always vertical families are constrained upright, which is useful when later on you need to place or move manually intances of that family across different levels.

{% hint style="success" %}
To update the family geometry without placing instances uncheck Place Instances.
{% endhint %}

![](/files/Oxkt24OaeCPHUGhTb9XX)

## Place an existing family using Rhino blocks

It is also possible to place an existing family using Rhino blocks. From the drop-down, select the *.beam* that contains the block information, then choose the family you want to place using the block transformations. Both native and imported families are supported.

![](/files/TESQ97L65RQMERLux9cW)

{% hint style="danger" %}
Keep in mind that some families have placement restrictions. Families that are always vertical or not workplane-based will not accept all transformations: only XY-plane rotations and translations are applied in these cases. Make sure the transformations you apply to Rhino blocks are compatible with the behavior of the family you intend to place.
{% endhint %}


# URSA

Use Rhino® curves and points to place Autodesk® Revit™ families and adaptive Components

URSA places adaptive components or family instances in Revit using polylines and points exported from Rhino with [BEAM](/beam/beam-for-rhinoceros).&#x20;

Polylines and points can be grouped into sets for easier selection with [F](/beam/beam-for-rhinoceros/families#accessing-families-in-the-document), and each element can carry its own parameters to drive instance parameters of the placed components in Revit.

{% hint style="info" %}
When curves or points are created in Rhino, a unique **Mark** is automatically assigned, which URSA uses to track and update components across Rhino and Revit.
{% endhint %}

From the URSA panel, you can choose which *.beam* file to use and what Revit family type to place. Only adaptive components and level-based families are supported.&#x20;

{% hint style="info" %}
Since URSA only works with points, lines, and polylines, it is good practice to check your geometry with Rhino’s *What* command to confirm compatibility.
{% endhint %}

![](/files/kgPHxF2WSvj9JYddcu1R)

## Placing adaptive components

To place adaptive components, create polylines in Rhino with the same number of vertices as the adaptive points of the target Revit component. If the component requires two points, use a line; if it requires a single point, use a point. Elements that do not match the adaptive component’s structure will be excluded during import.

URSA places the components using the coordinates of the vertices and assigns instance parameters accordingly. These parameters are driven by values you assign to curves or points in Rhino through the Panel, ensuring consistency between Rhino data and Revit components.

## Updating components

URSA can update components already placed in Revit by matching their **Mark** values. This means that even after changes, the correct components are updated instead of duplicated. Marks are generated automatically in Rhino, but they can also be edited manually.&#x20;

With [RAY ](/beam/beam-for-revit/ray), adaptive components can be imported back into Rhino with their Marks, modified, and then updated in Revit using URSA.

## Placing families

Families can also be placed in projects using points. URSA identifies the closest Revit level below each point’s Z-coordinate and assigns the family to that level, including the proper offset constraint.


# RAY

Transfer Autodesk® Revit™ geometry and properties to Rhino®.

With RAY you can transfer geometry, materials, and parameters from Revit into Rhino. The imported elements are organized into Rhino layers according to their Revit categories, making the model easier to navigate and manage.

Rhino layer exported by Revit can be customized with a layer mapping:

{% content-ref url="/pages/nipVYitAoKYuA2rkcnAr" %}
[Layer Mapping](/beam/beam-for-revit/ray/layer-mapping)
{% endcontent-ref %}

## Exporting Revit information

RAY supports different object types and export outputs. After choosing an option, select the elements in the Revit document that you want to transfer. The available exports include:

* Edges
* Grids and curves
* Solid elements
* Adaptive components represented as polylines and points with their Mark values
* Revit materials and parameters

![](/files/RSSNGxfpQ6LDFPukWOMi)

It is also possible to generate new materials and parameters in Rhino directly from the parameter data available in the Revit document.

![](/files/LOdEedHQfMr4VYbEqOgg)

Once the export is complete, use [RAY](/beam/beam-for-rhinoceros/ray) for Rhino to import the geometry. The elements will appear with the assigned layers, materials, and parameters, ready for further modeling or coordination work.


# Layer Mapping

Customize Rhino layers from Revit exports

When exporting from Revit with **RAY**, Rhino layers are created automatically based on Revit element properties. To customize how elements are organized, you can define your own **layer mapping file**.

## Creating a mapping file

By default, RAY looks for the mapping file at:

```
C:\ProgramData\Beam\Mapping.txt
```

The mapping file is a plain text (*.txt*) file.&#x20;

The file has two parts:

1. First line: the pattern used to build layer names.
2. Following lines: category conversion pairs that replace `{Category}` with custom text.

### The pattern line

The **first line** of the file defines the **layer naming pattern**.

A pattern can include:

* Free text → literal text that will appear as written
* Keywords → placeholders in `{braces}` replaced with Revit values
* `::` → creates a new Rhino sublayer

#### Supported keywords

* `{Project}` – the Revit project name
* `{Category}` – the Revit category of the element (e.g. Walls, Floors)
* `{Subcategory}` – the subcategory of the element
* `{Family}` – the family name of the element
* `{FamilyAndType}` – the family name combined with the type name
* `{Type}` – the type name of the element

for example

```
Revit_{Project}::{Category}::{Family}_Type_{Type}::{Subcategory}
```

After the pattern line, you can **override** how `{Category}` prints by adding **category conversion** lines.

```makefile
RevitCategory=ReplacementText
```

fo example

```makefile
Walls=MKS_WALL
```

Lines in the mapping file that start with `#` are treated as **comments** and ignored during export.

#### Example Mapping File

```
# Pattern line: defines the overall structure
Revit_{Project}::{Category}::{Family}_Type_{Type}

# Category conversion: override {Category} keyword
Casework=MKS_CASEWORK
Ceilings=MKS_CEILING
Columns=MKS_COLUMN
Doors=MKS_DOOR
Floors=MKS_FLOOR
Furniture=MKS_FURNITURE
#Furniture Systems
Ramps=MKS_RAMPS
Railings=MKS_RAILING
Roofs=MKS_ROOF
Mullions=MKS_MULLION
Windows=MKS_WINDOW
Walls=MKS_WALL
Stairs=MKS_STAIR
Curtain Panels=MKS_CURPANEL
Generic Models=MKS_GENMODEL
#Electrical Equipment
#Electrical Fixtures
Entourage=MKS_ENTOURAGE
Lighting Features=MKS_LIGHTINGFIX
Mass=MKS_MASS
Structural Framing=MKS_STRFRAMING
#Structural Stiffeners
Mechanical Equipment=MKS_MECHANICALEQU
Parking=MKS_PARKING
Planting=MKS_PLANTING
Plumbing Fixtures=MKS_PLUMBINGFIX
Topography=MKS_TOPOGRAPHY
Specialty Equipment=MKS_SPECIALITYEQU

# End of mapping file
```


# Dynamo®

BEAM Dynamo® Nodes

BEAM includes Dynamo nodes that allow you to read information from *.beam* files directly inside Dynamo.

Use BEAM.Import to access all geometry together with its metadata from a selected *.beam*. Provide the file name as a string, and the node will return the information as flat lists or a dictionary.

Alternatively, you can use BEAM.History to browse through the history of exports. Combine it with a *Get Item at Index* node to retrieve the specific *.beam* you want to work with.


# BEAM IFC for Rhino®


# Getting Started

**BEAM** can both **import** and **export** IFC files, supporting the **IFC4** and **IFC2x3** formats. This makes it possible to bring BIM data into Rhino or share Rhino geometry and parameters with other BIM platforms through open standards.


# Import

Import IFC files into Rhino.

You can import IFC files into Rhino in two ways:

* Rhino Import Command – use Rhino’s standard *Import* command. When BEAM is installed, IFC files are automatically recognized.
* IFC Import Button – click the *IFC Import* button on the BEAM panel in Rhino for a direct workflow.

When an IFC is imported or referenced, both its geometry and BIM data are brought into Rhino. All the data is accessible in the BEAM panel, where you can inspect categories, parameters, and materials directly.

### Import Settings

The IFC Import Settings dialog provides several options to customize how IFC files are brought into Rhino.

If Worksession is enabled, the IFC file is imported as a separate *.3dm* and attached to the current session as a worksession, making it useful as a background or reference model. If it is disabled, the IFC content is imported directly into the active Rhino document.

The option Import Spaces controls whether *IfcSpace* entities are included. Turning it on brings spaces into the model; turning it off excludes them.

With Import All Categories, you can decide between importing every category in the IFC file or selecting specific IFC types for a more controlled import.

The Merge Coplanar Faces option applies Rhino’s display setting that merges adjacent coplanar surfaces. This only affects how objects are displayed in the viewport, improving visual clarity, but it does not change the actual geometry.

Finally, IFC files can also be positioned on a specific CPlane in Rhino. To use this option, the target CPlane must be saved in the Rhino model before import.

<figure><img src="/files/xYOHt2ZFd3V65vJ52w0f" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/bLK4VzzWqS7cOQW7rVim" alt=""><figcaption></figcaption></figure>


# Export

Export Rhino to IFC4

To export to IFC4, press the IFC button in the BEAM panel. You will be prompted to choose a directory where the IFC file will be saved.

The exported IFC file contains both the geometry and the BIM data assigned in Rhino, including categories, parameters, materials, and property sets. This ensures that the model can be read by other BIM platforms while keeping all the information created in Rhino.

During export, you can specify whether to use the Internal Origin or a named CPlane as the coordinate system. Choosing the correct coordinate system helps align the IFC file with other models or survey data.

The exported file is a standard IFC4 model, making it compatible with Revit, Solibri, BIMcollab, Navisworks, and many other BIM tools. If needed, BEAM can also export in IFC2x3, depending on project requirements.

<figure><img src="/files/HZj2bV12Pmc2yKexfLFT" alt=""><figcaption></figcaption></figure>


# Ifc Properties

Ifc specific properties Assignment

Through the BEAM panel you can assign IFC properties to Rhino objects. Family parameters are automatically converted into IFC properties during export and grouped under the property set.

For each family you can specify the IFC type, the predefined type, and a description.&#x20;

By default, it assigns these automatically using an internal mapping based on the family’s category.

You can override this behavior on a per-family basis in the panel. If set to *Automatic*, the mapping is applied; if overridden, the selected IFC type and predefined type will be used instead.

{% content-ref url="/pages/-MaJE2JbR1Cz4NOuvMPZ" %}
[IFC Types Mapping](/beam/beam-ifc-for-rhino/ifc-types-mapping)
{% endcontent-ref %}

![](/files/3VkMu2RXkUVzjaODsNbV)


# Settings

Manage BEAM IFC Settings

The IFC Settings can be found as indicated below:

![](/files/FJ49V332B5tMdxBIAIQI)

IFC File Settings:

{% content-ref url="/pages/-MaJEtbTxfg9QYjbI-9R" %}
[Project Info](/beam/beam-ifc-for-rhino/settings/project-info)
{% endcontent-ref %}

{% content-ref url="/pages/-MaJEuyTZnPBiXRcr4uL" %}
[File Header](/beam/beam-ifc-for-rhino/settings/file-header)
{% endcontent-ref %}

{% content-ref url="/pages/-MaJEvG9anEbTDxOZ0A5" %}
[Address](/beam/beam-ifc-for-rhino/settings/address)
{% endcontent-ref %}

{% content-ref url="/pages/-MaJEvVDceTlh69e7YwV" %}
[Broken mention](broken://pages/-MaJEvVDceTlh69e7YwV)
{% endcontent-ref %}

{% content-ref url="/pages/-MaJK1Lr6tk5tlugVdlj" %}
[Broken mention](broken://pages/-MaJK1Lr6tk5tlugVdlj)
{% endcontent-ref %}

{% content-ref url="/pages/-MTLv05NMo2PbQHFp13r" %}
[Families](/beam/beam-for-rhinoceros/families)
{% endcontent-ref %}


# Project Info

Project Information

In the Project Info section you can assign general information about the Project, Building, and Site. This metadata is written into the IFC file and can be read by other BIM applications.

![](/files/n6OcBusr3uVITkkl4Lo3)


# Address

Building and site address

In this section define the address that can be assign to both building and site.&#x20;

![](/files/I7270tqs9CQeSeEbqjog)


# File Header

Ifc file header

This section defines the **IFC file header**, which stores general metadata about the ifc file.

![](/files/Mhxp3gq718ynD1U7C7ig)


# IFC Types Mapping

Categories and Types mapping

| BEAM Category          | IFC Type                  |
| ---------------------- | ------------------------- |
| Casework               | IfcFurniture              |
| Ceilings               | IfcCovering               |
| Columns                | IFcColumn                 |
| Doors                  | IfcDoor                   |
| Floors                 | IfcSlab                   |
| Furniture              | IfcFurniture              |
| Furniture Systems      | IfcSystemFurnitureElement |
| Ramps                  | IfcRamp                   |
| Railings               | IfcRailing                |
| Roofs                  | IfcRoof                   |
| Mullions               | IfcMember                 |
| Windows                | IfcWindow                 |
| Walls                  | Ictal                     |
| Stairs                 | IfcStair                  |
| Curtain Panels         | IfcCovering               |
| Generic Model          | IfcBuildingElementProxy   |
| Electrical Equipment   | IfcBuildingElementProxy   |
| Electrical Fixtures    | IfcBuildingElementProxy   |
| Entourage              | IfcBuildingElementProxy   |
| Lighting Features      | IfcBuildingElementProxy   |
| Mass                   | IfcBuildingElementProxy   |
| Structural Framing     | IfcBuildingElementProxy   |
| Structural Stiffeners  | IfcBuildingElementProxy   |
| Mechanical Equipment   | IfcBuildingElementProxy   |
| Parking                | IfcBuildingElementProxy   |
| Planting               | IfcBuildingElementProxy   |
| Plumbing Fixtures      | IfcBuildingElementProxy   |
| Topography             | IfcBuildingElementProxy   |
| Specialty Equipment    | IfcBuildingElementProxy   |
| Structural Connections | IfcBuildingElementProxy   |


# Video Tutorials

Basic video tutorial to use all MKS BEAM tools

{% content-ref url="/pages/8Pk0IiZudP1fp0ncHSul" %}
[Rhino Objects to Revit](/beam/video-tutorials/rhino-objects-to-revit)
{% endcontent-ref %}

{% content-ref url="/pages/U9udt0EbGWkZ12UhzNHX" %}
[Rhino Blocks to Revit](/beam/video-tutorials/rhino-blocks-to-revit)
{% endcontent-ref %}

{% content-ref url="/pages/pD8lcy4RtFzjK4sNd5f4" %}
[Place Adaptive Components](/beam/video-tutorials/place-adaptive-components)
{% endcontent-ref %}

{% content-ref url="/pages/HEA02qZEHcX6c6dgrYbm" %}
[Revit to Rhino](/beam/video-tutorials/revit-to-rhino)
{% endcontent-ref %}


# Rhino IFC Webinar

Full walkthrough for Rhino IFC import and export functionality

{% embed url="<https://www.youtube.com/watch?v=dZXrKx-V8so>" %}


# Rhino to Revit Webinar

Full walkthrough for Rhino Revit import and export functionality

{% embed url="<https://www.youtube.com/watch?v=3ZmoFLxkp7A>" %}


# Rhino Objects to Revit

{% embed url="<https://www.youtube.com/watch?v=jkLckzvjCA8>" %}


# Rhino Blocks to Revit

{% embed url="<https://www.youtube.com/watch?v=SEZBi-sSKyQ>" %}


# Place Adaptive Components

{% embed url="<https://www.youtube.com/watch?v=uWpq7aoV_Nc>" %}


# Revit to Rhino

{% embed url="<https://www.youtube.com/watch?v=fdByX5x6eS0>" %}


# License & Deployment

{% content-ref url="/pages/-MTLyPiP9CqgqBwb\_bJd" %}
[Licensing Scheme](/license/licencing)
{% endcontent-ref %}

{% content-ref url="/pages/6JbF1tSvVvjRd9QQoVgw" %}
[Managing Licenses](/license/managing-licenses)
{% endcontent-ref %}

{% content-ref url="/pages/U0EQse4OX9mcWxSKlNHH" %}
[Deployment](/license/deployment)
{% endcontent-ref %}


# Licensing Scheme

### Manage Account and Licenses

Find the **LICENSE** button in Revit in the **MKS** tab under the main tools, in Rhino, on the top right corner of the [Panel](/beam/beam-for-rhinoceros/using-rhino-beam#panel).

![Revit License button](/files/-MSUBjw-X8qByKmgfSFR)

<div align="left"><img src="/files/-Mge4ul-37NkFO7O4XXh" alt="Rhino License button"></div>

Login with email and password in Revit or Rhino to link your BEAM PRO Account to the machine.

{% hint style="warning" %}
Activation requires internet connection to work.
{% endhint %}

### BEAM PRO Licensing Scheme

BEAM PRO uses a [floating licensing](https://en.wikipedia.org/wiki/Floating_licensing). Licences are shared across the users in your TEAM and are only activated when a BEAM **import** or **export** tool is used.

{% hint style="success" %}
Invite additional users to your [TEAM](#manage-account-and-licenses) so they can access and use your licenses.
{% endhint %}

#### **BEAM PRO Standard**

Two device activation slots per licence

Each BEAM PRO Standard licence includes two device activation slots.

When an import or export tool is used, one activation slot is assigned to that device. The second slot remains available for another device.

This means that each licence can be used on up to two different devices during the same calendar day.

**Automatic daily release**

Device activation slots are automatically released at the end of the day. Once released, the licence can be used on different devices the following day.

{% hint style="warning" %}
Closing BEAM, logging out, closing Rhino or Revit, or shutting down the computer does not release an activation slot immediately.
{% endhint %}

#### **BEAM PRO Enterprise**

BEAM PRO Enterprise includes **unlimited device activations**.

Users can run BEAM import and export tools across any number of devices within the organisation, without activation limits or release periods.

| Account type        | Device activation release period | Device activations per licence |
| ------------------- | -------------------------------- | ------------------------------ |
| BEAM PRO Standard   | End of each day                  | 2                              |
| BEAM PRO Enterprise | No release period                | Unlimited                      |

{% hint style="info" %}
To manage your licenses, visit [www.portal.mksdtech.com](https://www.mksdtech.com/my-account)
{% endhint %}


# Managing Licenses

Once purchase any number of licenses, visit [mksdtech.com/login](https://www.mksdtech.com/login) to view your account page.\
Here you can access all information about your account.

[Login in Revit and Rhino to associate the machine with your account.](/license/licencing#manage-account-and-licenses)

<figure><img src="/files/AhMZ0HC4LvOHKiYdmaFa" alt=""><figcaption></figcaption></figure>

### Billing and licenses

Upgrade or cancel your subscription and manage your payment details

<figure><img src="/files/bu1CJabjKQoapc8aIbGP" alt=""><figcaption></figcaption></figure>

### Using Licenses

There are two primary methods for users to access licenses:

1. Using owned licenses.\
   *Log in with your account in Revit and Rhino to use your own purchased licenses*
2. [Using team licenses](/license/managing-licenses#teams)\
   *Use licenses from a shared pool owned by the team of the account that purchased the licenses.*<br>

License usage is dynamic and the consumption mechanism is automatic. \
Licenses are assigned to a device when an import/export is used and released automatically[ after a defined amount of time](/license/licencing#how-the-license-scheme-works).\
When the license is released it can be used by another machine.

{% hint style="warning" %}
Logging out does not release the license, this is done server-side.
{% endhint %}

### Teams

The main account holder has the option to invite other users to join their team and share licenses. \
To manage your team, visit the **Teams** page.\
These team members must have an active account by registering with their own email address.\
By adding team members, all team members will be able to use team licenses when available.

<figure><img src="/files/RpVgu78G0VQuzR6Wk7Y2" alt=""><figcaption></figcaption></figure>

### License Usage

To view what devices are currently using the licenses and when the ownership expires visit the **Licenses** page on your acocunt.

<figure><img src="/files/iiQoh3x6kouozE3QtnNM" alt=""><figcaption></figcaption></figure>

You can also view the history of usage in the **BEAM Dashboard**

<figure><img src="/files/BcBO41hsJcez4ChIwHYX" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/sr5VdzMu77n3qydpSS6B" alt=""><figcaption></figcaption></figure>


# Deployment

The BEAM installer executable can be launched in "very silent" mode, so no dialogs are shown to the user. Below is the command line to do so.

```
setup.exe /VERYSILENT
```

Automatic login can be achieved by placing a special encrypted license file ( beam.lic ) after install in a specific folder.\
You can retrieve this file from an existing installed and logged copy of BEAM in the same location.\
The location of beam.lic is:

```
C:\ProgramData\Beam
```

Once obtained the .lic file, is sufficient to copy it in this directory for the user to automatically login. This operation can be done after the install is complete by a script in your deployment software.

{% hint style="warning" %}
If login credentials are changed the .lic file will need to be regenerated and re-deployed.
{% endhint %}


# Changelog

Latest BEAM updates

## 1.15

Compatible with Revit 2027

## 1.14

This release introduces new classification tools, batch export workflows, performance improvements and several stability fixes.

**New Features**

* Uniclass Classifications
  * Added support for assigning Uniclass classifications as parameter values.
  * Added the ability to load a Uniclass classifications file into the document.
  * Added search functionality to quickly find and assign classification values.
* Batch RAY Export
  * Added batch export support for multiple Revit files in `.3dm` format.
* RAY
  * Added support for exporting Revit levels to Rhino levels.
  * Added support for exporting Revit locations as named CPlanes in Rhino.
* IFC
  * Added new supported IFC categories.

**General Improvements**

* Greatly improved block import performance by skipping the re-placement of blocks that already have the same transform.
* Greatly improved RAY export performance, with export times reduced by up to 50%.
* Increased IFC import stability.
* Added various minor bug fixes and optimizations.

## 1.13

This release introduces a new revamped scheduling system and enhances under the hood performance and stability.

**New Features**

* Schedules
  * Create and save in the documents schedule tables with document data
  * Filter rows by parameter value
  * Group rows by parameter value
  * Format cell color by parameter value
  * Change family parameter values
  * Export to Excel
* Map Revit element information to Rhino layers in RAY with mapping file\
  [https://wiki.mksdtech.com/beam/beam-for-revit/ray/layer-mapping](/beam/beam-for-revit/ray/layer-mapping)
* Set level values to families between automatic ( closest level below ) or a specific level in the file.
* YesNo parameters display as a checkbox in the panel
* Grasshopper
  * New components to manage levels in the document

**General Improvements**

* New improved UI layout for the Panel
* Improved compatibility with Revit 2026
* Increased Ifc import stability
* Various minor bug fixes and optimizations.

[DOWNLOAD](https://www.mksdtech.com/download)

## 1.12

A major release improving performance across the application and introducing new IFC features.

**New Features**

* Compatible with Revit 2026 ( v. 1.12.1.0 )
* Natively built for Revit 2025 (.NET 8) and Rhino 8 (.NET 7), increasing execution speed in various scenarios.
* Support for worksession files, exposing BIM data in the Panel.
* Import/export parameters using JSON files within Rhino projects.
* Parameters grouped by property sets in the Panel.
* Panel now displays units for length, area, and volume parameters.
* Fully compatible with Revit 2025 in the RAY module.
* IFC
  * Import or link IFC files in worksessions, supporting versions 4 and 2x3.
  * Filter imports by specific IFC types or exclude spaces for streamlined data.
* Grasshopper
  * Create and read parameter information directly in Grasshopper.

**General Improvements**

* Better performance when importing Rhino blocks and adaptive components.
* Enhanced UI responsiveness and progress bar accuracy for large operations.
* Fixed blank material issues in RAY and black material rendering in Revit.
* Various minor bug fixes and optimizations.

## 1.11

This release includes significant fixes and enhancements based on user feedback, improving the overall experience.

**General Improvements**

* Several minor bug fixes and general adjustments.
* Enhanced performance for handling large files.
* Improved UI responsiveness and usability.
* Faster export and import processes.
* Better error handling and overall stability.
* Rhino window now responds to keyboard shortcuts (e.g., Del, Ctrl+Z).

## 1.10

This release introduces new features and performance improvements across the application.

**New Features**

* Fully compatible with Rhino 8 and Revit 2025.
* Parameters now validate data types (Area, Length, Number, Volume).
* Assign properties and parameters to multiple geometry types simultaneously.
* **BEAM**
  * Export and import blocks and geometry concurrently.
* **BLOCS**
  * Automatic family creation with the option to use existing families; matches block names automatically.
* **Grasshopper**
  * Rename families directly within Grasshopper.
* **RAY**
  * Export supported in Rhino 7 and Rhino 8.
* **IFC**&#x20;
  * New export engine offering faster performance and enhanced compatibility.

#### General Improvements

* Various bug fixes and optimizations.
* Improved geometry compatibility and material handling.
* Hidden geometry in blocks will no longer be exported.
* Dark mode support for Rhino 8 and Revit.
* Query updates for an improved user experience.

## 1.9

This update introduces new features, compatibility upgrades, and performance enhancements.

**New Features**

* Fully compatible with Revit 2024 (1.9.0.10).
* Export/Import using Project Base Point.
* Select Project Location for Export/Import.
* Visibility settings for Rhino geometry: Fine, Medium, and Coarse.
* Import lines and arcs into Revit with subcategories as line styles.
* **BLOCS**
  * Option to import families without work-plane constraints.
* **Grasshopper**
  * Select blocks directly from the model.
  * Locate models using the Mark property.
  * Delete Levels or find Levels by height.
  * Export IFC files seamlessly.
* **RAY**
  * Added support for exporting groups.
* **IFC**
  * Columns, floors, walls, and ceilings are now automatically split by brep.

#### General Improvements

* Various bug fixes and enhancements.
* Resolved an issue with RAY returning null.

## 1.8

This release adds new features, compatibility updates, and significant fixes to enhance overall performance and usability.

**New Features**

* Compatible with Revit 2023.
* **BLOCS**
  * Additional options when working with existing families.
* **Grasshopper**
  * Retrieve all Block Definition names in the Rhino document.
  * Locate all Block instances by Definition name.
  * Read and write Block instance parameters.
  * Export Blocks to `.beam` files.
  * Read User Text from objects.
* **RAY**
  * Added support for exporting groups.

#### General Improvements

* Fixed issues with material surface and background colors on imported family objects.
* Resolved problems with mirrored or copied blocks not generating new Marks.
* Fixed issues importing system component blocks.
* Corrected mirrored block scaling errors.
* Addressed IFC compatibility issues with Solibri.
* Fixed null location errors and improved IFC Panel behavior.
* Corrected export issues with IFC Windows and Door types.
* Resolved crashes when importing shared parameters in Rhino.
* Fixed mirrored blocks missing Mark values during updates.
* Improved performance with large files and datasets.
* Enhanced UI responsiveness and login error messaging.

## 1.7

This update introduces new language options, improved performance, and various fixes for an enhanced user experience.

{% hint style="danger" %}
**Licensed users, read this!**

This is a major release includes critical changes to licensing.&#x20;

From 1st of July 2022 licenses will stop working on all previous versions.

Lite version is not affected.
{% endhint %}

**New Features**

* New languages: Italian, Spanish, French, and Simplified Chinese.
* Parameters are now distinguished between Type and Instance.
* SubD objects are natively exported.
* Faster area collection for improved efficiency.
* **BLOCS**
  * Blocks are now always treated as instances.
  * Update previously placed blocks seamlessly.
* **Grasshopper**
  * Export `.beam` files directly from selected objects.

**General Improvements**

* Various bug fixes and UI adjustments.
* Improved speed, stability, and overall user experience.
* Resolved an issue in BLOCS where block definition geometry did not scale with unit changes (Rhino 7 only).
* Fixed referencing issues with Dynamo `.dll` files.

## 1.6

This update introduces IFC export capabilities, performance improvements, and new Grasshopper features for a more seamless workflow.

**New Features**

* **IFC**
  * Export Rhino geometry and data in IFC 4 format.
  * Support for IFC Document Data, Levels, Parameter Types, Parameter Sets, and Predefined Types.
  * Define Rhino Document Coordinates and export with a custom origin.
* **RAY**&#x20;
  * Integrated Rhino.Inside technology.
  * Improved materials, geometry quality, and speed.
  * Launch Rhino directly from Revit.
  * Export elements as named groups.
* **Grasshopper**
  * Create and retrieve Levels.
  * Set Point Parameters and IFC Data.
  * Get objects by Family name.

**General Improvements**

* Compatibility with Revit 2022.
* Panel updates for BEAM Grasshopper components.
* Improved nested element selection in RAY.
* Fixed degenerate topography meshes from Revit.
* Enhanced URSA language compatibility.
* Resolved Revit 2018 licensing issues.
* Fixed Grasshopper baking issue for the first object.
* UI adjustments and minor bug fixes.

## 1.5

This release adds new scheduling capabilities, improved block management, and enhanced stability for a better user experience.

**New Features**

* Schedule and edit instanced blocks and curves/points.
* Material Type Parameter is now assigned to Families in Revit.
* Automatic Mark assignment for block instances, curves, and points.
* **BLOCS**
  * Blocks can now be imported as Families, using the definition geometry.
* **URSA**
  * Adaptive Components updated with Mark values.
* **RAY**
  * Export Mark values when exporting Adaptive Components.
* **Grasshopper**
  * Added functionality to bake geometry to specific layers.

**General Improvements**

* New modern, reactive UI for an improved experience.
* Enhanced stability and optimized Grasshopper components.
* Fixed Dynamo incompatibility issues.
* Faster geometry area checks.
* Resolved import unit issues with RAY in Rhino.
* Added ability to cancel parameter editing.
* Fixed .beam file padding issues for unconventional machine environments.

## 1.4

This update enhances compatibility, introduces new features for material and block management, and improves overall performance.

**New Features**

* Fully compatible with Rhino 7.
* Import the following Categories as Loadable Families: Ceilings, Curtain Panels, Floors, Roofs, Stairs, Topography, and Walls.
* **BEAM**
  * Create Revit Materials directly from Rhino Materials.
* **BLOCS**
  * Export and import multiple block types simultaneously.
  * Instantiate Rhino block parameters.
  * New dialog with block previews for easier selection.
* **RAY**
  * Import Revit Materials and Parameters into Rhino.
  * Pre-select solid elements for better workflow.
  * Export using Shared Coordinates.

**General Improvements**

* Quick-access buttons for assigning Families and Materials.
* Improved memory usage and enhanced speed and stability.
* Fixed issues with Materials assigned to layers in Rhino.
* Resolved invalid or uninitialized colors in Revit Materials.
* Corrected mirrored Curtain Panels in BLOCS.
* Fixed Transfer Properties not applying subcategories to blocks.
* Addressed issues with Shared Coordinates and dropdown duplicates for Curtain Panels.
* Resolved bugs in RAY when exporting edges inside families and displaying incompatible parameters.

## 1.3

This update introduces Revit 2021 compatibility, enhanced parameter management, and improved block handling.

**New Features**

* Compatible with Revit 2021.
* Query now counts curves in Families.
* Updated Custom Parameters Dialog with an improved format.
* Edit and remove multiple Custom Parameters simultaneously.
* Rhino Materials are automatically assigned as BEAM materials.
* **BEAM**
  * Added an option to force update system families.
* **BLOCS**
  * Rhino blocks are automatically assigned to families.
  * Rename blocks using the Panel in Rhino.
  * Select visible blocks by their definition name.
  * Added automatic import functionality when using BLOCS in Revit.
  * Import and place System Families using the import feature.
* **RAY**
  * Revit Progress Bar now always stays on top of Revit.
  * Minor bug fixes for better stability.

**General Improvements**

* Revit Progress Bar stays always on top of Revit
* Minor bug fixes

## 1.2

This update introduces Shared Coordinates support and several improvements for stability and compatibility.

**New Features:**

* Import geometry using Shared Coordinates.

**General Improvements**

* Minor bug fixes and UI adjustments.
* Resolved an issue with exporting closed curves that caused BEAM export failures.
* Fixed a localization issue in RAY that prevented successful exports.
* Addressed Dynamo warnings about missing directories.
* Improved compatibility with high DPI screens for better user experience.

## 1.1

This update includes minor bug fixes to improve overall stability and performance.

## 1.0

First stable release of BEAM!


