fix(brain): enforce r_f=6mm minimum, reject pockets that can't fit fillets

- Default r_f raised from 1.5mm to 6mm (machining constraint)
- Default min_pocket_radius raised to 6mm
- Pockets that can't fit r_f at any corner (within 80% tolerance) are
  skipped entirely — left solid for more stiffness in tight areas
- Result: 26 pockets (was 432), 187 NX entities (was 13,061)
- Min fillet radius: 4.88mm, all >= 4.8mm (80% of 6mm)
- Mass: 4,601g (was 3,480g — more solid = heavier but manufacturable)
This commit is contained in:
2026-02-16 20:42:46 +00:00
parent da9b579bcf
commit 30981fa066
3 changed files with 1024 additions and 36339 deletions

View File

@@ -23,7 +23,7 @@ PARAM_SPACE = {
'gamma': {'type': 'float', 'low': 0.0, 'high': 3.0, 'desc': 'Density-thickness coupling'},
# Manufacturing
'w_frame': {'type': 'float', 'low': 3.0, 'high': 20.0, 'desc': 'Perimeter frame width (mm)'},
'r_f': {'type': 'float', 'low': 0.5, 'high': 3.0, 'desc': 'Pocket fillet radius (mm)'},
'r_f': {'type': 'float', 'low': 3.0, 'high': 10.0, 'desc': 'Pocket fillet radius (mm)'},
'd_keep': {'type': 'float', 'low': 1.0, 'high': 3.0, 'desc': 'Hole keepout multiplier (× diameter)'},
'min_triangle_area': {'type': 'float', 'low': 5.0, 'high': 80.0, 'desc': 'Minimum pocketable triangle area (mm²)'},
}
@@ -43,8 +43,8 @@ DEFAULT_PARAMS = {
't_0': 3.0,
'gamma': 1.0,
'w_frame': 8.0,
'r_f': 1.5,
'r_f': 6.0,
'd_keep': 1.5,
'min_pocket_radius': 1.5,
'min_pocket_radius': 6.0,
'min_triangle_area': 20.0,
}