Skip to content

Sharing Models

A shared model is a link, not an attachment. Whoever opens it gets the machine running in their browser — no login, no install, no viewer to download. What they may do with it is decided when you create the link, and it stays decided.

Everything the link needs travels in the GLB itself: geometry, kinematics, component configuration and the name, author and licence you stamped on it. There is no sidecar file to send alongside.

Sharing is a verb on the open document, in the menu of its card in the Projects panel: Share…. The dialog asks four things.

QuestionOptions
Where the file livesUpload to realvirtual — we host the file and hand back an opaque link. Use my own URL — you host it yourself on a CDN, a web server or a raw file link, and nothing is uploaded
Recipient’s viewView only (the default) or Commissioning — see below
Delete automaticallyNever (the default), or after 7, 30 or 90 days
Allow downloading the GLBWhether the recipient gets a download button for the file

Name, author and an optional SPDX licence are stored in the file and shown to the recipient on an information card. Uploading to us needs a one-time sign-in by e-mail — no password — so that the file is attributable and you can delete it again from My shared links.

A shared link is unlisted, not private. Anyone who has it can open the model. The dialog says so, and it is the right moment to decide whether the content belongs in a link at all.

The choice under Recipient’s view rides in the link as &mode= and decides the workspace the link opens in:

ChoiceThe recipient gets
View onlyThe spectator workspace: the model and its running kinematics, nothing to author
CommissioningInspector, hierarchy, CONNECT and the signal tools — the surface an integrator needs

Without that parameter a recipient would land in whatever workspace their own browser last remembered, which for a machine they have never seen is rarely the right one.

https://web.realvirtual.io/?glb=s:<id> # hosted by us
https://web.realvirtual.io/?glb=https://host/pick-cell.glb # hosted by you
  • ?glb=s:<id> is a share we host. The link carries no storage address; it is resolved at load time. That is what buys you revocation and an expiry — and it is a hurdle, not copy protection: the browser has to load the bytes eventually.
  • ?glb=<https URL> points at your own host. Nothing is uploaded, no sign-in is needed, and only http/https are accepted — data:, blob: and file: URLs are refused before anything touches the network.

There is no content type in the link. A single component, an assembly and a whole plant are all a GLB and all open in the same viewer.

Live connections stay off until you allow them

Section titled “Live connections stay off until you allow them”

A shared model is loaded untrusted. Signal binding, interface auto-connect and the CONNECT per-model stream are all switched off, and the local simulation keeps running — which for a spectator is the whole point.

In the Commissioning workspace a banner states that plainly and offers the one decision that changes it: Allow live connections. Confirming says what it means — this connects somebody else’s model to your plant — and reloads the page to apply it, which discards unsaved changes to the shared model.

  • The decision is remembered per model, under the share id (or the normalised URL) plus a checksum of the bytes that were loaded. Different bytes behind the same link fall back to untrusted and ask again: the decision was about a machine somebody looked at, not about an address.
  • Withdrawing it is the same banner: Revoke live connections. It removes exactly that one record and reloads. Other shared models are untouched.
  • Writing is still CONNECT’s decision. Whether a value reaches a PLC is governed by the gateway’s write access, not by this banner.

Links stay by default — one in an offer or in a piece of documentation should still work in six months. If you chose a deadline, or you delete the share from My shared links, the link stops working immediately and the viewer says whether it expired or was withdrawn by its owner rather than showing a broken model.

A shared link deliberately leaves nothing behind on the recipient’s machine: no draft, no last-opened entry, nothing in their project. The single exception is the recipient explicitly asking for it — Add to my library on the information card keeps the shared model as a library entry so it can be placed again later.

The bookmark stores the link, not the file. If the share later expires or is deleted, the entry stays visible and marked as dead, with its name intact, so it is clear what to ask the sender for.

A link can address more than the file. These four parameters are the ones worth knowing:

ParameterWhat it does
?doc=<id>Opens one document of the current project by its id — the form the address bar itself produces when you open a document
?doc=newStarts with a fresh, empty document. Combined with ?mode=editor it creates a new asset in the current project (or in My Workspace), opens it straight in the Editor and puts the CAD import dialog up right away: ?doc=new&mode=editor — the shortest road from a link to an imported machine
?glb=s:<id> or ?glb=<https URL>Opens a shared model, in one of the two forms above
?mode=<workspace>Starts in a workspace modeviewer, hmi, des, planner, commissioning or editor where the delivery has it
?library=<url>Attaches a catalog on top of the standard library. Repeatable

They combine, so a prepared link is one address: the document, the workspace it opens in, and the catalogs to plan with.

When more than one document parameter is present, ?doc= wins over ?glb=. ?mode= is independent of them and always applies.