RFDT Solver and WiTwin Simulator are undergoing internal testing as we prepare for public release. The functions are limited. Sign up to receive updates.

Tutorials Overview

Understanding the WiTwin ecosystem and Studio

System Architecture#

WiTwin uses a client-server architecture that combines Python's flexibility with web-based visualization.

ComponentDescription
Python BackendScene management, simulation engine, and WebSocket server
WiTwin CoreHigh-performance C++ ray tracing and EM simulation
Web StudioInteractive web-based visual interface

Component Details#

Python Backend provides:

  • Scene & Object API
  • Component System
  • Simulation Control
  • Data Processing

Communication Flow#

Python API  ↔  WebSocket  ↔  Web Studio
(User Code)    (Real-time)    (Visualization)

Quick Start#

Get up and running with WiTwin in just a few lines of code:

1. Start Server & Studio#

from witwin import Scene, Server
 
# Create a scene
scene = Scene()
 
# Create and start the server
server = Server(scene=scene)
server.start()  # Opens browser automatically
 
print("Server running at http://localhost:8080")

First Time Setup

The first time you run this, the WiTwin Studio assets will be automatically downloaded. This may take a few minutes.

2. Create Objects#

from witwin import Scene
 
scene = Scene()
 
# Create objects
cube = scene.create_object("MyCube")
cube.add_component("Mesh", mesh_type="Cube")
cube.transform.position = [0, 0, 0]
 
sphere = scene.create_object("MySphere")
sphere.add_component("Mesh", mesh_type="Sphere")
sphere.transform.position = [3, 0, 0]
 
# Objects appear in Studio immediately!

3. Modify Properties#

# Access transform
cube.transform.position = [1.0, 2.0, 3.0]
 
# Access material component
material = cube.get_component("Material")
if material:
    material.color = [1.0, 0.5, 0.0, 1.0]  # Orange
    material.metalness = 0.8
 
# Changes sync to Studio in real-time!

WiTwin Studio#

The WiTwin Studio is a web-based visual interface that connects to your Python backend, providing real-time visualization and interactive editing capabilities.

Studio Panels#

PanelDescription
ViewportMain 3D viewport for visualization
HierarchyTree view of scene objects
PropertiesEdit object components
LibraryAsset browser for adding objects
Node EditorVisual programming
HyperparametersOptimization parameters
ResultsVisualization panel
ConsoleLogging & commands
TimelineAnimation & keyframes
SettingsStudio configuration

Tutorial Path#

Follow these tutorials in order:

  1. Installation - Set up WiTwin
  2. Import 3D Models - Load geometry
  3. Component System - Understand components
  4. Radar Simulation - Simulate FMCW radar
  5. Field Simulation - EM field propagation