mirror of
https://github.com/JustinSDK/dotSCAD.git
synced 2025-01-17 22:28:16 +01:00
2.1 KiB
2.1 KiB
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);
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]);
}
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);
}