Advertisements

Archive for December 20th, 2017

MPCNC: GCMC Text vs. Speed

GCMC includes single-stroke fonts derived from Hershey fonts, so I added a legend to the Spirograph Shakedown generator:

MPCNC - GCMC Text - 3000 mm-min

MPCNC – GCMC Text – 3000 mm-min

Obviously, plotting 2.5 mm tall characters at 3000 mm/min = 50 mm/s isn’t a Good Idea on a less-than-absolutely-rigid CNC machine.

Slowing down to 250 mm/min = 4.2 mm/s producesĀ much better results:

MPCNC - GCMC Text - 250 mm-min

MPCNC – GCMC Text – 250 mm-min

A closer look, albeit with less-than-crisp focus:

MPCNC - GCMC Text - 250 mm-min - detail

MPCNC – GCMC Text – 250 mm-min – detail

This isn’t a conclusive test, but it reminds me that Speed Kills.

The green plotter pen started life with a standard 0.3 mm felt nib, but it’s worn somewhat wider over the intervening years decades. Those 2.5 mm characters would look better coming from a narrow ceramic pen, which would require a pen change before doing the legend; using 4 mm characters would produce better results.

The line spacing is 110% of the font X height, which obviously isn’t quite enough. Something on the order of 150% should look better.

This GCMC code (including those mods) produces the legend:

feedrate(250mm);

textsize = [4.0mm,4.0mm];
textat = [0.5*PlotSize.x/2,-PlotSize.y/2 + 2*textsize.y];

textpath = typeset("Seed: " + PRNG_Seed + "  Stator: " + StatorTeeth + "  Rotor: " + RotorTeeth,FONT_HSANS_1);
scalepath = scale(textpath,textsize);
placepath = scalepath + textat;
engrave(placepath,1.0mm,-1.0mm);

textpath = typeset("Offset: " + L + "  Lobes: " + Lobes + "  Turns: " + Turns,FONT_HSANS_1);
scalepath = scale(textpath,textsize);
placepath = scalepath + textat + [-,-1.5*textsize.y];
engrave(placepath,1.0mm,-1.0mm);
Advertisements

,

2 Comments