> ## Documentation Index
> Fetch the complete documentation index at: https://speckle-assistant.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Blender

export const app_0 = "Blender"

export const versions_0 = "3.0, 3.1, 3.2, 3.3, 3.4 & 3.5"

export const connector_0 = "Blender"

<div class="callout my-4 px-5 py-4 overflow-hidden rounded-2xl flex gap-3 border-2 border-red-600 bg-red-100/50 dark:border-red-600 dark:bg-red-400/20" data-callout-type="warning">
  <div class="mt-0.5 w-4" data-component-part="callout-icon">
    <svg class="flex-none w-5 h-5 text-red-700 dark:text-red-300" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" aria-label="Warning">
      <path stroke-linecap="round" stroke-linejoin="round" d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z" />
    </svg>
  </div>

  <div class="text-sm prose min-w-0 w-full text-red-700 dark:text-red-300" data-component-part="callout-content">
    <b>Notice</b>: This user guide is based on the legacy {connector_0} connector.<br />
    We recommend using our new connectors instead, as they are easier to use and actively maintained. This legacy documentation may not be up to date.
  </div>
</div>

<Info>
  Legacy Speckle supports {app_0} versions: {versions_0}
</Info>

## Installation

Before using this connector, you'll need to follow our standard setup instructions
to [**install Speckle Manager** and **add a Speckle account**](/legacy/user/manager).

Once the Blender Connector has been **installed through Manager**, you will find
it under the **"Add-ons" tab of your Preferences menu**, under the "Scene" category. Activate it by checking the tick box next to the Add-on name.

<Image src="./img-blender/enable-addon.png" alt="activating the Blender Connector" />

Once Enabled, a restart of blender may be required.

> Feel free to reach out to us on the [forums](https://speckle.community/) if you're having any difficulties.

### Manual installation

Installation through Speckle Manager is recommended for most users, however, for users looking to install the blender connector on **unsupported platforms or Blender versions**, the connector can be installed through a manual zip.

However, you will still need to add your accounts, either through [Speckle Manager](/legacy/user/manager) (recommended) or [manually](/legacy/user/manager.html#adding-accounts-manually)

1. Head to [releases.speckle.systems](https://releases.speckle.systems/) and, under the drop down, **download the latest `manual` installer**.

<Frame>
  <img src="https://mintcdn.com/speckle-assistant/gxrCTSD3wKeQl26b/images/legacy/blender/manual-installer.png?fit=max&auto=format&n=gxrCTSD3wKeQl26b&q=85&s=aeaeb90f568317bed1d81a1b0cd1f0d6" width="33.33%" alt="Screenshot of speckle-blender releases tab, showing manual installer highlighted in the drop-down menu" data-path="images/legacy/blender/manual-installer.png" />
</Frame>

1. Open Blender, and **navigate to the Add-ons menu**, under `Edit -> Preferences`
2. Press the `Install` button in the top right, and select the downloaded zip.
3. Once enabled, a restart of blender may be required.

## User interface

The Blender Connector lives in the 3D viewport toolbar (N) under the Speckle tab. It contains three main panels:

* **User Panel** for switching between different local accounts.
* **Projects Panel** for browsing your existing projects, creating new projects, or deleting old projects.
* **Active Project Panel** for sending and receiving data to and from Speckle.

<Frame>
  <img src="https://mintcdn.com/speckle-assistant/gxrCTSD3wKeQl26b/images/legacy/blender/sidebar-menu.png?fit=max&auto=format&n=gxrCTSD3wKeQl26b&q=85&s=761136e9850548d117b090f2483d208f" alt="panels overview" width="611" height="683" data-path="images/legacy/blender/sidebar-menu.png" />
</Frame>

The **Projects Panel** shows a list of your most recent projects, which you can search through by name. You can add new projects with the "+" button, delete projects with the "-" button, and refresh the projects with the refresh button.

<Frame>
  <img src="https://mintcdn.com/speckle-assistant/gxrCTSD3wKeQl26b/images/legacy/blender/add-by-url.png?fit=max&auto=format&n=gxrCTSD3wKeQl26b&q=85&s=7de875c58a5949105c0c04865160d320" alt="add by url" width="813" height="300" data-path="images/legacy/blender/add-by-url.png" />
</Frame>

From version 2.1.9, you can also add existing projects by their URL. You can use the URL to a project, a specific model, or a specific version. Simply paste it into the popup and the correct account, project, model, and version will get selected for you.

The **Active Project Panel** will show more details about the project you've selected in the Projects Panel. From here, you can change the active model and version. You can also Send and Receive any items you have selected in Blender. Under the Send and Receive buttons, you can use the dropdown menus to select a script to run on all elements during the send / receive process.

At the very bottom of the panel (not pictured), you'll find a button that will open the project in the Speckle Web App.

## Clean meshes

One of the new features we added with the 2.9. release is **Clean Meshes** for Blender. With this feature, a single surface is obtained by combining triangular coplanar faces. This is especially useful for geometry that is coming from applications that do not support NGON meshes. With Clean Meshes, Material Assignment and UV Mapping will be much easier now.

<Frame>
  <img src="https://user-images.githubusercontent.com/51519350/195507307-78ae7cd4-5895-4b4b-ba99-91e734cdb541.png" alt="Clean Meshes" />
</Frame>

Clean Mesh option can be accessed from the dialog that pops up after clicking the Receive button. By default, this will be unchecked🔳.

<Frame>
  <img src="https://user-images.githubusercontent.com/51519350/195507390-54e44041-8a10-4b1f-a034-4f3dd68dd13b.png" alt="Clean Meshes Option" />
</Frame>

## BlenderBIM

There is currently some limited support for [BlenderBIM](https://blenderbim.org/), though this is intended as an export and does not work coming back. To take advantage of this, simply open an IFC using BlenderBIM then use the Speckle connector to send to Speckle.

<Frame>
  <iframe title="BlenderBIM IFC in Speckle" src="https://app.speckle.systems/projects/c51120a7f7/models/d57e0b6bc8@767b7288ee#embed=%7B%22isEnabled%22%3Atrue%7D" width="600" height="400" frameborder="0" />
</Frame>

There are a few things to keep in mind when sending an IFC to Speckle using BlenderBIM:

* Structure: The hierarchical structure of collections and objects is preserved when sending to Speckle.
  * The name of each object is attached in the `name` field.
  * Any `/` in names will be replaced with `::`
* Materials: If the object has a material, this will be simplified into a [Render Material](https://github.com/specklesystems/speckle-py/blob/9a1f28516d0bb7c76e390af103bc677bc5ca7b04/specklepy/objects/other.py#L6-L12) and attached in the `renderMaterial` field.
* Properties: Custom properties added within Blender are always added to a `properties` field on respective objects. For BlenderBIM objects, this includes the `ifc_definition_id`.
  * Additional IFC properties that aren't stored in Blender are currently not extracted from the IFC and attached. This may be explored as an enhancement in the future.
* Type: Objects are all sent as meshes and collections are sent as `Base` objects. None of the objects are currently being converted and sent as BIM objects.
