Skip to main content

Module ordinate

Module ordinate 

Source
Expand description

Ordinate sets — a DATUM and a run of members, each reading its signed distance from the datum along one axis of the paper.

§Why this is not a fifth dimension kind

A super::dimension::SheetDimension measures ONE thing and draws one dimension line for it. An ordinate set measures any number of points against a shared origin and draws one leader per point to a shared baseline, and there is no dimension line at all. Its anchors are not a fixed-length list, its value is not one number, and deleting its datum deletes every value it defines. That is a different object, so it is one: Sheet::ordinates beside Sheet::dimensions, with its own id prefix (OD{n} from the one counter) and its own form.

§The drawing

The axis picks which paper component is measured and therefore which way the leaders run:

axisvalueleaderbaseline
horizontalpaper x from the datum, right positiveverticala paper y
verticalpaper y from the datum, UP positivehorizontala paper x

A vertical set negates the paper component on purpose: paper y runs DOWN (SVG’s frame) and a drawing’s vertical ordinates count UP, so the sign the reader sees is the model’s and not the file format’s.

offsetMm is the baseline’s signed distance from the DATUM along the leader direction — one number, so the whole set moves with one drag, and its sign picks which side of the datum the values are written on.

Every station draws a leader from its anchor to the baseline and its value just past the end, flat on the sheet. The DATUM draws too, reading 0.000 and carrying the small circle that is the ordinate origin’s own symbol — without it a reader cannot see which of the values the others are measured from.

§What a lost anchor does

A lost DATUM takes the set: there is nothing left to measure from, so the row carries the reason and draws nothing (OrdinateDrawing::error). A lost MEMBER takes only itself — its own station carries the reason (OrdinateMember::error) and the rest of the set still draws, because a set that vanished when one of five points moved would be worse than one that says which point went. That is the same rule a dimension follows, read at the right granularity.

Structs§

OrdinateDrawing
One ordinate set, laid out in paper millimetres.
OrdinateMember
One station of a set — the datum, or one member.
SheetOrdinate
One ordinate set on a sheet.

Constants§

AXES
The axes a set can be measured along — a linear dimension’s own two, minus aligned: an ordinate run has no arbitrary direction, because the whole point is that every value shares one.
DEFAULT_OFFSET_MM
A new set’s baseline offset from its datum, paper millimetres.
DEFAULT_PRECISION
Decimals in an ordinate value, the linear default.

Functions§

layout_ordinates
Lay out every ordinate set of a sheet against the placements already projected into views. centre is where a set with no datum left writes its reason.
sheet_ordinate_schema
The Ordinate set dialog’s schema, in the inputParamsSchema vocabulary the shared form engine renders.