BoatLayout records the layout of a boat as a graph of Spaces and Access ports. It provides a succinct relational model for the various spaces combined with textual description which gives meaning to space names and access paths within any vessel.
Future work will include an API to allow integration with boat inventory and maintenance systems. The addition of 3D properties to the Spaces will allow integration with 3D visualisation tools.
The following UML class diagram shows the data structure for BoatGraph.
A Boat consist of many Spaces. Spaces are used for various purposes including human occupation, equipment installation and storage.
An Access is a connection between two spaces. Examples are doorways, hatches and opening of other kinds. Some accesses allow human passage while others are only allow a humand to reach in (e.g. small storage compartments).
First export your spreadsheet data to csv files and copy them to the data
directory
cd src
cp ~/Downloads/*.csv ../data
Then run the python script to build the dot
file
./build_dot.py -s ../data/physical_structure_of_namadgi_3\ -\ Spaces.csv -a ../data/physical_structure_of_namadgi_3\ -\ Accesses.csv > namadgi3.dot
Finally run dot
to create the output PDF
dot -Tpdf namadgi3.dot -o namadgi3.pdf