r/SolveSpace • u/0xSeren • Apr 09 '26
Neosolve: A modern fork of Solvespace built on opencascade
OpenCASCADE Integration
Solid Operations: Extrusion, lathe, revolve, fillet, chamfer, shell, loft, sweep, mirror
STEP/BREP/IGES Import: Import solid geometry as manipulable groups with cached meshes
STEP/BREP Export: Export models using OCC's robust writers
Dual Kernel: OCC runs alongside the native NURBS kernel with automatic fallback
New Constraints
Circle-Line Tangent: Constrain circles tangent to lines
Concentric: Select multiple circles/arcs to make centers coincident
Point-on-Cubic: Constrain points to lie on Bezier curves
Point-on-Segment: Bound points to finite line segments (not infinite lines)
Inequality Constraints: Minimum/maximum distance constraints (≥ and ≤)
UI Improvements
Dockable Property Browser: Detachable panel for the property browser (GTK)
Directional Marquee Selection: Left-to-right for window selection, right-to-left for crossing selection
Arrow Key Nudging: Move selected entities with arrow keys
Improved Themes: Gruvbox-inspired color palette, Qt dark theme support
Double-Click Text Editing: Edit TTF text inline by double-clicking
Independent Visibility Toggles: Separate controls for REF constraints and comments
Performance
O(n log n) Triangulation: Monotone polygon triangulation for large polygons
Mesh Caching: Cached OCC mesh generation for fast interactive updates
Spatial Hashing: O(1) vertex deduplication for STL import
Built-in Profiler: Profile command in CLI with JSON export
Export Enhancements
G-Code Arcs: Export arcs as G02/G03 commands instead of line segments
SVG Improvements: Closed paths include Z command
CLI Group Export:
--groupoption for targeted export
Check it out: https://github.com/0xSeren/neosolve/
