shape_glued2circles


Returns shape points of two glued circles. They can be used with xxx_extrude modules of dotSCAD. The shape points can be also used with the built-in polygon module.

Dependencies: rotate_p, bezier_curve, shape_pie.

Parameters

  • radius : The radius of two circles.
  • centre_dist : The distance between centres of two circles.
  • tangent_angle : The angle of a tangent line. It defaults to 30 degrees. See examples below.
  • t_step : It defaults to 0.1. See bezier_curve for details.
  • $fa, $fs, $fn : Check the circle module for more details.

Examples

include <rotate_p.scad>;
include <bezier_curve.scad>;
include <shape_pie.scad>;
include <shape_glued2circles.scad>;

$fn = 36;

radius = 10;
centre_dist = 30;

shape_pts = shape_glued2circles(radius, centre_dist);
polygon(shape_pts); 

shape_glued2circles

include <rotate_p.scad>;
include <bezier_curve.scad>;
include <shape_pie.scad>;
include <shape_glued2circles.scad>;

$fn = 36;

radius = 10;
centre_dist = 30;

shape_pts = shape_glued2circles(radius, centre_dist);
width = centre_dist / 2 + radius;

rotate_extrude() difference() {    
    polygon(shape_pts);    

    translate([-width, -radius]) 
        square([width, radius * 2]);
}

shape_glued2circles

include <rotate_p.scad>;
include <bezier_curve.scad>;
include <shape_pie.scad>;
include <shape_glued2circles.scad>;

$fn = 36;

radius = 10;
centre_dist = 30;

shape_pts = shape_glued2circles(radius, centre_dist);
width = centre_dist + radius * 2;

rotate_extrude() 
    intersection() { 
        rotate(-90) polygon(shape_pts);    

        translate([radius / 2, 0]) 
            square([radius, width], center = true);
    }

shape_glued2circles