Files
OpenNest/docs/dimensions.md
T
ajandClaude Opus 5.5 31525ba342 feat(cad): list keyed holes in the hole table
A closed contour around its center with at least 270 degrees of arc on
one center and radius now counts as a keyed hole, in its own row after
round holes of that diameter. Curved slots stay out: their long arcs wrap
around solid material, so the center is outside the contour.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 21:44:59 -04:00

4.7 KiB

Dimensions

A drawing can carry dimensions, shown in the CAD Converter:

  • Overall dimensions: the part's size along X and along Y. In the Dimensions panel, Add Overall Dimensions adds whichever of the two is missing, below and to the right of the part. Drag a dimension line to move it, across the part to its other side if wanted.
  • Radius and diameter dimensions on circles and arcs. Select one or more circles or arcs, right-click and choose Add Radius Dimension or Add Diameter Dimension. Each curve gets at most one of each. Drag the leader to swing the label around the curve and move it in or out; a radius on an arc stays on the arc's sweep.

Remove in the Dimensions panel deletes the selected dimension.

Contract

Dimensions are annotations. They never affect the program, nesting, cut time or posts, and they do not appear on plates, in PDFs or in DXF export.

  • Drawing.Dimensions stores only placement, so a value cannot go stale:
    • Overall: the kind and the signed offset from the part's extents. Positive is above (horizontal) or right (vertical).
    • Radius and diameter: the kind, the measured curve's entity ID, the leader angle from the curve's center (radians) and the signed offset from the curve to the label along the leader, positive outside.
    • Zero is never a valid offset.
  • DimensionBuilder (OpenNest.Core/Dimensions) measures overall dimensions from the entities as they will be cut: visible, with roles, breakoffs and tabbed cutouts applied, as the Program tab builds them. FileListItem.Bounds is not used because it includes hidden layers.
  • Marks do not count toward overall dimensions: anything ScribeLayerRepair.IsMarkLayer matches (scribe, etch and engrave, by layer name) and anything SpecialLayers.IsMaterial rejects (rapids, break cuts). IsMaterial compares layer objects, so it alone would count source marks on their own layers. Tabs and a breakoff's scrap count: both are material of the part as cut.
  • Radius and diameter find their curve by ID among the visible entities with roles applied, before breakoffs and tabbed cutouts, which split a curve into new pieces. A cut or etched curve can be dimensioned; an excluded, hidden or display-only one is not shown. Adding one to a display-only curve explains that it must be set to Cut or Etch first. An arc that is a full circle is measured as a circle.
  • New radius and diameter labels sit outside the curve by half its radius, or a twentieth of the part's larger size when that is more. On a circle the radius leader points up and right and the diameter leader up and left, so the two do not overlap; on an arc both point through the middle of its sweep. Dragging keeps the label a few pixels clear of both the curve and the center; a curve too small for that keeps the label outside.
  • A dimension with nothing to measure, a part with no size along its axis, or a curve that is gone or no longer cut is listed as not shown and keeps its placement until the geometry returns.
  • Values show three decimals with no unit, in the drawing's units; radius labels are drawn with an R prefix and diameter labels with Ø.
  • Split pieces start with no dimensions, like breakoffs and tabbed cutouts.

Hole table

Holes... in the CAD Converter's bottom bar opens a small Hole Table window beside the view. It lists the drawing's round and keyed holes by diameter, smallest first, with the quantity of each and a color swatch. While it is open, every hole on the view is drawn in its size's color with a heavier line; closing the window restores the normal colors. The table follows the selected file and updates when entities are cut, etched, set to display, excluded or simplified.

  • A round hole is a cut circle, or a closed contour made only of arcs on one center and radius, that lies inside another cut contour. The outline of a round part is not a hole.
  • A keyed hole is a closed contour around its center with at least 270 degrees of arc on one center and radius, and anything else for the rest: a keyway, a flat. It must also lie inside another cut contour. It takes the arc's diameter and its own row, marked keyed, after round holes of that diameter.
  • Slots, curved slots and other shapes are not listed.
  • Holes are read from the entities as they will be cut (visible, with roles applied), before breakoffs and tabbed cutouts. Etched, display-only, excluded and hidden circles are not listed.
  • Diameters are rounded to four decimals, in the drawing's units; holes that agree to four decimals share a row. HoleTable (OpenNest.Core/Dimensions) builds the rows.
  • The table is a view only: it stores nothing in the drawing and never affects the program.

File format: see drawing dimensions.