Skip to content

v0.4.2

Choose a tag to compare

@pzfreo pzfreo released this 10 Jun 06:00
· 90 commits to main since this release
e09bae4

Small-parts and lint-quality release — everything from the tuner-peg drawing session (#62#65) plus follow-ups.

Added

  • Enlargement scales for small parts (#62). choose_scale() now tries ISO 5455 enlargement scales — 10:1 (A4) and 5:1 (A4, A3) — before 2:1, so small precision parts get legible drawings instead of a 1:1 sheet with tiny views. The fit check no longer reserves title-block width when the view rows clear the title block vertically, letting borderline parts stay on smaller sheets.
  • scale= and page= overrides (#63) on make_drawing(), build_drawing(), and choose_scale(), plus --scale / --page CLI flags. page accepts an ISO name ("A3"), "WIDTHxHEIGHT" in mm, or a (width, height) tuple. Give one and the other is chosen to fit; give both and they are used as-is.
  • Leader / leader_offset gain text_side="auto"|"left"|"right" (#64) to force which side of the elbow the label extends to, and the default placement rule is now documented (the label follows the horizontal direction of tip → elbow). A forced side that would run the shaft through the label text raises ValueError.

Fixed

  • view_annotation_overlap lint no longer fires on line-work that must touch the view (#65). Centrelines are exempt, and annotations exposing a label_bbox are tested by their label-text extents only — witness lines and leader shafts can enter the view freely. A label actually sitting on the part still fires.
  • DatumFeature and SurfaceFinish expose a real label_bbox (#69) — the letter frame and Ra text extents — so the label-text-only lint logic covers them too.
  • DatumTarget is exempt from view_annotation_overlap (#71) — it sits on the part face by definition; page-bounds and pairwise checks still apply.

Full changelog: https://github.com/pzfreo/build123d-drafting-helpers/blob/main/CHANGELOG.md