We immerse the industrials design and means of production control process into the spatial computing by present these new versions of IndustrialKit platform and RCWorkspace application based on it.
Of course, in this version we also made some fixes and improvements for all supported platforms – macOS, iOS/iPadOS and visionOS.
The immerse of industrial design and control environment in the spatial computing#visionOS #visionPro pic.twitter.com/qZcfvfcBl1
— Artem (@MalkarovPark) February 27, 2024
We continue to further develop the platform in various directions, and spatial computing is one of them.
Spatial Pendant
Introducing a universal UI control for programming and handling workspace and its constituent industrial equipment. Contents of this pendant vary depending on the specific selected object and its type – Workspace, Robot or Tool. If no suitable object is selected, the control content is blank.
The spatial pendant allows you to set the sequence of program elements and control their performing.
It initialized in the window (or document) group level with these parameters – instance of PendanController and of the current Workspace instance.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import SwiftUI | |
import IndustrialKit | |
@main | |
struct VirtualPendantTestApp: App | |
{ | |
@Environment(\.openWindow) var openWindow | |
@Environment(\.dismissWindow) var dismissWindow | |
@StateObject var pendant_controller = PendantController() | |
@StateObject var base_workspace = Workspace() | |
var body: some Scene | |
{ | |
WindowGroup | |
{ | |
ContentView() | |
.environmentObject(pendant_controller) | |
.environmentObject(base_workspace) | |
.onAppear | |
{ | |
//Set windows handling functions to pendant | |
pendant_controller.set_windows_functions | |
{ | |
openWindow(id: SPendantDefaultID) | |
} | |
_: | |
{ | |
dismissWindow(id: SPendantDefaultID) | |
} | |
//Adding workspace | |
pendant_controller.workspace = base_workspace | |
//Adding robot | |
var new_robot = Robot(name: "None") | |
base_workspace.add_robot(new_robot) | |
//Adding tool | |
var new_tool = Tool(name: "None") | |
new_tool.codes = [0, 1] | |
new_tool.codes_names = ["Opcode 1#square", "Opcode 2#circle"] | |
base_workspace.add_tool(new_tool) | |
} | |
} | |
SpatialPendant(controller: pendant_controller, workspace: base_workspace) | |
} | |
} |
The s-pendant has controlling provided by Observable and Environment objects from any view of application.
To switch the type of pendant, use these PendantController functions:
- view_workspace – viewing and editing the Workspace control program
- view_robot – viewing and editing positional programs for the selected robot
- view_tool – viewing and editing operating programs for the selected tool
- view_dismiss – disable viewing and editing, clearing the view
Pendant displays a currently selected object of the corresponding type in the workspace.
The view_robot and view_tool functions can also be called with a name parameter, in which case, before displaying, the factory object, selected by its name.
RCWorkspace App
Introduce the first spatial environment for the design and control of industrial equipment. The Robotic Complex Workspace has been completely adapted to the new platform.
Use one universal, adaptive pendant to program and control all devices individually and the production complex as a whole.
In this version for spatial computers of the application, s-pendant replaces inspectors with similar functionality. To switch the display of pendant, use the
button on the right side of opened document window.
