Skip to content

Draftwright 0.4.28

Choose a tag to compare

@pzfreo pzfreo released this 10 Sep 22:37
a868b9e

Recognition of turned parts is substantially more accurate, and a part that draftwright cannot
fully describe now produces a drawing that says so instead of producing nothing.

Three changes alter existing behaviour. Read these before upgrading.

  • An unauthored general tolerance is no longer invented. The title block used to default to
    ISO 2768-m, asserting a manufacturing requirement on every drawing whose caller supplied
    none — including every STEP-derived generated script. It now states UNSPECIFIED. Pass
    tolerance="ISO 2768-m" explicitly to keep the old output; tolerance="" leaves the cell
    blank (#1157, and this dissolves #501).
  • Turned-step recognition changed, through Quiddity 0.2.6 → 0.2.8. Rounded plate corners and
    parallel offset cylinders no longer form a false stepped shaft, a modelled thread is no longer
    read as one shoulder per turn, and contiguous equal-diameter bands coalesce into the single
    span they physically are. Drawings of turned parts may show different diameter and length
    callouts than 0.4.27 — in every case measured, fewer false ones (#1555, #1135).
  • A partial turned profile warns instead of raising. generate_sheet_script and
    Sheet.build() used to raise ValueError when declared step() segments did not span the
    body, which meant no script and no drawing at all. They now build and report
    turned_profile_not_spanned, naming the undescribed stretch. A hand-authored .step()
    misuse — #631's original case — is therefore a warning rather than an error (#1132).

New diagnostics.

  • Sheet can now reconcile AP242 PMI. Pass Sheet(part, source="part.step", pmi="annotate");
    generated scripts do this for you. Unlowered records report pmi_not_lowered, content with no
    census behind it reports pmi_unreconciled, and a declaration claiming a source identity the
    document does not contain reports pmi_source_unknown. Previously a script-built drawing ran
    no PMI reconciliation at all — deleting a raw PMI record changed nothing it reported (#1563).
  • lint_summary()["pmi"] now names the document it was reconciled against, with its sha256.

Fixed. On a geometry-only import, lint_summary()["score"] no longer rises when declared
features are removed (#1126). The score remains a severity heuristic, not a quality verdict —
read lint_summary()["quality"] for that.

Quiddity is pinned to 0.2.8.

Full changelog: v0.4.27...v0.4.28