# 3D Object Animation

**URL:** <https://forum.inductiveautomation.com/t/3d-object-animation/106400>\
**Category:** Ignition\
**Tags:** perspective\
**Created:** [May 19, 2025, 12:35pm UTC](https://forum.inductiveautomation.com/t/3d-object-animation/106400 "2025-05-19T12:35:56Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![f.ferreira](https://avatars.discourse-cdn.com/v4/letter/f/9dc877/32.png) [@f.ferreira](https://forum.inductiveautomation.com/u/f.ferreira)\
**Post date:** [May 19, 2025, 12:35pm UTC](https://forum.inductiveautomation.com/t/3d-object-animation/106400/1 "2025-05-19T12:35:56Z")

</div>

I would like to know if it is possible to create an application using Ignition, where I can animate a 3D object. For example, visualize the welding points or segments that a robot has performed in real time, as a kind of digital twin?

I still don't know exactly how to proceed, but I thought about converting the .STEP file of my part to .GLB and integrating it using Ignition Perspective.

Has anyone done something similar or have any tips?

---

<div class="post-metadata">

**Author:** ![Transistor](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/transistor/32/3380_2.png) [@Transistor](https://forum.inductiveautomation.com/u/Transistor)\
**Post date:** [May 19, 2025, 1:36pm UTC](https://forum.inductiveautomation.com/t/3d-object-animation/106400/2 "2025-05-19T13:36:44Z")

</div>

I think your question title is misleading. You're not asking about "digital twin" but rather "3D object animation and update in a Perspective view". If you edit it you might attract the guys and gals who can help you.

Welcome to the forum.

---

<div class="post-metadata">

**Author:** ![f.ferreira](https://avatars.discourse-cdn.com/v4/letter/f/9dc877/32.png) [@f.ferreira](https://forum.inductiveautomation.com/u/f.ferreira)\
**Post date:** [May 19, 2025, 1:40pm UTC](https://forum.inductiveautomation.com/t/3d-object-animation/106400/3 "2025-05-19T13:40:42Z")

</div>

You are right, thank you!

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [May 19, 2025, 3:29pm UTC](https://forum.inductiveautomation.com/t/3d-object-animation/106400/4 "2025-05-19T15:29:38Z")

</div>

In theory, someone could make a custom Perspective component that embeds a 3d renderer like [three.js](https://threejs.org/).

In practice, I'm not sure any one has. In particular, figuring out how to deliver complex 3d object data to that component inside the Perspective property model would be tricky.

---

<div class="post-metadata">

**Author:** ![bmusson](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/bmusson/32/87530_2.png) [@bmusson](https://forum.inductiveautomation.com/u/bmusson)\
**Post date:** [May 19, 2025, 3:49pm UTC](https://forum.inductiveautomation.com/t/3d-object-animation/106400/5 "2025-05-19T15:49:39Z")

</div>

> [@paul-griffith](#):
>
> make a custom Perspective component that embeds a 3d renderer like [three.js](https://threejs.org/).

This is on my “want-to-do” list. I don’t have a use case for it though, I just think it’d be neat.

Embr already supports running JavaScript supplied from props, so it’s just a matter of including `threejs` and managing some basic lifecycle stuff.

My idea was to store models on disk and serve them with a little helper servlet.

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [May 19, 2025, 3:50pm UTC](https://forum.inductiveautomation.com/t/3d-object-animation/106400/6 "2025-05-19T15:50:29Z")

</div>

I _almost_ tagged you directly, because I knew you'd done some fun stuff with your extra charts 😆

---

<div class="post-metadata">

**Author:** ![thomas1](https://avatars.discourse-cdn.com/v4/letter/t/5f9b8f/32.png) [@thomas1](https://forum.inductiveautomation.com/u/thomas1)\
**Post date:** [June 27, 2026, 10:06am UTC](https://forum.inductiveautomation.com/t/3d-object-animation/106400/7 "2026-06-27T10:06:22Z")

</div>

Same approach as above, plus: Disclosure, I work on realvirtual, so take this with that in mind. We maintain an open-source (AGPL) three.js viewer built for exactly this: GLB with the structure and metadata baked in, a websocket/MQTT signal layer for live values, and it is designed to sit in an iframe next to Perspective rather than replace anything in it. The robot-weld-point case is close to a standard demo for it. Happy to point you to the repo if it helps.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [June 27, 2026, 1:50pm UTC](https://forum.inductiveautomation.com/t/3d-object-animation/106400/8 "2026-06-27T13:50:25Z")

</div>

> [@thomas1](#):
>
> open-source (AGPL) three.js viewer

Ignition modules cannot distribute any copy-left open source material. Not even LGPL, due to the inability of end-users to substitute implementations.

Open source using BSD, MIT, Apache, or similar licenses are fine.

---

<div class="post-metadata">

**Author:** ![a.alghannam](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/a.alghannam/32/75158_2.png) [@a.alghannam](https://forum.inductiveautomation.com/u/a.alghannam)\
**Post date:** [June 27, 2026, 8:38pm UTC](https://forum.inductiveautomation.com/t/3d-object-animation/106400/9 "2026-06-27T20:38:27Z")

</div>

i've done some modules includes three.js. like this example of plant overview

> [@Drawing plant overviews - How best to](https://forum.inductiveautomation.com/t/drawing-plant-overviews-how-best-to/115151/2):
>
> You can build and design the overview scene for your plant using any method you find suitable... whether that's with SVG drawings or even utilizing an OpenGL library. I've attached an example of a plant overview that might be similar to what you have in mind. Best of luck!

And i'm working on new project which integrates an app specialized in creating cabinets modeling using opencascada kernel, cutting list optimizations, machining and processing calculator and some complicated stuff of exporting manufacturing grade parts for HOMAG machines.
