CNC-Cog
view release on metacpan or search on metacpan
The new function of the Grahamwheel class needs to passed a hash with some
or all of the following parameters:
lift If a flat tooth top is used then this parameter can be
used to increase the height of the trailing edge of the
tooth top.
nteeth How many teeth to have.
externald The external diameter of the wheel.
toothdepth How deep the spaces between teeth should be.
toothtop Size in degrees of the top of the tooth.
toothtoppc Alternatively, size as a percentage of 1 tooth-and-gap.
toothbase Size in degrees of the tooth at the base
toothbasepc Alternatively, size as % of tooth-and-gap.
offset In degrees of top of tooth from bottom.
holesize If set, gives a hole at center of wheel.
topshape Should be one of the following strings:
flat Gives a flat tooth top
circ Similar to flat, but give a circular
shape centered on the wheel center. As
This is a large distance, this is nearly
flat. Flat may work better with the lift
parameter set.
bicirc Two approx quarter circles are used with
a flat piece in between them
circlead The leading edge only is rounded.
circtrail The trailing edge only is rounded
semi A (near) semi circle of the right diameter
is used.
toothradius The radius used in bicirc, circlead and circtrail
toothradiuspc Alternative using percentage of tooth-and-gap
filletradius radius used at botto of tooth. Must be greater than cutter
radius.
=head4 cut
The cut function takes an optional extra rotation parameter theta as well as
conventional x,y and z parameters. See below.
=head3 Grahamyoke
point.
holesize Diameter of a hole (if any) place at the pivot point.
leradius Leading edge radius, if any. (Otherwise, sharp) Trailing edge
is always sharp.
droopangle Angle that yoke top makes with horizontal.
Quantities marked cosmetic are cosmetic only in the sense that they do not
affect opperation directly. The inner radii need to be bigger than the cutter
as otherwise cutting will not be possible. All of these as well as being
specified in arbitrary units in the normal way, may also be specified
as percent in which case this is taken as percent of armwidth. For example
"120%"
Where angles are supplied, these can be supplied in radians by appending an r
to the value:
"1.01r"
Such values are lift angle droopangle
The Graham wheel and yoke are in a more experimental state than the rest of
the code. The code below is the code I used:
my $nteeth=40;
my $w=new Grahamwheel({
nteeth=>$nteeth,
externald=>1.75,
toothdepth=>0.1,
offset=>2, # degrees
toothbase=>30, # percent of whole tooth gap.
toothtoppc=>8, # percent of whole tooth gap, ie of 360/nteeth
toothradiuspc=>50,
lift=>0.00, # inches
filletradius=>0.033, # radius used to cut tooth gap, in
# inches, should be just greater than cutter.
holesize=>5/32,
topshape=>'semi'});
my $sheetthickness=0.135; # Nominally an 1/8 inch sheet, Make slightly more
# to get a clean cut
( run in 0.334 second using v1.01-cache-2.11-cpan-709fd43a63f )