From FreeCAD Documentation

hi there

This is the user page for PiffPoof. Our use of FreeCAD and our membership on this forum started as a project to document a 40 year old sailing boat. Lots of information about the boat and the work done on it over the last 10 years is available at This page describes our FreeCAD specific activities.

The builders no longer had drawings and the son of the first owner of the boat building company doubted there ever were full drawings. Apparently they built things "by eye" before CAD. Consequently the hull dimensions had to be measured and then a model constructed within the software, Modern software packages like FreeCAD offer many beneficial features like symmetry constraints but when the final measurement is a model that is "easy on the eye" much "massaging" of models and data is required.

Current state of the project: 400+ objects and counting...

We started by modeling the interior (it was easiest to measure) and quickly reached 150 objects. We were barely started and so it was at that point that we started to realise that we would be swamped by the sheer complexity of the undertaking unless we could sub-divide the project and automate as much as possible.This also marked the point where we started to construct tools we needed to manage our complexity explosion.

We developed a few utilities and systems for our own purposes. Due to the open nature of the FreeCAD community we tried to keep them open enough to be used for other uses and by other persons. At present we have the following items in various stages of development:

Changes between v0.14 and v0.15 have caused some code to stop working under v0.15

It may take some time to trace down the necessary changes

All the macros will continue to work under v0.14

Programming Software

Macro Dump Objects

  • a macro which lists the objects in the current document to the Report view, a window or an output file
  • v 0.2

Navigation Utility Suite (toolbar based)

  • a toolbar consisting of 3 macros that enhance managing the FreeCAD user interface, in addition 2 existing FreeCAD macros are included
    • Fit All Content on Screen (existing FreeCAD macro)
    • Set to Axometric View (existing FreeCAD macro)
    • Toggle Views Visibility - toggles visibility of Python console, Report view & Combo view Macro Toggle Panels Visibility
  • v 1.0

Navigation Utility Suite (widget based)

  • under development
  • working as prototype

Macro Build Utility

  • a macro which accepts a command file which specifies how to combine different projects into a single output document
  • v 0.1

Macro Python Assistant Window

  • a macro that offers a sizable window which holds Python snippets for use in assembling Python code files - the window is persistent between FreeCAD sessions
  • v 0.1

Macro Global Variable Watcher

  • displays global variables created in the FreeCAD system (e.g. FreeCAD.myVariable) either on request or on a timed basis
  • uploaded and working but still being tested
  • GUI not finalised, suggestions welcome

Visibility Management Assistant

  • anticipated

Marine Software

Macro Half-Hull Model

  • assists with the design of half-hull models of ship hulls
  • documented
  • uploaded
  • working but may fail on complex or esoteric inputs

Physical Plant Software

Macro Wiring & Hoses

  • provides the facility to run wires and hoses through three dimensional models (e.g. buildings, ships, planes, machinery)
  • awaiting documentation - this may take some time...

Note: some changes between v 0.14 and v 0.15 have effected this macro which will delay releasing it


Thanks to Werner Mayer for code snippets and answers to (endless) questions.

Work(s) in Progress