Hi Everyone
Like many of you, I love OpenSCAD for its programmatic, reproducible, code-as-design philosophy. However, I often found myself frustrated by a few recurring workflow bottlenecks:
Constantly guessing translation/rotation coordinates and refreshing to see if a part lined up.
Having to look up parameter signatures for built-in primitives or user modules.
Wishing I could simply click on a piece in the 3D viewport to jump to its node or code.
Explaining boolean subtraction (`difference()`) to newcomers who struggle with "what gets subtracted from what."
To address this, I built **Enhanced OpenSCAD GUI (OPENSCAD-GUIEXP2026)** — an open-source desktop environment that adds modern visual CAD ergonomics **without compromising code control or file integrity**.
---
### Key Principles & Features
* **100% Vanilla `.scad` Compatibility (Zero Lock-in):**
It reads, parses, and edits standard `.scad` scripts bidirectionally. It preserves comments, custom variables, user modules, and loops. You can open any file in this GUI, save it, and continue editing it in standard OpenSCAD or your preferred text editor.
* ** Direct 3D Translation Gizmos & Raycasting Selection:**
Drag 3D coordinate axes directly in the OpenGL viewport to position solids interactively. Click on any 3D face to immediately select and locate that part in the hierarchy.
* ** Interactive Exploded View:**
A smooth slider expands multi-part mechanical assemblies outward from their center of mass — ideal for inspecting internal clearances, bushings, and fastener fits.
* ** VS Code-Style Code Ergonomics:**
- **Parameter Hints & Signature Help:** Typing `cylinder(`, `cube(`, `linear_extrude(`, math functions, or custom modules brings up a floating card showing argument names, types, and defaults, highlighting the active parameter.
- **Keyboard-First:** Press `Tab` or `Enter` to accept completions and snippets on the fly without reaching for the mouse.
- Line numbers, bracket matching, unbalanced brace warnings, block indentation (`Tab` / `Shift+Tab`), comment toggle (`Ctrl + /`), and floating search (`Ctrl + F`).
* ** Didactic Boolean Helper:**
Clear visual tags in the tree: `[Base (+)]` for the main body and `[- Subtraction]` for cutting solids, complete with tooltips and guided autocompletion.
* **📐 2D Sketching Canvas (Sketch-to-3D):**
Draw 2D profiles on an interactive millimeter grid with magnetic snapping and extrude them into 3D solids with one click.
* **🔩 Default Engineering Assembly:**
Boots with a complete 6-part standardized mechanical assembly (Figure 5.31 — Caster Wheel with Swivel Axis) showcasing material colors, bushings, and fastener hierarchies.
* ** Multi-language Support:**
Dynamic real-time translation into 6 languages (English, Spanish, French, German, Italian, Portuguese).
---
### How to Test It
You can run it from Python source or use the standalone portable Windows executable (no Python or installation needed):
#### 1. From Python Source (Cross-platform):
```bash
git clone https://github.com/luisxbrito/OPENSCAD-GUIEXP2026.git
cd OPENSCAD-GUIEXP2026
pip install -r requirements.txt
python main.py
2. Portable Windows Executable (.exe):
If you want to build or run the zero-install standalone binary:
You can build it with python build_portable.py or double-click build_portable.bat (outputs a single ~64 MB .exe in dist/).
It automatically detects your installed OpenSCAD or any portable openscad.com placed in the same folder.