3D Object Animation

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?

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.

You are right, thank you!

In theory, someone could make a custom Perspective component that embeds a 3d renderer like three.js.

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.

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.

I almost tagged you directly, because I knew you'd done some fun stuff with your extra charts :laughing:

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.

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.

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

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.