Convert to Sheet Metal keeps a plate's round holes round (#977)

The plate check compared the face outline's area (from the tessellation, so each hole was a polygon of chords) with the exact volume, and refused plates with a few small holes. Where the outline runs along a cylinder about the plate's normal it is now an arc of that circle; coaxial pieces of one radius are one wall, so a hole split into two, three or four faces is one circle. The check passes with its tolerance unchanged, and the flat pattern and its DXF carry one CIRCLE per hole (ARC for rounded corners and slot ends).

A round blank now converts too, so unfold_cut_refold_and_convert checks the refusal with a block thicker at one end instead of a rod.
This commit is contained in:
NOWN-DEV authored and GitHub committed 2026-10-14 01:47:40 -04:00
1 parent 1ff16cc72b
commit 4687e3b073
4 files changed
+433 -34

No files matched your search

+5 -3
View File
@@ -130,9 +130,11 @@ edge between two faces of the sheet that is no bend is cut open, each side half
**gap** from the plane halfway between the two, like the corners of a tray. The result is an
ordinary sheet body: edge flanges, cuts, Unfold, the flat pattern and its exports work on it,
and it follows the solid when a parameter changes (the edges and the fixed face are found by
their names). Without bend edges Convert expects a plate, as before. Not converted yet: curved
faces (rolled sheet, a filleted edge as a bend), faces with holes or curved edges (cut them
after converting) and bends that close a ring.
their names). Without bend edges Convert expects a plate, as before; its round walls (holes, slot
ends, rounded corners) stay circles and arcs in the flat pattern and the DXF, also where a STEP
file writes one in pieces. Not converted yet: curved faces (rolled sheet, a filleted edge as a
bend), faces with holes or curved edges in a body with bend edges (cut them after converting)
and bends that close a ring.
```json
{"command":"solid.box","params":{"length":100,"width":60,"height":30,"body_name":"Tray"}}