Mateusz Sych
3eae8c34f6
Fillet beside a hole: the suggested largest radius fits ( #324 ) ( #1885 )
...
Thanks @SychPL.
2026-10-17 04:08:39 -04:00
NOWN-DEV
c38992fc09
fix: booleans with whole-turn round faces read from STEP are exact instead of failing ( #1892 )
...
Thanks @NOWN-DEV.
2026-10-17 04:08:34 -04:00
NOWN-DEV
962070e955
Interference: a pin a hair off the axis of its hole gets its crescent ( #1893 )
...
Thanks @NOWN-DEV.
2026-10-17 04:08:31 -04:00
NOWN-DEV
9a4d936b7b
fix: text cut into a large part stays on the exact 2D route ( #1903 )
...
Thanks @NOWN-DEV.
2026-10-17 04:08:12 -04:00
Irakli Kourtis
98ce6a4ee8
Sweep guide rails and two-rail sweep ( #771 ) ( #1806 )
...
Thanks @jyviko.
2026-10-17 04:07:46 -04:00
H. Conrad
221e841d32
Kernel/refine mesh for curved meeting ( #1812 )
...
Thanks @Ian-cmd-ops.
2026-10-17 04:07:33 -04:00
NOWN-DEV
2abf4e5a7d
STEP import: read HYPERBOLA and PARABOLA edges exactly ( #1832 )
...
Thanks @NOWN-DEV.
2026-10-17 04:07:29 -04:00
Nathan Dane
64966bab88
Implement the reviewed UI icon system and durable review workflow ( #853 )
...
Thanks @Nathan-Dane.
2026-10-17 04:07:16 -04:00
NOWN-DEV
c7bb64dd74
feat: a slanted or curved edge across a sheet metal bend folds to a smooth curve of few pieces ( #1799 )
...
Thanks @NOWN-DEV.
2026-10-16 16:26:15 -04:00
H. Conrad
bb13799246
Fix/clippy option zip ( #1798 )
...
Thanks @Ian-cmd-ops.
2026-10-16 16:26:11 -04:00
Mateusz Sych
920ea42fe1
Revolve: a partial turn's planar faces come out whole ( #726 ) ( #1718 )
...
Thanks @SychPL.
2026-10-16 15:26:10 -04:00
Mateusz Sych
31b2ddc0cf
Split Body: the face a plane split cuts takes an attachment that follows the plane ( #565 ) ( #1746 )
...
Thanks @SychPL.
2026-10-16 13:26:11 -04:00
Mateusz Sych
bf4551159e
Split Body and Combine Intersect keep their faces' sources, so sketches attach ( #565 ) ( #1732 )
...
Thanks @SychPL.
2026-10-16 11:26:17 -04:00
cronos
bba03803b7
Accelerate current-view DXF export and keep desktop exports responsive ( #1738 )
...
Thanks @crono2250.
2026-10-16 10:26:27 -04:00
Erikas
4bacd0cae0
Fillet fit check: rounds on both sides of a wall in one feature fit as they do one after the other ( #1668 ) ( #1720 )
...
Thanks @erkexzcx.
2026-10-16 10:26:24 -04:00
Erikas
77b33efd8f
Rolling-ball blends: a strip ends on its joint where its neighbour is too short to lend sections ( #1667 ) ( #1702 )
...
Thanks @erkexzcx.
2026-10-16 09:26:23 -04:00
bherbruck
2c020dbcbc
Revert #1682 (three-axis milling) ( #1715 )
...
Thanks @bherbruck.
2026-10-16 09:02:19 -04:00
CypherNaugh_0x
737c9358d0
Add three-axis milling with independent CAM and Fusion validation ( #1682 )
...
Thanks @CypherNaught-0x.
2026-10-16 08:26:28 -04:00
Mateusz Sych
d84d8c3222
Joint origin: a circle given by its centre ( #393 ) ( #1686 )
...
Thanks @SychPL.
2026-10-16 08:26:14 -04:00
midasdf
bbd4f29ebb
Class-A surfacing 3/3: blend curves, curved-edge fillets, the G2 corner and continuity analysis ( #1642 )
...
Thanks @midasdf.
2026-10-16 06:26:27 -04:00
phanoob
64b0b674d2
2D prism route: the same letters cut again are one exact boolean ( #1644 )
...
Thanks @phanoob.
2026-10-16 06:26:19 -04:00
Philipp Bischoff
3087363c44
test: three ignored tests pass again and run in CI ( #679 , #562 ) ( #1663 )
...
Thanks @PhilippBischoff0.
2026-10-16 06:26:13 -04:00
bherbruck and Claude Opus 5.5
a9beb437b3
Boolean property tests: nightly only, and the cases they found as ignored tests ( #1650 )
...
Pushes to main skip boolean_props (random inputs); the nightly property-tests job runs it. The three shrunk cases are ignored tests with their issues (#1647 , #1648 , #1649 ), and proptest's failure file is named outright.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-16 04:35:53 -04:00
midasdf
07da7f8065
Class-A surfacing 2/3: surface match, boundary patch and CV fairing ( #1487 )
...
Thanks @midasdf.
2026-10-16 03:26:20 -04:00
phanoob
9bb65b4d68
Booleans: a prism cut beside the target's other faces takes the exact 2D route in a column ( #1629 )
...
Thanks @phanoob.
2026-10-16 03:26:13 -04:00
Irakli Kourtis
f57a62deb7
Intersection edge nodes advance along the curve at fine display qualities ( #1615 )
...
Thanks @jyviko.
2026-10-16 03:00:56 -04:00
H. Conrad
dcffab09b1
Tessellation: point-in-trim tests skip runs of segments the ray canno… ( #1309 )
...
Thanks @Ian-cmd-ops.
2026-10-16 01:54:29 -04:00
H. Conrad
dc6eca6830
Fix/shell saddle corners ( #1316 )
...
Thanks @Ian-cmd-ops.
2026-10-16 01:19:42 -04:00
H. Conrad
d29ca29578
Perf/mesh collision ( #1307 )
...
Thanks @Ian-cmd-ops.
2026-10-16 01:12:39 -04:00
JIJINBEI
3333f8a62b
Divide intersection edges from their neighbours' parameters ( #1038 ) ( #1412 )
...
Thanks @jijinbei.
2026-10-16 00:27:55 -04:00
H. Conrad
42d4ebeb16
STEP export: a merged partial cylinder keeps its cylinder (silent volume loss) ( #1497 )
...
Thanks @Ian-cmd-ops.
2026-10-16 00:27:48 -04:00
H. Conrad
c5b7009ce3
ci: nightly property tests with more cases ( #1498 )
...
Thanks @Ian-cmd-ops.
2026-10-16 00:13:48 -04:00
bherbruck
f98c5e350d
Shell: put shell_by_opening's doc comment back on it ( #1588 )
...
Thanks @bherbruck.
2026-10-16 00:11:30 -04:00
Irakli Kourtis
fac3f96bdd
Patch: G1/G2 to the faces beside the loop, general and N-sided loops, points ( #759 ) ( #1521 )
...
Thanks @jyviko.
2026-10-15 23:07:24 -04:00
Colin Faulkingham
7ef78f960a
Fix perpendicular fillets after connected rounds ( #1581 )
...
Thanks @cfaulkingham.
2026-10-15 22:40:09 -04:00
rlartot
daf618c344
Edge division: evaluate each point once ( #1560 )
...
Thanks @rlartot.
2026-10-15 22:19:51 -04:00
phanoob
5165e428cd
Boolean: refuse a nudged result that meshes inconsistently ( #1360 ) ( #1455 )
...
The last-resort nudge's result is also measured finely; a face left a hair wide that meshes as its whole plane no longer passes as a plausible cut.
2026-10-15 22:19:28 -04:00
Giovanni
48322f6464
Join a flange flush with a bent, tapered loft's end where the retry fails ( #1391 ) ( #1556 )
...
Thanks @gvocale.
2026-10-15 22:19:22 -04:00
Erikas
5c0351b1f4
Fillet: refuse only crossed faces the round makes, not ones the body had ( #1488 ) ( #1517 )
...
Thanks @erkexzcx.
2026-10-15 22:19:19 -04:00
Erikas
b20fd3d9d6
Booleans: when the last-resort nudge fails both ways, try two more screw axes ( #1490 ) ( #1527 )
...
Thanks @erkexzcx.
2026-10-15 22:19:15 -04:00
H. Conrad
63accec16e
STEP export: shelled revolved bodies export instead of panicking ( #1496 )
...
A scale across a revolution's axis keeps the face a surface of revolution and is written as one; any other refusal from the writer is an export error, not a panic.
2026-10-15 22:19:10 -04:00
H. Conrad
2141a3802a
Shell: an open face next to a concave edge no longer cuts the wall past it ( #1495 )
...
The pushed-out cavity is trimmed so that past an open face's plane it only reaches through the open face itself.
2026-10-15 22:19:04 -04:00
H. Conrad
723c7b61c4
Boolean: cut around a part's sealed voids when the whole cut fails ( #1570 )
...
A cut clear of every void cuts the outer shell alone and puts the voids back (robustness seed 15 now builds).
2026-10-15 22:18:31 -04:00
phanoob
39f6d68a50
Text cut through a part, or joined in relief, in one exact boolean ( #1446 )
...
Checked locally on main merged with this: cargo check --workspace, the kernel and doc tests, and all robustness goldens (all_0 to all_3) pass.
2026-10-15 15:33:01 -04:00
6ad391fd75
Chamfer: refuse a result that grows a convex edge's part ( #1428 )
...
* Chamfer: refuse a result that grew a convex edge's part (or shrank a concave one's)
A chamfer of a curved edge that runs off a face it skims (robustness seed 57's
ball rim) built a part bigger than before. Checked from the two faces' normals
at the edge; rounds and unclear angles are left to the wedge bound.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
* Action matrix: the sheet metal tray's relief corners refuse a 0.25 mm chamfer
Each is a 2.5 mm concave edge (the corner of a corner relief, between two
planes at right angles): a chamfer there fills at most 0.25²/2 × 2.5 = 0.08
mm³. What was built took 0.95 mm³ away; the chamfer guard now refuses it.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
* Robustness goldens: seed 57's wrong-way chamfer is now refused (#1390 )
On main with #391 , seed 57's chamfer grew the part; this refuses it, so the run goes on
to its later steps and ends ok.
---------
Co-authored-by: Phanoob <phanoob@gmail.com >
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com >
Co-authored-by: bherbruck <brennen.herbruck@gmail.com >
2026-10-15 14:26:30 -04:00
midasdf
e8e2ccc8a9
Class-A surfacing 1/3: the continuity core, a G3 free-form blend and patch crown ( #1249 )
...
The continuity core (kernel bridge: Hermite control rows reproducing a support surface's position, tangent, curvature and change of curvature, G0 to G3), surface.blend between two edge chains (#764 ), and a crown for fitted patches. Existing patches and fillets are unchanged by default (crown 0 is the plain patch bit for bit). SurfaceBlend and Patch.crown are noted under format 22.
2026-10-15 13:32:16 -04:00
phanoob
3047aa60cd
Text cuts: the 2D prism route takes a font's curves exactly ( #1429 )
...
The 2D prism route for text cuts takes a font's curves exactly instead of as polylines.
2026-10-15 13:32:02 -04:00
Luke Kearney
f0c5bfcdf2
Draft: only the faces round the drafted walls must be walls or caps ( #1393 )
...
Draft checks only the faces that share a corner with a drafted wall, so rounds and other faces elsewhere on the body no longer refuse it (#390 ).
2026-10-15 13:31:51 -04:00
Erikas
d8a088f46a
STEP export: a half-turn arc end as a cylinder, and cut faces' sheets bounded by their faces ( #1198 ) ( #1438 )
...
STEP export writes a half-turn arc end as a cylinder, and cut faces' sheets bounded by their faces (#1198 ).
2026-10-15 13:31:46 -04:00
Erikas
17b48d9e7e
Booleans: planar cuts beside rounds take the exact route before the retries ( #1197 ) ( #1445 )
...
Planar cuts beside rounds take the exact route before the boolean retries (#1197 ).
2026-10-15 13:31:41 -04:00