Industrial Builder is a multifunctional environment for production deployment. Everything necessary for production is collected in a special package – Standard Template Construct. Processing of such a package allows obtaining various data for designing and forming production depending on the customer's needs.
The application codebase supports macOS, iOS, iPadOS, visionOS and requires Xcode 14.1 or newer. The Industrial Builder application has a Base SDK version of 13.0 and 16.1 respectively.
Download an image from the releases and use application package for the appropriate platform.
Connect the necessary property list files in the application settings for robots, tools and parts.
macOS
Copy a package with the app extension to the Applications folder. Confirm launch.
iOS & iPadOS
Official free installation method coming after the world revolution. For now you can install application package by your own developer profile and special installers. Also possible to use the app in application playground format by the Swift Playgrounds (iPadOS only).
You may view and edit this application project by two ways:
- Clone this repository;
- Download ZIP archive from this page.
Open downloaded project in the Xcode and confirm trust.
Industrial Builder is the document based app. Thus, each Standard Template Construct (STC) is a separate document. You can create a new or open an existing document that has a stc extension.
Production employing components are created in the relevant items available through the sidebar. All created objects can be placed and positioned in the workspace.
The description of the STC and its purposes is contained in the Info file, a special template file of the package. You can add an internal name for the STC, provide a more detailed description, and supplement all this with a gallery of related images.
The creation of production begins with the preparation of all the necessary information, presented in the form of components.
Resources can be added by simply dragging them into the appropriate Resources sections or selected via the "" button on the toolbar. Empty listings can also be created using the "
" button and edited. Editing scenes and images, in turn, is not supported.
A separate, specific type of resource is a kinematic group. It is a named list of kinematic elements with a parameter indicating the kinematics type. The kinematic element itself is a named and identifiable Float value.
Unlike other resources, which are placed in one way or another in the model module package during layout, kinematics is used to synthesize resources. Kinematics processing is implemented using IndustrialBuilder, which currently supports the synthesis of robots with the 6DOF and Portal kinematics type.
When processing kinematics, based on the processing of its data, the code and scene of the manipulator are synthesized.
The digital essence of a production facility is implemented by the program code of its object and a virtual model reproducing the visual and physical properties of the associated production facility.
Thus, the module providing the program code of the digital and the components of the model must be assembled from the corresponding resources. The program code is described in text listing files, while the model is assembled from a set of scenes (SceneKit Scene file with the .scn extension) and textures (various raster graphics formats).
The current version of Industrial Builder allows you to create and edit modules of four types – for production facilities (Robot, Tool, Part) and Changer elements.
Editing of all module components is performed in Module Designer. The set of components available for editing varies depending on the module type. Model editing is available for robots, tools and parts.
All used listings can be generated and supplemented by the developer. Please note that depending on how the module will be connected (external or internal), generate for the corresponding type.
For tools, a list of available values of operational codes is additionally specified.
For controlled devices – robots and tools – editing of the list of names of connected model nodes and parameters of connection to real equipment is available.
For objects whose digital entities involve visual modeling (robots, tools, parts), scenes and textures with the models used are specified among those available in the STC package.
One of the selected scenes is specified as the main one. This approach allows the module to have several scenes and textures - one scene can refer to other resources of the module package.
For controlled devices and those with a model controller (robots, tools), a list of names of connected scene nodes is additionally specified via the Connected Nodes menu.
The STC package enables production deployments and can be used in a variety of ways for different purposes. Currently, it supports compilation of plug-ins for IndustrialKit-based applications.
The set of modules to be composed is specified in the assembly sheet implemented by the BuildModulesList class and consists of four lists corresponding to four types of modules – Robot, Tool, Part, Changer. STC can contain many such sheets.
In Industrial Builder, editing assembly sheets and assembling modules is performed using the Build assembly tool, accessible via the "" button in the Package section.
There are two types of assembly available – Files for exporting modules as a set of external plug-in packages and App for exporting as packages embedded in the application project and compiled together with it.
When assembling internal modules, a Modules folder is created with a set of module packages and a List listing file initiating a tuple of arrays of internal modules – internal_modules.
Assembling external modules involves saving module data in the Info header file.
Next, as with internal modules, code elements are saved in the corresponding Code folders of the module package file. However, no parameters are injected into the listing code, since the corresponding data (the previously mentioned list of model nodes, connection parameters) are saved in the header file.
The final stage of exporting a module is saving its resources in the Resources.scnassets folder of its package .
After all external modules have been compiled and placed in the export folder, Industrial Builder additionally places a set of scripts in the folder for compiling listings of software components of module components into Unix executable files. In the iOS, iPadOS and visionOS versions, the export of external modules is completed at this stage, since they do not have a terminal. In turn, on macOS, it is possible to launch the compilation directly from Industrial Builder.
GitHub is our primary forum for RCWorkspace. Feel free to open up issues about questions, problems, or ideas.
This project is made available under the terms of a Apache 2.0 license. See the LICENSE file.