iso10110.report#

ISO 10110 System Report

Batches ElementDrawing instances for every element in a DrawingSpec and provides combined save/preview methods.

Bernhard Lutzer, 2026

Classes

ISO10110Report(spec[, paper, orientation, style])

Generate ISO 10110 drawings for all elements in a system.

class ISO10110Report(spec: DrawingSpec, paper: str = 'A4', orientation: str = 'portrait', style: DrawingStyle | None = None)[source]#

Generate ISO 10110 drawings for all elements in a system.

Parameters:
  • spec – The DrawingSpec that carries both the optic geometry and all tolerance annotations.

  • style – DrawingStyle font-size scale factors and border margin, applied to every element’s drawing. Defaults to DrawingStyle(), reproducing the built-in appearance exactly.

Example:

report = ISO10110Report(spec)
report.generate()
report.save_dxf("output/")
report.save_pdf("output/system_drawings.pdf")
report.show()
property drawings: list[ElementDrawing]#

List of generated ElementDrawing instances.

generate() → list[ElementDrawing][source]#

Build an ElementDrawing for every element.

Note this only constructs the ElementDrawing instances — it does not eagerly build each one’s DXF document, so calling this (and the PDF/PNG/show methods below, which call it automatically) never requires ezdxf to be installed. ElementDrawing.generate() (DXF-specific) is invoked lazily by save_dxf() instead.

Returns:

List of generated ElementDrawing instances.

save_dxf(directory: str | Path) → list[Path][source]#

Save one DXF file per element into directory.

Returns:

List of written file paths.

save_pdf(path: str | Path, combined: bool = True) → Path[source]#

Save drawings to PDF.

Parameters:
  • path – If combined is True, the path of the combined multi-page PDF. If False, treated as a directory and one PDF per element is written.

  • combined – When True (default) all elements go into a single multi-page PDF.

Returns:

Path to the written file (or the directory when combined=False).

save_png(directory: str | Path, dpi: int = 200) → list[Path][source]#

Save one PNG file per element into directory.

Parameters:
  • directory – Destination folder (created if needed).

  • dpi – Resolution (default 200).

Returns:

List of written file paths.

show(element_index: int | None = None, figsize: tuple | None = None) → None[source]#

Display drawing(s) using matplotlib.

Parameters:
  • element_index – If given, show only that element (0-based). If None, show all elements sequentially.

  • figsize – Optional figure size in inches.