Sending a Model

Sending a Model

The whole workflow is one panel and one button. This page covers what the panel shows, what actually gets exported, and what happens on the second send — which is the part worth understanding before you rely on it.

Before you start, the extension needs an endpoint and a credential. See Configuring the Bridge.

The panel

In Blender: View3D ▸ N-sidebar ▸ Showcade. It only appears in Object Mode.

Top to bottom:

WhatPurpose
Test ConnectionReach and credential check; writes nothing
The endpointWhich catalog this will upload to, so you can see it without opening preferences
SourceWhat gets exported — Selection, Active Collection, or Whole Scene
NameThe asset name, defaulting to the active collection’s name
DeviceOptional. The showcade device this is meant for; it prefills the bind prompt
The link tagThis collection’s identity, with buttons to mint a new one or forget it
Send to ShowcadeExport and upload
The result lineWhat the last send did
Copy HandleA reference to the last upload you can paste into showcade

Below all of that, the panel shows warnings when it can see something that will upload fine and only look wrong later — see Troubleshooting.

Sending

  1. Set Name. Keep it stable across re-sends; the reason is under Re-sending below.
  2. Press Send to Showcade, or Ctrl+Shift+E in Object Mode.
  3. In showcade’s object editor, right-click the device ▸ Bind asset… and pick it.

The upload runs off Blender’s UI thread, so the interface stays responsive while it’s in flight. The result line tells you what happened when it lands.

If you’d rather not go hunting in the asset browser, press Copy Handle after a send and paste the result into showcade — the handle is a reference to the catalog row, not the bytes, so the paste is instant.

What gets exported

Source has three choices:

SourceWhat it covers
SelectionThe selected objects. With nothing selected, it falls back to the active collection
Active CollectionThe active collection and everything nested under it
Whole SceneEvery object in the scene — check the size before you send

The panel names the resolved source on its own line (“4 selected objects”, “12 objects in Bumper”), and says when Selection fell back to the collection. If nothing is selected and the active collection is empty, the send reports an error and cancels rather than uploading an empty file.

The export is GLB, in true Blender metres. The extension never bakes a scale — the browser converts metres to table units, because only it knows the target device’s footprint.

Identity lives on the collection, not on the file or the object.

The first send mints a link id, stores it in the .blend, and stamps it on every upload as a tag. That tag is how showcade finds the current bytes for a binding on later sends — so the binding you made once keeps resolving to whatever you sent most recently, without rebinding.

Two buttons sit next to the tag in the panel:

  • New Link mints a fresh identity. Use it when a collection has become a genuinely different asset and you want the old binding left alone.
  • Unlink forgets the identity. Sends still work after that, but showcade stops following them — a binding made before the unlink keeps pointing at the last version it saw.

Re-sending

Re-export and send again, and the binding follows the new bytes. Nothing to do in the browser.

Two behaviours are worth knowing:

An unchanged re-send writes nothing. The catalog deduplicates on the combination of the file’s content hash and its name, so re-sending identical bytes under the same name returns the existing row. This is why the name should stay stable — putting a timestamp or a version number in it throws the deduplication away and uploads a fresh copy every time.

Reverting works. Send v1, then v2, then change your mind and send v1 again: the catalog mints a fresh generation for the already-stored bytes so the revert becomes the newest version and resolves correctly. That’s why an upload of unchanged bytes can legitimately report as new rather than as a duplicate. Sending it again after that converges back to a plain no-op.

The full contract behind both — the dedupe key, the tag semantics, the limits, and the status codes — is Assets HTTP API.

Limits

LimitValue
Model size32 MB
Asset name120 characters
Tags per asset16
Tag length40 characters

Going over the model cap fails the send with a message saying so. The usual fixes are decimating the mesh or dropping 4K textures.