Skip to content

OpenAxis SDK

OpenAxis lets you add Rotatrix control to your application. For a CAD or 3D application, it provides camera and object navigation that follows the user’s Rotatrix controls. For other uses, it supplies input rates that your application can interpret.

Rotatrix controls the demo application’s camera; diagnostics near the end show the scene queries behind the movement.

The Rotatrix device sends input to the Rotatrix desktop app, which runs the OpenAxis server. Your application connects to that server over a local WebSocket using an OpenAxis SDK. You write the integration that connects the SDK to your application’s APIs, either as a plugin or directly in the application’s code.

Rotatrix device sends input to the desktop app. A local WebSocket connects the desktop app directly to the OpenAxis SDK and integration inside your application, above its native APIs.

The same connection supports two ways to consume input. Choose based on who should interpret the movement:

InterfaceWhat your application receivesWhat you implement
NavigationCamera and object poses computed by the Rotatrix serverReport camera/scene information and apply the resulting poses through native APIs
Axis StreamingLogical axis rates for your application to interpretDecide how input affects your application

Choose Navigation for camera and object control in 3D applications. Rotatrix provides consistent navigation behavior, including choosing the pivot—the point around which movement rotates. Your integration reports camera and scene facts, such as selection bounds and geometry under the cursor, as available. Rotatrix uses those facts to compute camera or object poses (positions and orientations). Your integration applies the poses through native APIs, and your application renders the result.

Choose Axis Streaming when your application should interpret the input, for example when adjusting a non-navigation parameter. Your integration receives named axis rates and defines how they change the application.

An integration can use either interface or both through the same connection.

The SDK handles protocol messages and coordinates navigation requests so your integration can work with application-level operations: reading a camera, answering a scene query, or applying a pose.

ResponsibilityThe SDK providesYour integration supplies
Communication, for either interfaceOpenAxisClient exchanges messages; OpenAxisConnectionManager handles reconnects and reannounces application metadataApplication identity and focus, plus startup and shutdown hooks
Axis StreamingCallbacks delivering named axis ratesThe behavior that turns those rates into application changes
NavigationNavigationSession handles scene queries, pose ordering, corrections and cancellationAn adapter that reads scene facts and applies poses through native APIs, with scheduling on the application’s permitted thread

For example, to navigate a CAD viewport, your adapter reads its camera and updates it when the SDK delivers a pose. Rotatrix computes the navigation; the SDK coordinates its delivery; your integration handles the native camera API and the viewport’s lifetime. The Navigation integration guide shows how these pieces connect.

To try device input, connect a Rotatrix device and start the Rotatrix desktop app. OpenAxis 1.0 and later require Rotatrix 1.6.0 or newer. See compatibility and language support for protocol support.

Open the browser 3D demo to explore the scene, then follow the demo controls to try navigation with Rotatrix. You can also explore the scene with the demo’s mouse controls without a device.

Choose a quickstart to try input in Python, C#, TypeScript or C++:

Language tabs retain your choice between pages. Use SDK installation when you need package, source-embedding or runtime setup details.

Follow the Navigation integration guide to adapt the demo code to your application. It covers component responsibilities, adapters, scene queries and setup.

Common tasks apply to Navigation, Axis Streaming and applications using both. Add connection recovery and shutdown, publish application context and focus, or configure session logs as you adapt the example to your host.

Navigation features cover camera and object integration: picking, concurrent input, editing and diagnostic overlays. Use the integration checklist to validate the adapted host. Read coordinates when converting native camera values, and reconciliation when combining Rotatrix navigation with native input or application constraints.

For Axis Streaming, adapt the frame callback to your application’s behavior and use the quickstart’s stream checks.

Compatibility and language support · Protocol specification · Interactive demos · Source on GitHub

OpenAxis is dual-licensed under ELv2 or GPLv3. Integrations for proprietary applications must use the SDK under ELv2. See legal notices for details.