# Import/Export

## Import

There is no direct option to import a native Revit file. We use IFC to transfer model data to and from Revit. You can the steps outlined in the page below to export to IFC from Revit:

{% content-ref url="/pages/-LT-bScj\_JHuFsr1KJnR" %}
[Import/Export](/rhino-grasshopper/revit/working-with-ggrvt/import.md)
{% endcontent-ref %}

and the steps below to import through the IFC plug-in:

### Importing Templates

We are currently looking at options to import a Revit file template in order provide access to general template materials, parameters, family types etc within Grasshopper to allow for parametric assignment.

If this is something that you would like to see please let us know.

### Persistent Ids (Updating Elements)

When elements are exported (baked) from Grasshopper the unique ids which are associated with objects persist out of session. This allows for the grasshopper script to be closed and opened without losing the unique ids associated with the objects.

There's one aspect of this to consider though. Because it's easy to get grasshopper path matching incorrect whilst creating the script, the unique ids generated only get saved to the script after executing a bake. The plugin should mark the GH script as "modified", but if you open a script, bake it to Revit for the first time (or with an increased number of elements generated), close the script without saving and then open it again, new ids will be generated for elements that weren't previously saved.

To explain further, if you have a component that generates 100 elements, and whilst wiring it generates 1000 elements temporarily, the extra 900 ids won't persist in the script unless you both bake to Revit and save the script.

## Bake (Export) to File

To bake to model to file, simply double click on the bake component. This will bring up a dialogue box in-which you can choose the location to save the file. Click Save to save the file.

{% hint style="info" %}
By double clicking on the component, default bake options will be used.
{% endhint %}

You can set specific bake options by following the steps below:

### Bake Options

There a number of options which can be specified when baking a file. The below shows the typical bake options.

To access these options right click on the bake component.

![Bake Options](/files/MAmgwnnZN7HejZxFp5Ib)

* **IFC4**: If ticked uses the IFC4 file definition, this is the latest definition of IFC definition. If not ticked IFC 2x3 will be used.
* **Owner History:**
* **CAD Export:**
  1. This allows you to set a specific CAD format for import. Options include `.sat` and `.dwg` . By default this is set to `None`.
* **Text Format:** This sets the file type language when writing to IFC. Options include `.STEP`, `.XML`, `.JSON` . Typically `.STEP` is the preferred and set by default.
* **Export IFC:** Invokes the export (alternative to double clicking on the component)
* **Minimize Component Unique Identifiers:**

## Stream bake


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://technical.geometrygym.com/rhino-grasshopper/revit/working-with-ggrvt/import.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
