-
-
Notifications
You must be signed in to change notification settings - Fork 20
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Problem
OpenSCAD and MakerWorld's PMM currently don't support dynamic parameters that adapt based on user input (e.g., adding/removing parameters when "Add a new level" is selected). This significantly limits the flexibility users have when planning custom rack configurations.
Proposed Solution
Build a web-based dynamic UI that allows:
- Adaptive Parameters: Form fields that dynamically appear/disappear based on user choices (e.g., number of rack levels, connector types)
- Live 3D Preview: Real-time visualization of the configured rack similar to OpenSCAD's customizer
- Export Capability: Generate ready-to-print STL files or OpenSCAD code with the selected parameters
Research & Potential Approaches
3D Viewer Libraries (STL/Web-based)
- Three.js: Most popular WebGL library for 3D rendering (ts-3d-model-viewer, stl-viewer)
- model-viewer: Google's web component for 3D model display
- Existing solutions support STL, OBJ, GLTF formats
Parametric Configurator Examples
- OpenJSCAD: JavaScript-based CAD with web customizer support
- Parametric-3D-Configurator-Web-App: Angular + OpenJSCAD example
- FreeCAD-Configurators: Python-based parametric models with modifiable parameters
Technical Stack Options
- Frontend Framework: React/Vue/Angular for dynamic UI
- 3D Rendering: Three.js or model-viewer custom element
- Geometry Generation:
- OpenJSCAD for web-native SCAD-like modeling
- Server-side OpenSCAD rendering + STL delivery
- Pre-compute common configurations
Acceptance Criteria
- Dynamic form with conditional parameter fields
- Real-time 3D preview that updates as parameters change
- Export to STL/3MF for printing
- (Optional) Export to OpenSCAD code for further customization
- Responsive design for mobile/tablet/desktop
Additional Considerations
- Performance: Large/complex models may need optimization or caching strategies
- Hosting: Static site (GitHub Pages) vs. server-side rendering requirements
- Integration: Could this become part of the main HomeRacker docs site?
Fmstrat
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request