regular_shapes: Extend hexagon module
Allow the hexagon to be defined by the distance between sides, which is also the diameter of the inscribed circle.
This commit is contained in:
parent
f392483a80
commit
23dc11bc5f
|
@ -41,9 +41,12 @@ module pentagon(radius)
|
|||
reg_polygon(5,radius);
|
||||
}
|
||||
|
||||
module hexagon(radius)
|
||||
module hexagon(radius, diameter, across_flats)
|
||||
{
|
||||
reg_polygon(6,radius);
|
||||
r = radius;
|
||||
r = diameter ? diameter/2 : radius;
|
||||
r = across_flats ? across_flats/2/cos(30) : radius;
|
||||
reg_polygon(6,r);
|
||||
}
|
||||
|
||||
module heptagon(radius)
|
||||
|
@ -154,9 +157,11 @@ module pentagon_tube(height,radius,wall)
|
|||
tubify(radius,wall) pentagon_prism(height,radius);
|
||||
}
|
||||
|
||||
module hexagon_prism(height,radius)
|
||||
module hexagon_prism(height, radius, across_flats)
|
||||
{
|
||||
linear_extrude(height=height) hexagon(radius);
|
||||
r = radius;
|
||||
r = across_flats ? across_flats/2/cos(30) : radius;
|
||||
linear_extrude(height=height) hexagon(r);
|
||||
}
|
||||
|
||||
module hexagon_tube(height,radius,wall)
|
||||
|
|
Loading…
Reference in a new issue