eights: BS 8888:2011 first angle projection drawings from FreeCAD 3D model

eights.py is a Python module intended for use with the open-source three-dimensional (3D) computer-aided design (CAD) package FreeCAD (FreeCAD version 0.15 user manual, n.d.). The module automates the construction of a page of two-dimensional (2D) axonometric drawings in first angle projection, in a style consistent (to the best of the module author’s ability) with the BS 8888:2011 standard (Technical product documentation and specification BS 8888, 2011).

The module includes: • a class whose purpose is to provide a method which adds, to an existing FreeCAD document, a drawing sheet object whose formatting is intended to be consistent with the BS 8888:2011 standard, and populates the title block of the sheet, again in a way intended to be consistent with BS 8888:2011; • a class whose purpose is to provide a method which adds the standard BS 8888:2011 symbol, indicating that a set of drawings are in first angle projection, to an existing FreeCAD drawing sheet object; and • a class whose purpose is to provide a method which takes any existing FreeCAD 3D shape object, and adds a set of axonometric drawings of that shape, in first angle projection, to an existing FreeCAD drawing sheet object, following the conventions in BS 8888:2011.
Also supplied with the module are a detailed documentation file, and three example files illustrating its application to particular 3D CAD models.

Statement of need
The creative process behind detailed engineering design now typically takes place in 3D CAD packages (Quintana, Rivest, Pellerin, Venne, & Kheddouci, 2010).However, for this creative process actually to lead to an embodiment of the design being manufactured, this creative process must be followed by communication of the content of the design to a manufacturing facility.There are two necessary requirements for success: firstly, the communication must include information on all those aspects of the design that are necessary to complete manufacture, and to verify by inspection that the completed, manufactured artefact matches the design (Quintana et al., 2010); secondly, the communication must be in a well-defined (usually graphical) language, so that it can be understood at the manufacturing facility in a way that permits successful manufacturing and inspection (Dobelis et al., 2018;Quintana et al., 2010).The drive to meet both of these requirements has led to the development of published standards for design communication (Dobelis et al., 2018), of which BS 8888:2011 (Technical product documentation and specification BS 8888, 2011) is one.These standards are in a very advanced state of maturity for 2D engineering drawings, but despite efforts in recent years to develop similar standards for 3D models, the standards for 3D models remain somewhat less mature (Quintana et al., 2010).As a result, 2D drawings remain a crucial medium for communication of design information to manufacturing facilities, and possessing the capability for automated generation of standards-compliant 2D drawings from a 3D model is an important criterion by which the technical quality of 3D CAD software packages is assessed (Hughes, 2013;Kannan & Vinay, 2008).Hence, by automating the process of producing certain standards-compliant 2D drawings, the eights module offers the opportunity for the FreeCAD CAD package (FreeCAD version 0.15 user manual, n.d.) to be more favourably assessed against this criterion in future.
One automated tool, for generating 2D drawings in first angle projection from a 3D model in FreeCAD, already exists: the FreeCAD Automatic Drawing Macro ("Macro automatic drawing," 2016).A full analysis of the relative advantages and disadvantages of the Automatic Drawing Macro, and the eights module announced here, can be found in the documentation file of the eights module.For the purposes of this statement of need, it is sufficient to mention two of the relative disadvantages of the Automatic Drawing Macro: • the Automatic Drawing Macro does not attempt to comply with BS 8888 as regards the format of the drawing sheet and its title block; • the Automatic Drawing Macro does not offer the ability to include first angle projection sets for multiple 3D objects on the same drawing sheet.
It is not only in the manufacturing sector that standardized axonometric drawings have proved important to clear communication: scholarly research has also benefited from this language.For example, in the study of human anatomy, standardization of axonometric drawing sets to the BS 8888 standard has been used to reduce both cumulative uncertainty in position co-ordinates and difficulty of interpretation associated with the presentation, in published papers, of geometric data on the human skeleton (Magee, McClelland, & Winder, 2012); and in archaeology, the standard first-angle projection set has been used to facilitate unambiguous description of the laboratory methods used to infer manufacturing methods from surface profilometry of ancient monumental artefacts (Moitinho de Almeida & Barceló, 2014).In scholarly research in physics, one finds a cautionary tale concerning the consequences when no standardized language is available for engineering drawings: in foundational seventeenth-century experimental research in hydrostatics, the discovery of effects, in the force balance on columns of water and air, due to the solubility of air in water and to adhesion between water and solid surfaces, was for some time hotly contested due to a lack of reproducibility of results between subtly different sets of apparatus (Shapin & Schaffer, 2011).In the absence of a standard for engineering drawings, attempts to communicate between different research groups, using a combination of text and schematic diagrams, what the differences between their respective apparatus were, proved fruitless, and consensus on the experimental facts was eventually achieved only by the long-range transport of actual experimental rigs, across international borders, for side-by-side comparison (Shapin & Schaffer, 2011).So deep did the confusion run that, more than three centuries later, Shapin & Schaffer (2011) still found themselves with much work to do, in attempting to understand exactly what were the relevant differences between the respective experimental rigs.