Automatically generating assembly tolerance types with an ontology-based approach