I've been trying out the aiToon shader and am getting closer to the effect I would like.
There are quite a few settings inside of the shader itself and also a way to adjust the lines in the render settings. There seems to be limited information about how to best use the shader, though Arnold have a good page that describes the settings. Aside from a few problems, this shader is proving to be very useful.
This is how the shader rendered when applied without adjusting the settings. It hasn't affected the way shadows show on the object, but it has added some lines.
I started with adding a ramp to the tonemap on the base and adjusting it, as well as changing the edge width scaling and angle threshold.
After adding the correct colours and adjusting these settings I am quite pleased with this initial test. The main issue I am having is that the width of the lines doesn't behave how I would like when the camera moves. These two renders were taken with the same settings, but the camera is in a different position. Unfortunately, the line width doesn't scale with the rest of the model, which looks quite strange, especially the more extreme the change is.
I am not sure if there is a quick fix for this, I have had a bit of a look around without much luck. If not, I am wondering if there is something more involved that I can plug in to the width scaling that will solve the issue.