The Specifier

(an industrial-design app)

The Specifier is an app functionally similar to Solidworks-3DExperience and Autodesk-Alias.
It is used to specify a physical design.
A specification is a complete technical description (of a physical design).
Its completeness is determined by the user of that specification,
such as a part fabricator, an assembler, or a factory production-line.

Functional description

(version 1)

Enables a designer to create and visualize a model of a 3D object in a WYSIWYG way. 

A designer can load photographs of a real object onto a 2D 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 specify 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 off-the-shelf, commonly used construction components to the model,
specify joints to connect components 
and connectors or methods to bind the joints.

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.

(version 2)

Enables a designer to also specify the construction process of a physical component
with controllable timing and camera parameters

Functional-validation

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.
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.
Incomplete or insufficient specification or errors in specification
are easier to detect in such a design.

Implementation

The Specifier implements a custom rendering and visualization engine for its 3D models, described using \ a hex-grid.
The 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 colors and textures to indicate material properties.

The Specifier app is implemented as an InterUnit inside an InterUnit-UI.