The Specifier

A design-specification app
The Specifier is an app to specify a physical design.
A specification is a complete description of something.
Its completeness is determined by the user of that specification.
The specification of a physical design facilitates its production
both at prototype-test stage, when it is used by a fabricator or assembler,
and at production stage, when it used by a factory.

Specialisation:  land-vehicle design
A physical design is a designed solid 3D object.
The Specifier is validated by using it in
the specification process of a land-vehicle design.
A land-vehicle has some symmetry properties,
a substantial size (much larger than a PC screen),
involves the use of wheels
and its PC-based specification is necessary,
because it has to be produced accurately,
since it will be used in a motive context,
with operational parameters such as balance, rigidity and handling,
being directly effected by the design and it's specification.

Key features
1. The Specifier uses a hexagonal grid ( instead of a cartesian-grid )
as a better way to select points in a 2-D plane and points in 3-space.
Rotations in 2-space and 3-space are a lot easier to describe and to implement using a hex-grid.
2. It has a very simple user interface.

The proof of concept demo
The first version of The Specifier enables a designer
to create and visualise a model of a 3D object in a WYSIWYG way.
In particular it will be used to specify the design of a bicycle-trailer.
We plan to release this demo by Friday, Jan 02.


The Specifier's User-interface
A designer can load photographs of a real object onto the hex-grid,
(with a description of the camera parameters used in taking those photographs).
Then, identify ( in terms of 2D point descriptions )
the components in the structure of the object in the photograph.
Then, for each component, they can describe its 3D orientation and size
based on physical measurements.
This creates a model of the component, describing its
dimensions,
orientation and
placement in the model of the object.
They can add some off-the-shelf, commonly used construction components to the model,
specify joints to connect components
and connectors or methods to bind the joints.

Implementation
The Specifier implements a custom rendering and visualisation engine for these models.
This engine implements perspective correct display-screen mapping of 3D objects.
It models a single camera with location, orientation and film-size and focal-length controls.
It maps all planar 3D-elements using direct, 4-point 2D-plane mapping.
Curved planes in 3D are modeled as piece-wise planar flat planes.
It does not implement any lighting controls
and uses colours and textures to indicate material properties.