Testbed UI -> Data-driven, automation and scripting, plugin based software for building CAD/CAE/CGI solutions. Testbed UI is currently WPF and targets .NET Framework 4.8.1.
Testbed Unity -> Tool and task building with integrated C# programming, visual programming, user interface development with cross-platform tool publishing utilizing Unity editor scripting APIs.
Testbed CLI -> Testbed UI has an integrated CLI and GUI. Testbed CLI is CLI only and is more general purpose.
My plan is for Testbed software to be feature-complete on Windows 11, macOS (Apple Silicon), and Linux.
I'm considering Eto Forms, Avalonia and Uno Platform for web, macOS and Linux builds of Testbed UI & Testbed CLI. Testbed Unity, which is built in Unity is cross-platform.
This GitHub account and Gitea will include public repositories.
Testbed-for-Alibre-Design is now Gitea.
- Tooling
- gmsh-dotnet
- freecad-dotnet
- blender-dotnet
- dotnet tools
- Get-Installed-Addons
- AI tool pipeline
- In Development
- Alibre Design V28
- Assimp Inside Alibre Design (AIAD)
- Testbed Inside Alibre Design (TIAD)
- Dynamo for Alibre Design (D4AD)
- FreeCAD Inside Alibre Design (FIAD)
- Rhino/Grasshopper Inside Alibre Design (RGIAD)
- Alibre Python Shell
- Alibre-Script-Runner
- Function-Libraries
- Sketch-Function-Library
- Grasshopper
- Generators
- Tools
- Alibre Design components
- Dynamo
- Generators
- Tools
- Pipeline tools
- Alibre Design nodes
- Alibre Design V28
- [placeholders/roadmap/areas of interest]
- Design file and development project templates
- CMS IntelliCAD
- Autodesk Apps
- Dynamo
- Grasshopper
- Rhino
- Alibre Design
- Solid Edge
- SolidWorks
- Excel
- Blender
- Houdini
- MoI
- Godot Engine
- Unity
- Unreal Engine
- Marmoset Toolbag
- Matlab/Octave
- Open Cascade
- SMath
- MathCAD
- QCAD
- FreeCAD
- macOS
- Linux
- Web
- ThreeJS
- BabylonJS
- Processing
- In Production
- By Task
- By Type
- By Category
- By Industry
- CGI
- Civil
- Architectural
- Structural
- Mechanical
- Fabrication
- Databases
Coming Soon!
What is Testbed (formerly Donetoolkit)?
Testbed is my development approach in which every aspect of a project or product is treated as a single, integrated whole rather than as separate stages, concepts, processes or work units. This is very much a work-in-progress, the core concepts are in two parts.
The Philosophy
Testbed (as a verb) usage here is the concept of continuous integration of exploration, R&D, QA, support and testing for a given application, tool, project or product throughout its life. This is in contrast to how traditional work is done where testing, quality, support, R&D and other activities are treated as independent stages or teams. Complete transparency is truely the goal.
The Software
Testbed (as a noun) embodies the philosophy and also serves as a test bed (as a verb) for the problem it is designed to solve. Source code, design assets, tests, prototypes, failures, issues, and every other resource that make up the compiled or published solution are included and fully accessible to end users. The sole exception is commercial or private IP however, the developer may provide a placeholder reference within a plugin to represent those proprietary components. There is no distinction between the developer and the end user. Testbed is an integrated environment for building tools tailored to CAD, CAE, and CGI solutions.
Due to restrictions and conflicts between commercial and opensource licensing as well as the very specific software, modern development tooling, and tight OS level integration that Testbed projects require, I cannot share Testbed projects or any source code in uncompiled plaintext form. However, I can provide code examples on request and contribute to your public or private projects when you have specific questions or issues. I will make the base applications, templates and plugin source code that do not rely on commercially licensed software or private IP available. Testbed project repositories will contain only the application shell or default configuration, without any CAD libraries, databases, plugins or software integrations.The purpose of sharing my work is for collaboration, feel free to get in touch!