A novel single-stroke path planning algorithm for 3D printers using continuous carbon fiber reinforced thermoplastics