bherbruck
2c020dbcbc
Revert #1682 (three-axis milling) ( #1715 )
...
Thanks @bherbruck.
2026-10-16 09:02:19 -04:00
DuBearte
4a4911b473
Mesh export: twisted ruled faces are divided to the chord tolerance ( #1666 ) ( #1670 )
...
Thanks @DuBearte.
2026-10-16 08:26:32 -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
DuBearte
dd5278a402
solid.hole: position takes length expressions and follows them ( #1678 ) ( #1683 )
...
Thanks @DuBearte.
2026-10-16 08:26:23 -04:00
Mateusz Sych
838d0e86f2
Component rename also renames its placements ( #1665 ) ( #1685 )
...
Thanks @SychPL.
2026-10-16 08:26:18 -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
Mateusz Sych
2ae21143ee
Motion animation export: a study or a joint drive as an animated GIF ( #1680 )
...
Thanks @SychPL.
2026-10-16 07:26:15 -04:00
midasdf
8207f29fc0
Register surface.boundary, which the 2/3 squash left unregistered ( #1701 )
...
Thanks @midasdf.
2026-10-16 07:26:12 -04:00
DuBearte
4d58d3bbca
Extrude: to an object through the body, the automatic operation is Cut ( #1633 ) ( #1636 )
...
Thanks @DuBearte.
2026-10-16 06:26:35 -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
phanoob
d5640b5efb
Timeline marker, undo and redo compute off the window thread ( #1675 )
...
Thanks @phanoob.
2026-10-16 06:26:10 -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
Karl Von Richter
9422853cf9
Feature mirrors and patterns: preserve replay and add Flip/Center placement ( #1619 )
...
Thanks @Karl-VonRichter.
2026-10-16 03:01:00 -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
DuBearte
25c89a706e
Sketch: a tangent arc starts from a trimmed end ( #1485 ) ( #1604 )
...
Thanks @DuBearte.
2026-10-16 03:00:49 -04:00
bherbruck
26bf1af93b
Sketch on an origin plane faces the side you clicked ( #1587 )
...
Fixes #1586 .
2026-10-16 03:00:24 -04:00
Mateusz Sych
571122c4ba
Motion Trace: a point's path as a joint is driven or a study plays, kept as a 3D spline ( #1529 )
...
Thanks @SychPL.
2026-10-16 01:54:34 -04:00
DuBearte
6f270f6259
Split Body: a sketch line as the splitting tool ( #1552 ) ( #1592 )
...
Thanks @DuBearte.
2026-10-16 01:35:15 -04:00
H. Conrad
dc6eca6830
Fix/shell saddle corners ( #1316 )
...
Thanks @Ian-cmd-ops.
2026-10-16 01:19:42 -04:00
Karl Von Richter
371578a06f
Feat/Sketch: associative pattern tools with independent directions and Flip/Center controls ( #1601 )
...
Thanks @Karl-VonRichter.
2026-10-16 00:32:32 -04:00
JIJINBEI
44968dbfe6
Feature fields: a type for each role (Expr, BodyName, FacePick…) ( #1273 )
...
Thanks @jijinbei.
2026-10-16 00:28:12 -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
DuBearte
f91103c51d
Viewport: the grid faces side views ( #1470 ) ( #1583 )
...
Thanks @DuBearte.
2026-10-16 00:27:19 -04:00
DuBearte
ac3a25fb5b
View keys: arrows turn the view, Ctrl+arrows pan, Ctrl+8 looks at the selection ( #1541 ) ( #1585 )
...
Thanks @DuBearte.
2026-10-16 00:27:12 -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
Mateusz Sych
4d862cd76c
Joints: joint.reach (inverse kinematics), and a jointed part follows a drag ( #1540 )
...
Thanks @SychPL.
2026-10-15 23:58:34 -04:00
H. Conrad
716107f0e4
Sketch cut and paste: refuse parameters that are not an object (no panic) ( #1577 )
...
Thanks @Ian-cmd-ops.
2026-10-15 23:34:18 -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
DuBearte
987f0be21e
Sketch: infinite construction lines ( #1359 ) ( #1547 )
...
Thanks @DuBearte.
2026-10-15 22:54:16 -04:00
Colin Faulkingham
7ef78f960a
Fix perpendicular fillets after connected rounds ( #1581 )
...
Thanks @cfaulkingham.
2026-10-15 22:40:09 -04:00
Erikas
a422fb1a4b
solid.mirror: a plane's {origin} takes length expressions and follows them ( #1492 ) ( #1501 )
...
Thanks @erkexzcx.
2026-10-15 22:37:08 -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
Irakli Kourtis
1a0b33fcf3
Headless pictures draw on the GPU, with the viewport's pipelines (CPU rasterizer as last tier) ( #1555 )
...
Thanks @jyviko.
2026-10-15 22:19:26 -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
Mateusz Sych and Claude Sonnet 5.5
a6742180a9
Join from a sketch on a body's face joins that body ( #1349 ) ( #1526 )
...
Thanks @SychPL for the fix.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-15 21:27:35 -04:00
cronos and Claude Sonnet 5.5
abb15e4b0e
Preserve circle and arc centre heights when measuring straight edges ( #1546 )
...
Thanks @crono2250 for the fix.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-15 21:27:29 -04:00
Karl Von Richter and Claude Sonnet 5.5
584bbe923d
sketch(fix): preserve rectangle constraints through fillets ( #1543 )
...
Thanks @Karl-VonRichter for the fix.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-15 21:27:24 -04:00
4cbf9cf607
Sheet metal: an Edge Flange can choose its own corner relief ( #1481 )
...
An Edge Flange feature can set the shape and size of the relief at the corners its flanges make, in place of the sheet metal rule's. Design format 24.
Co-authored-by: NOWN-DEV <NOWN-DEV@users.noreply.github.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-15 20:22:31 -04:00
c361630954
Export the current 3D view as 2D DXF with optional hidden lines ( #1449 )
...
Adds File > Export > Current View as DXF: the visible bodies projected from the current camera onto 2D LINE/LWPOLYLINE entities, with hidden edges omitted or dashed.
Co-authored-by: cronos <19868002+crono2250@users.noreply.github.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-15 20:04:25 -04:00
Jackson Oursland and Claude Opus 5.5
78242d67d1
Import FreeCAD and Rhino files through cadmpeg ( #1435 )
...
FreeCAD .FCStd and Rhino .3dm files open, insert and drop like STEP and IGES:
cadmpeg (Apache-2.0, pinned =0.6.1, native builds only) detects the format,
decodes it under its service resource caps, validates the model and writes it
as STEP AP214, which becomes an Import feature in a new component named after
the file, with the up and names options.
Only the fcstd, rhino and step codecs are compiled in (no default features).
ACIS is left out: cadmpeg's sat codec is a ShapeManager stream decoder.
native_cad.rs is the single importer seam. Self-made FreeCAD and Rhino box
fixtures, hostile-input, ZIP-bomb and cap tests, engine tests for the
component path; the browser build reports these formats as not supported.
A note under design format 23 says an Import's file can name these formats.
Co-authored-by: Jacob Oursland <jacob.oursland@gmail.com >
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-15 19:30:03 -04:00
bherbruck
4097ac0131
sketch.cut: refuse non-object params instead of panicking
2026-10-15 19:12:55 -04:00
7160ff7beb
A sketch on an extrude's cap keeps its face when the extrude is made thin ( #1532 )
...
Thin extrude caps are certified by the curves the wall follows, so a sketch attached to a cap survives switching between solid and thin (#1519 ).
Co-Authored-By: Philipp Bischoff <PhilippBischoff0@users.noreply.github.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-15 18:55:17 -04:00
f7967b1ff6
Joints: gears, rack and pinion, and screws ( #1524 )
...
Motion links can carry a coupling (gear pair, rack and pinion, screw) whose ratio follows radii, picked round faces or pitch. Design format 23.
Co-authored-by: SychPL <SychPL@users.noreply.github.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-15 18:47:38 -04:00