3D Virtual Model
3D Virtual Model
3D Engine
Metaverse Tools
List
- Top Open-Source Tools, Frameworks for Metaverse Development
- Metaverse design toolkit. The concept of a metaverse that became…- by Nick Babich - UX Planet
- Top Open-Source Tools And Frameworks For Metaverse
- Top 12 Metaverse Workplace Tools - Startup Stash
- 20 Best FREE 3D Animation Software (2022 Update)
- Python Game Engines–GameFromScratch.com
- 2d and 3d Game and Rendering Engines for Python - A Curated Collection - codeboje
Platforms/Engines
- NVIDIA Omniverse
- Oculus Horizon Words
- Microsoft Mesh
- Unity
- Unreal Engine
- Amazon Sumerian
- ArcGIS CityEngine
- Twinmotion
- Cryengine
- Visual Components - 3D manufacturing simulation software
- Maplesoft - Software for Mathematics, Online Learning, Engineering
- Simulation, Production Planning and Scheduling Software - Simio
3D Modeling Tools
- Adobe Medium
- Houdini
- Open 3D Engine Free
- Blender Free
- 3DS and Maya
- Autodesk Forge The Forge Platform offers APIs and services that help you access and use your design and engineering data via the cloud.
- Autodesk Viewer
- Tech Soft 3D - 3D Development Tools for Engineering Applications
- CADmeister 3D CAD/CAM System
- NVIDIA Omniverse Free
- Autodesk Fusion 360, Free
- LibreCAD - Free Open Source 2D CAD Free
- SolveSpace - parametric 3d CAD Free
- Education Plan - Onshape Product Development Platform Free
- Fusion 360 - Fusion 360 - Autodesk Knowledge Network
Avatar creation
Augmented Reality
- Augmented Reality App and Studio for your company - 3DQR
- DottyAR - InstantAR - First Instant Augmented Reality viewer from your website.
Metaverse Environment
Python - Simulation Connection
- Blender Python API - 3D Free
- Unreal Engine Unreal Python API Documentation—Unreal Python 4.27 (Experimental) documentation
- VPython and Web VPython 3D
- FreeCAD: Your own 3D parametric modeler CAD Free
- cqparts: pythonic CAD CAD Free
- CadQuery 2 Documentation—CadQuery Documentation CAD Free (betteer tahan openscad and freecad)
- Vintech - CAM software for Nesting and NC programing
- ursina engine Game Engine Free pokepetter/ursina: A game engine powered by python and panda3d.
- Open3D: A Modern Library for 3D Data Processing—Open3D 0.15.1 documentation 3D Free
- HARFANG® 3D - Real Time Visualization Tools 3D Free harfang3d/harfang3d: HARFANG 3D source code public repository
- 3D Animation Software for Character Animator - iClone Paid
- Mari - High Resolution 3D Painting Software Paid
- Vismach
- DART: Dynamic Animation and Robotics Toolkit
- STEP Tools, Inc. - Digital Thread, STEP and IFC Solutions Paid
- Visual Components - 3D manufacturing simulation software Paid
- UPBGE Free Game Engine
- Panda3D - Open Source Framework for 3D Rendering & Games 3D Free
- Gazebo 3D Robotic Free
- OpenSCAD - The Programmers Solid 3D CAD Modeller 3D Free SolidCode/SolidPython: A python frontend for solid modelling that compiles to OpenSCAD
- dbrgn/tangible: Tangible is a Python library to convert data into tangible 3D models.
- marcomusy/vedo: A python module for scientific analysis of 3D data 3D manipulation marcomusy/vedo: A python module for scientific analysis of 3D data
- Cocos2d is a family of open-source software frameworks for building cross-platform games&apps. Game Engine
- Home—pyglet Game Engine
- Welcome to Kivy—Kivy 2.1.0 documentation
- jimy-byerley/pymadcad: Simple yet powerful CAD (Computer Aided Design) library, written with Python. 3D CAD Free
- ZenCad 3D CAD Free
- libfive::Home 3D CAD Free
- SolveSpace - parametric 3d CAD CAD Free
- Open Cascade CAD software for engineering - 3D CAD software
CFD
- OpenFOAM
- Gmsh: a three-dimensional finite element mesh generator with built-in pre- and post-processing facilities
- Salome Platform - The open-source platform for numerical simulation
- Gmsh: a three-dimensional finite element mesh generator with built-in pre- and post-processing facilities
- Precise Simulation - Physics Simulation Made Easy
HMI Python
- Python with Qt, pyqtgraph and pyModbusTCP
- Raspberry Pi Industrial Automation HMI/GUI designing using PYQT5
- Welcome to PyScada’s documentation!—PyScada 0.7.0rc16 documentation
Tutorial
- Integrating LoRaWAN sensors in your Digital Twins environment - End-to-end tutorial on how to create digital twins of your LoRaWAN sensors and visualize them in a 3D environment. Blender, Azure, Arduino
- Extending the AZ-220 Digital Twins hands-on lab with 3D visualization–Sander van de Velde
Motor Simulator
- PyLeeCan - PYthon Library for Electrical Engineering Computational ANalysis PYLEECAN project provides a user-friendly, unified, flexible simulation framework for the multi-physic design and optimization of electrical machines and drives.
- RobotPy—RobotPy 2021 documentation
- Emworks from Solidworks - Electromagnetic Simulation of Brushless DC motor inside SOLIDWORKS
- open-bldc/open-bldc-pysim: Open-BLDC python simulator Open-BLDC-pysim is a brushless motor and inverter simulation written in python using numpy. It's goal is to test the underlying mathematics of brushless motor
simulation, to be used later in a C reimplementation directly in Open-BLDC running against the actual Open-BLDC control code. - gtoonstra/bldc-sim: A simulator written in python with some basic diagramming functions for BLDC motor control analysis
- upb-lea/gym-electric-motor: Gym Electric Motor (GEM): An OpenAI Gym Environment for Electric Motors
- Opal RLT - EV simulator │ Electric motor simulation software │ HEV
- Comsol - Analyzing Electric Motor and Generator Designs with COMSOL® - COMSOL Blog
- Ansys - Electric Motor Design, Analysis & Verification - Wilde Analysis Ltd
Physics Simulation
- Lesics - YouTube
- Brushless DC Motor Animation - TI.com Video
- Symphy
- Simpy
- VPython
- Pymunk
- Pychrono
- Project Chrono
- Project Chrono
- Chrono
- 16 Best Python Physics Simulation
- simbody/simbody: High-performance C++ multibody dynamics/physics library for simulating articulated biomechanical and mechanical systems like vehicles, robots, and the human skeleton.
- yapstudios/YapAnimator: Your fast and friendly physics-based animation system.
- ManimCommunity/manim: A community-maintained Python framework for creating mathematical animations.
- hoffstadt/DearPyGui: Dear PyGui: A fast and powerful Graphical User Interface Toolkit for Python with minimal dependencies
- The Animation Framework - Qt for Python
- Plotly Python Graphing Library
- How to Build a Real-time SCADA System Using Python and Arduino - by M Khorasani - Towards Data Science
- tkinter—Python interface to Tcl/Tk—Python 3.10.5 documentation
- samirak93/Game-Animation: A python tool to visualise game animations
- JacquesLucke/animation_nodes: Node based visual scripting system designed for motion graphics in Blender.
- appleseedhq/appleseed: A modern open source rendering engine for animation and visual effects
- gboeing/pynamical: Pynamical is a Python package for modeling and visualizing discrete nonlinear dynamical systems, chaos, and fractals.
- rnd-team-dev/plotoptix: Data visualisation and ray tracing in Python based on OptiX 7.3 framework.
- t-makaro/animatplot: A python package for animating plots build on matplotlib.
- nodebox/nodebox-opengl: Free, cross-platform library for generating 2D animations with Python programming code.
- https://www.pygame.org/news
- HARFANG® 3D - Real Time Visualization Tools
- Python+Blender
- PyViz
- Bokeh
Experience
- Matplotlib is very slow given the amount of data I try to display.
- Modern Browser-based solutions like Bokeh are likely to have similar limitations and are more meant for 2D data only
- Several libraries based on OpenGL are missing some step-by-step tutorials, have sparse docs, or are deprecated.
- There are still solutions like PyQtGraph, Vispy or Mayavi that I could try (What is the best to begin with for the described purpose?)
- Pure PyOpenGL solution will be lacking all the goodies of simple plotting capabilities. But I could write them myself, potentially.
- Library like Open3D could be nice but it the way it handles data transformation makes it infeasible for my use case.
- ROS/Rviz or other well-known robotics tools.
- pygame for 2d animations.
- panda3d for 3d animations.
Discrete Event Simulation
Python Blog
- BragitOff.com - READ-LEARN-BRAG!
- Python Graph Gallery
- Learn Python Coding - The Python Coding Book
- Python Tutorial for Beginners: Learn Programming Basics
- Python for Undergraduate Engineers
- A Multi-Language Reinforcement Learning Digital Twin Environment
- Internet Of Things - Digital Twins Explained
SCADA HMI
- CODESYS Group Free
Digital Twin BLog
Embedded Machine Learning Platform
Edge Impulse
Welcome - Expert Projects
Digital Twin Philosophy
Digital twins are an interesting idea that, like "cognitive computing", is easily abused by marketing, and will probably rake in a lot of consulting fees for people like the authors of this piece (Accenture Research) and companies like IBM.
The essence of a digital twin is a simulation complex enough to be useful in making predictions in the real world. (That's the "twin" part.) Making complex simulations, as you might imagine, is difficult. It requires effort, deep domain knowledge (rare talent), good feedback mechanisms with the real situation in question, and some means of managing that complexity.
Digital twins do exist in deployment. What differentiates them from, say, any old machine-learning model you might use for predictions is that a "digital twin" is probably used for a more complex task than just classification. That is, it's probably used to direct the actions of a system. The words imply a larger solution.
So one thing you see is simulations that embed machine-learning models and predict what actions to take in a given state. Think of it like AlphaGo applied to business scenarios.
What are the pitfalls? Real-world data in these environments is non-stationary and messy, so signal may be low, or the ways you find signal might change over time.
To make the "digital twin" useful you are probably integrating with large software systems not entirely in your control, which may be hard to reason about (ERP systems like SAP).
The digital twin idea, insofar as it includes large parametric models that depend on algorithms like deep reinforcement learning, matters now, because those models are able to find structure in complexity, and make ever more accurate predictions about what to do. That is, we're able to identify optimal actions in more complex situations, with techniques more sophisticated than expert systems.
All that aside, this sort of thing is already getting deployed under the right circumstances, and you could argue that it is the future of a lot of business operations in supply chain and manufacturing.
Companies like GE, SAP, Mathworks, Dassault, PTC and Siemens all have digital twin platforms used by major manufacturers. Initially there was a period (2003 -2013) where twin systems were built my specialist media developers using 3rd party authoring tools and integrating with different system simulation tools. While this still happens for specialist or niche projects (or sometimes on very large projects with specific deadlines that require outsourced help). Increasingly most manufacturers build digital twins directy from design assets (CAD, CAM, Systems simulations etc) as part of the in-house product development process using extensions to their existing design and simulation tooling.
The one distinguishing feature (in theory) of digital twins is it is supposed to be such a hyper accurate model that it can be used to predict absolutely anything about the system in question. No changing of model setup, it's a "perfect" representation.
The down side is everything explodes exponentially - setup time, mesh count, solve time; and we usually get worse results than more focused simulations because we can't squeeze enough detail in across the board.
It generally starts because some manager hears that we've created 8 different specialized models of something due to different areas of interest, and has the bright idea of "lets just create a single super-accurate model we can use for everything". I've been fighting against them my entire career, although 10 years ago it was "virtual mockups"
The next buzzword in the pipeline seems to be "virtual lab" which I can't figure out either. I've been simulating laboratory tests for over a decade and no one can explain to me why that isn't exactly what we're already doing.
None of this is to say that this team isn't doing great work, but somewhere along the way it got wrapped up in some marketing nonsense.
Though it's a buzzword now, the idea behind 'digital twins' was that you not only have a detailed and faithful model (of an item, or process, or system, or network, etc.) whose granularity is congruent with the level of granularity that interests you about the real thing, but you also have bi-directional movement of data between the 'real' thing and its model.
So you can have sensor and measurement data from the real thing be streamed to the model in (ideally) real-time, you can make decisions off of the state of the model, and have those decisions be sent back out into the real world to make a change happen.
The specific wording of digital twins originated from a report discussing innovations in manufacturing, but I find that railway systems and operations make for some of the best examples to explain the concept, because they manage a diverse set of physical assets over which they have partial direct control, and apply conceptual processes on top of them.
I work as a Computational Researcher at Stanford Med. My work is quite literally translating 3D scans of the eyes (read MRI) into "digital twins" (read FEA Models).
I think that there is a subtlety in differentiating a digital twin from a model/simulation in intent. Our intent is to quite literally figure out how to use the digital twin specifically, NOT the scan that it is based on, as a way to replace more invasive diagnostics.
Of course, in the process, we figure out more about diagnosing medical problems as a function of just the scans themselves too.
I am familiar with it in the aerospace industry. Digital Twin implies a higher degree of fidelity in terms of importing data from sensors and modeling of physics than just model or simulation might apply, even though it is a model and simulation.
For GE's digital twins in the jet engines, they will build a high fidelity representation of the each individual engine based on as built parts, and then they will simulate every flight based on accelerometers, force sensors, humidity sensors, temperature and pressure sensors which they have placed in the engine. This is different from a general model or simulation which will build a model from CAD and then have a series of expected flight simulations and use that to predict life of the engine.
I work with digital twins in chemical manufacturing, and there the term is directly coupled with Model Predictive Control. The basic idea is that you build a model of the system (e.g. a chemical plant) you want to control, use that model to optimize controller behavior, apply the results to real controllers in the real system, and then sample the system to reground the model. Rinse, repeat. Such a model is called the "digital twin" of the real system - the idea is that it exists next to the system and is continuously updated to match the real world.
Digital twins aren't simulations, they're just data. The idea is that it's openly available and easily queryable so that people have good data to run their models and simulations on.
Even real life twins don’t exactly match. No digitization process can be error free, the “digital twin” language is to indicate that it’s supposed to be a realistic model rather than an editorialized/interpreted environment.
Digital twin uses sensor data + machine learning against a digital representation of the system to predict failures and tune performance.
Realtime modeling that includes realtime data is starting to be called digital twinning in various industries. E.g. each car off a line has its specific torques of each bolt traveling along with it as a digital twin.
Power plants with sensors on all the equipment trying to predict preventive maintenance is being called digital twinning too.
Though the term digital twin was occasionally in use in the virtual reality and manufacturing community as a concept in the mid-1990s, Dr.Michael Grieves explicitly defined the term in 2001 for a digital version of a physical system as part of an overall product lifecycle process.
The term has been widely used in manufacturing since then and has been a key sales messaging for companies like IBM, Dassault Systems, Siemens amongst others. United Technologies for example have been demonstrating digital twin concepts for routing in flight engine telematics into 3D virtual engine simulations for trouble shooting and maintenance since 2005.
The term regularly crops up in manufacturing, maintenance, smart cities, IoT and more recently AI related proposals and projects and generally means a virtual simulation that uses real data to simulate a complex system.
As pointed out by many over the years - the concepts are also described by Prof.David Gelernter in his book 'MIrror Worlds: Or the Day Software Puts the Universe in a Shoebox…How It Will Happen and What It Will Mean' first ipublished in 1991.
Digital Twin Software - GE Digital
How Digital Twins Can Transform Track Maintenance - Railway Age
Realizing the Potential for Digital Twins in Rail - Railway Age
The CEO of Ford Motor Company, Jim Hackett, has claimed this: for autonomous vehicles to work resiliently at scale they require
- vehicle-centered sensors
- a way for vehicles to share their sensors with nearby vehicles,
- detailed models of the cities in which they operate, and
- wireless networks capable of transporting all this data to where it's needed.
He calls all this the "mobility operating system."
In the interview I heard (I wish I could remember where, sorry) Mr. Hackett said he believes the defensible intellectual property for autonomous cars will be those detailed city models.
So, I am delighted to hear that municipalities are getting ahead of this issue with respect to city models.
Freecad Animation with Python
- Jose Gabriel Egas Ortuño - YouTube
- Linux for an engineer: FreeCAD: Simple Engine Animation.
- Linux for an engineer
- FreeCAD: kinematics Skeleton and Animation via a Master Sketch and Python Tutorial - YouTube
- Linking FC to Arduino - FreeCAD Forum
- mnesarco/HyperController: 8DOF Space Controller Device for FreeCAD
- Arduino With Python: How to Get Started–Real Python
VPython Animation with Python
Animation not Python
Candidate List
Candidate list
- CAD: Freecad
- 3D: VPython
- Game Engine: Ursina
- Harfang, not ready documentation
- 3D: tkinter
- 3D: processing
- Game: unity (See this VidunderGunder/hello-twin: Backend and microcontroller part of a "Hello World!" for digital twins., (39) Digital Twin - Proof of Concept with Arduino, Unity, Node and InfluxDB - YouTube, Digital Twin with Niryo and Unity - YouTube)
- IoT: nodered (See this (39) How to visualize Node-RED 1.0 to MQTT Dashboard "HINET Live Panel" - YouTube, Node-Red: OEE Monitoring System Dashboard with Animation - YouTube, SVG animation in Node-RED Dashboard with Delta PLC (DVP 12SE ) - YouTube)
- IoT: threejs (see this (39) Simulación 3D Web en Tiempo Real con Arduino, Node js, Websockets, Threejs y Sensor MPU6050 - YouTube (39) Arduino + Node.js + Three.js - A first demo - YouTube)
Youtube
- (39) Heru Iqbal - YouTube
- (39) Digital Twin, cases study for oil and gas industry - YouTube
- (39) XG Song - YouTube Xueguan Song (宋学官) - Google Cendekia
- Yaser Ali Husen - YouTube
SVG Animation
- Awesome gauges for Node-Red - YouTube
- Animated Node-Red Graphics with MQTT and SVG–Fun Tech Projects
- Animation - Inkscape
- Synfig–Free and open-source animation software
3D BLDC Motor
- ▷ brushless dc motor design 3d models【STLFinder】
- Brushless DC Electric Motor - 3D CAD Model Library - GrabCAD Blender
- Brushless DC Motor - 3D CAD Model Library - GrabCAD Freecad
- 3 phase BLDC motor 2204 - 3D CAD Model Library - GrabCAD Freecad
- Brushless Motor ((6374) eq. Flipsky - 3D CAD Model Library - GrabCAD Freecad
- hexTronik 24g Brushless Outrunner Motor 1300KV/ Turnigy 2730 1300 kV/ Blue Wonder Motor 1300KV/ Racerstar RC BR2211 1300KV - 3D CAD Model Library - GrabCAD Freecad
- Brushless Motor - 3D CAD Model Library - GrabCAD Freecad
- DC Brushless Motor - 3D CAD Model Library - GrabCAD Solidwrks
- Brushless DC Motor - 3D CAD Model Library - GrabCAD Solidworks
- Brushless-DC-Motor - 3D CAD Model Library - GrabCAD Solidworks
- Brushless DC Motor - 3D CAD Model Library - GrabCAD Solidworks
- Brushless DC motor - 3D CAD Model Library - GrabCAD Solidworks YT Tutorial
Important - Assembly 4 Workbench - YouTube Freecad
- RobotComponents/Printed-BLDC-motor at main · RepRapLtd/RobotComponents Blog - RepRap Ltd
- High quality draft with 0.18_pre with tutorial - FreeCAD Forum
BLDC Motor Simulation
HMI Python
- Modern GUI, Python, Arduino, PYQT, HMI. - YouTube
- HMI in Qt with Python - YouTube
- Learn to use Qt Design Studio by Building an Instrument Cluster for Your Car HMI (Part 5)
- Welcome to Taurus Home Page!—taurus 5.1.4 documentation
PYthon GUI
- GuiProgramming - Python Wiki
- Kivy,
- PyQT
- Qt for Python: PySide2 / Qt5 Python Qt
- pygui
- Tkinter (see 002-Python reading Arduino - STM32 Serial data using Graphic User Interface GUI Tkinter & threading - YouTube) Tkinter
- pysimplegui Pysimplegui
- Welcome to wxPython! - wxPython
Python Graph
Python Game Library
Pygame, PyopenGL, Pyglet, and Panda3D
Seed Studio Hardware
Machine Learning Platform
Freecad Headless
- Scripting and macros - FreeCAD Documentation
- Embedding FreeCAD - FreeCAD Documentation
- Headless FreeCAD - FreeCAD Documentation
- Solved run FreeCAD without GUI - FreeCAD Forum
- FreeCAD external editor with Code–OSS–Python HVAC
Digital Twin Project
- Digital Twin Greenhouse with IoT sensors - Hackster.io Smart Village
- Digital Twin tests elevator ride in Ermua - Hackster.io ML Anomaly Detection in Elevators w/ Edge Impulse & Notecard - Hackster.io
- Surface Crack Detection and Localization w/ Seeed reTerminal - Hackster.io
- Virtual Store System using digital twins and oneM2M - Hackster.io
- Controlling Virtual Object and Physical Object using BabylonJS and Arduino - Demos and projects - Babylon.js Github Virtual Engineering - Scenario and Sync Demo - YouTube Blender, Babylonjs, nodered, webxr, ITS
Web based SCADA
- frangoteam frangoteam/FUXA: Web-based Process Visualization (SCADA/HMI/Dashboard) software
- IIOT Platform, Industrial Internet of Things, Web HMI, SCADA IOT, M2M
- WebIQ - The Web HMI / SCADA Toolbox For Professional HMIs
Web 3D
IoT Platform
The Route:
Use Python. build model upon Headless Freecad. With PyQT GUI.