For 2 colours:
In PrusaSlicer. Pause print at suitable hight. When printer pauses, change filament and continue.
Made and rendered in Fusion 360.
The author marked this model as their own original creation.