A software architecture for a multi-axis additive manufacturing path-planning tool