# Blender Bridge

The **Framo Bridge** is a Blender add-on that sends the objects selected in
Blender to Framo as a .glb model. Framo picks the model up in two places:

- the **Blender Bridge** tab of the Add 3D Model window (on a board) and the
  Upload Model window (Home → 3D Models), which add it to your library;
- **Live from Blender** in the 3D Editor, which puts it in the open scene and
  swaps it for the new version every time you send again.

The add-on runs a small server inside Blender on your own computer, and Framo
reads it from the browser. So it works only in a browser on the computer
Blender runs on, never from a phone or another machine.

## Install the add-on

Download the latest **Framo Bridge** .zip from the **Tools & Extensions**
page (`/links`) or from the download button in the Blender Bridge tab, then
install and enable it in Blender's preferences (Add-ons). It adds a
**Framo Bridge** tab to the sidebar of Blender's 3D viewport (press N), with
the **Send to Framo** button and the export settings: GLB compression,
decimation, subdivision override, texture optimisation and automatic UV
unwrapping. The panel offers an update when a newer release is out.

**Send to Framo** is greyed out until an object is selected and a Framo
account shows as connected in the panel ("No user connected to framo.app"
otherwise). The account connects while Live from Blender is on in the 3D
Editor, or while an Add 3D Model or Upload Model window is open on its
Blender Bridge tab, and disconnects when the last of them in that browser tab
is turned off or closed. A Blender started later shows the account within a
few seconds.

## Let the browser reach Blender

Chrome and Brave ask before a website may reach an app on your own computer.
The Blender Bridge tab shows what the browser said:

- **Connect to Blender** — the browser has not asked yet. Click **Connect to
  Blender** and allow the site to reach apps on this device. Framo does not
  try Blender before that click.
- **Your browser is blocking Blender** — the request was refused. Click the
  icon left of the address bar, open **Site settings**, allow **Apps on
  device** ("Local network access" in older versions), and reload the page.
- **Not Connected** — the browser lets Framo through, but Blender does not
  answer: open Blender and make sure the Framo Bridge add-on is enabled.

Safari and Firefox do not ask; there only **Not Connected** can show.

## Add a model from Blender

1. On a board, open **+** → **3D Model** and switch to **Blender Bridge**
   (on Home, **Upload model** on 3D Models opens the same tabs). The dot on
   the tab is green while Blender is connected.
2. In Blender, select the objects and click **Send to Framo**. The window
   says "Connected to Blender" and "Waiting for model export..." until the
   first send arrives.
3. The model shows in a turnable preview with its name and size. The name
   is the .blend file's name, whatever characters it uses; click it to
   rename the model. Each new send replaces the preview.
4. Click **Add to Board** (or **Upload Model** on Home). Framo uploads the
   model shown in the preview, and the preview's current view becomes its
   thumbnail.

The upload limits are the same as for a file: over 10 MB the size turns to a
warning, and over 100 MB the model cannot be uploaded until it is lighter
(use the compression or decimation settings in Blender's panel and send it
again). See the
[Add a 3D model playbook](/docs/playbooks/import-3d-render-save).

## Live from Blender (3D Editor)

**Live from Blender**, in the scene menu (click the scene's name at the top
left of the [3D Editor](/docs/product/editor-3d)), keeps a model in the scene in
step with Blender:

- Choose it to turn it on; a tick shows beside it and the menu stays open.
  The line under it reads "Connecting…", then "Waiting for a send from
  Blender", and once a model has landed, that model's name. If Blender has
  already sent a model, it lands at once.
- Each send lands within about half a second, as one group named after the
  .blend file. The next send replaces what is inside that group and keeps
  everything you gave the group in the editor: where you moved, turned or
  scaled it, what it is parented to, its place in the Objects list, whether
  it is hidden, and whether it is selected.
- Each send is one undo step ("Update from Blender").
- A send waits while Paint or mesh edit is open, while you drag something,
  or while a scene is opening, and the newest one lands when that is over.
- **Duplicate** the group to keep a version: the copy is never updated.
  Delete the group and the next send starts a new one.
- A send that fails to load shows "Could not update from Blender" and is
  not tried again; sending again is the retry.
- The first time, Chrome and Brave ask whether this site may reach apps on
  this device. Until you answer, the menu line reads "Allow it in your
  browser's prompt"; choose Allow and it connects.
- If you refused, a message and the menu line say "Your browser is blocking
  Blender": click the icon left of the address bar, open Site settings, allow
  "Apps on device" ("Local network access" in older versions), then reload
  the page.
- If Blender or the add-on stops answering, a message says "Blender is not
  reachable", the menu line says the same, and the editor keeps trying every
  two seconds.
- It is off whenever the editor opens and is never saved with the scene.
  Leaving the 3D Editor turns it off; choosing it again turns it off and
  leaves the model as it is.

With add-on 0.6.0 or later, a send made while Live from Blender is on skips
GLB compression and decimation, so it arrives faster; texture optimisation
still applies. Sends for the Add 3D Model window are compressed as the panel
says. Older add-ons work live too, with every send compressed.

Live from Blender needs the same browser permission as the Blender Bridge
tab. While it is on, it also connects your account to Blender, so **Send to
Framo** works without an Add 3D Model window open (see [Install the
add-on](#install-the-add-on)).

## Agents in Blender

The add-on also has an **Allow Framo to control Blender** switch, off every
time Blender starts. With it on, an agent chat can read the Blender scene,
build in it, run Python and render. This is open to admin accounts only.

## Common questions

- **"Not Connected" though Blender is open** — check the add-on is enabled
  in Blender's preferences, and that this browser is on the same computer.
- **Send to Framo is greyed out** — select an object, and turn on Live from
  Blender in the 3D Editor, or open the Blender Bridge tab of an Add 3D Model
  or Upload Model window, so your account connects.
- **The model in the scene did not change** — Live from Blender may be off
  (no tick in the scene menu), Paint or mesh edit may be open, or the group
  was duplicated and you are looking at the copy.
