Spatial reasoning for the automatic recognition of machinable features in solid models | Synapse