A non-transitory computer readable storage comprising instructions for a printer comprising a controller, a material feeder, and an extruder including a nozzle that, when executed by the controller, cause the controller to perform a method comprising: receiving a 3D model; based on the received 3D model, generating printing instructions configured to cause the material feeder and extruder to generate at least a portion of the 3D model, the printing instructions comprising one or more instructions configured to cause the material feeder and the extruder to print a plurality of layers by at least: rotating a tip of the nozzle of the extruder by a plurality of rotation angles, the tip comprising an opening configured to discharge material; modifying flow of the material when the tip of the nozzle is rotated; and executing the printing instructions to cause the material feeder and extruder to generate at least the portion of the 3D model; the non-transitory computer readable storage characterised in that: the one or more instructions are further configured to cause the nozzle to be rotated to trace a path along which the material is configured to be deposited, the path comprising a curve having inside and outside edges, and: the outside edge having a longer radius than the inside edge, and the one or more instructions are further configured to cause a decrease in a rate of flow of the material when the nozzle is configured to deposit the material while maintaining a substantially constant velocity at the outside edge; or the inside edge having a smaller radius than the outside edge, and the one or more instructions are further configured to cause an increase in a rate of flow of the material when the nozzle is configured to deposit the material while maintaining a substantially constant velocity at the inside edge. receiving a 3D model; based on the received 3D model, generating printing instructions configured to cause the material feeder and extruder to generate at least a portion of the 3D model, the printing instructions comprising one or more instructions configured to cause the material feeder and the extruder to print a plurality of layers by at least: rotating a tip of the nozzle of the extruder by a plurality of rotation angles, the tip comprising an opening configured to discharge material; modifying flow of the material when the tip of the nozzle is rotated; and rotating a tip of the nozzle of the extruder by a plurality of rotation angles, the tip comprising an opening configured to discharge material; modifying flow of the material when the tip of the nozzle is rotated; and executing the printing instructions to cause the material feeder and extruder to generate at least the portion of the 3D model; the non-transitory computer readable storage characterised in that: the one or more instructions are further configured to cause the nozzle to be rotated to trace a path along which the material is configured to be deposited, the path comprising a curve having inside and outside edges, and: the outside edge having a longer radius than the inside edge, and the one or more instructions are further configured to cause a decrease in a rate of flow of the material when the nozzle is configured to deposit the material while maintaining a substantially constant velocity at the outside edge; or the inside edge having a smaller radius than the outside edge, and the one or more instructions are further configured to cause an increase in a rate of flow of the material when the nozzle is configured to deposit the material while maintaining a substantially constant velocity at the inside edge. the outside edge having a longer radius than the inside edge, and the one or more instructions are further configured to cause a decrease in a rate of flow of the material when the nozzle is configured to deposit the material while maintaining a substantially constant velocity at the outside edge; or the inside edge having a smaller radius than the outside edge, and the one or more instructions are further configured to cause an increase in a rate of flow of the material when the nozzle is configured to deposit the material while maintaining a substantially constant velocity at the inside edge.