mirror of
https://github.com/JustinSDK/dotSCAD.git
synced 2025-08-20 13:31:30 +02:00
adjust head
This commit is contained in:
@@ -101,8 +101,8 @@ module head(angy_angz) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
module one_horn() {
|
module one_horn() {
|
||||||
translate([-10, -4, -1])
|
translate([-9, -4, -2])
|
||||||
rotate([40, -25, 0])
|
rotate([45, -25, 0])
|
||||||
linear_extrude(30, scale = 0.1, twist = -90)
|
linear_extrude(30, scale = 0.1, twist = -90)
|
||||||
translate([7.5, 0, 0])
|
translate([7.5, 0, 0])
|
||||||
circle(3, $fn = 4);
|
circle(3, $fn = 4);
|
||||||
@@ -119,13 +119,13 @@ module head(angy_angz) {
|
|||||||
rotate([90, 0, -90])
|
rotate([90, 0, -90])
|
||||||
sweep(paths2sections([path1, path2, path3, path4, path5]));
|
sweep(paths2sections([path1, path2, path3, path4, path5]));
|
||||||
|
|
||||||
translate([0, 0, -4])
|
translate([0, 0, -3.25])
|
||||||
rotate([90, 0, -90])
|
rotate([90, 0, -90])
|
||||||
ellipse_extrude(5.5, slices = 4)
|
ellipse_extrude(5.5, slices = 2)
|
||||||
polygon(
|
polygon(
|
||||||
shape_trapezium([5, 18],
|
shape_trapezium([5, 18],
|
||||||
h = 20,
|
h = 20,
|
||||||
corner_r = 3.25, $fn = 5)
|
corner_r = 2, $fn = 4)
|
||||||
);
|
);
|
||||||
|
|
||||||
mirror([1, 0, 0])
|
mirror([1, 0, 0])
|
||||||
@@ -135,23 +135,23 @@ module head(angy_angz) {
|
|||||||
polygon(
|
polygon(
|
||||||
shape_trapezium([5, 18],
|
shape_trapezium([5, 18],
|
||||||
h = 20,
|
h = 20,
|
||||||
corner_r = 3.25, $fn = 5)
|
corner_r = 2, $fn = 5)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
module one_eye() {
|
module one_eye() {
|
||||||
translate([-5, 2.6, -2])
|
translate([-5, 2.5, -2])
|
||||||
rotate([-10, 0, -25])
|
rotate([-5, -8, -10])
|
||||||
scale([1, 1, 2])
|
scale([1, 1, 1.75])
|
||||||
sphere(1.75, $fn = 5);
|
sphere(1.75, $fn = 6);
|
||||||
|
|
||||||
translate([-5.25, 3.5, -2.5])
|
translate([-5.1, 3.75, -2.25])
|
||||||
rotate([-15, 0, 75])
|
rotate([-25, 0, 75])
|
||||||
sphere(0.65, $fn = 7);
|
sphere(0.65, $fn = 6);
|
||||||
}
|
}
|
||||||
|
|
||||||
module one_beard() {
|
module one_beard() {
|
||||||
translate([-11.25, -12, -11])
|
translate([-11.15, -12, -10])
|
||||||
rotate(180)
|
rotate(180)
|
||||||
linear_extrude(8, scale = 0.2, twist = 90)
|
linear_extrude(8, scale = 0.2, twist = 90)
|
||||||
translate([-10, -10, 0])
|
translate([-10, -10, 0])
|
||||||
|
@@ -97,8 +97,8 @@ module hilbert_dragon() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
module one_horn() {
|
module one_horn() {
|
||||||
translate([-10, -4, -1])
|
translate([-9, -4, -2])
|
||||||
rotate([40, -25, 0])
|
rotate([45, -25, 0])
|
||||||
linear_extrude(30, scale = 0.1, twist = -90)
|
linear_extrude(30, scale = 0.1, twist = -90)
|
||||||
translate([7.5, 0, 0])
|
translate([7.5, 0, 0])
|
||||||
circle(3, $fn = 4);
|
circle(3, $fn = 4);
|
||||||
@@ -115,13 +115,13 @@ module hilbert_dragon() {
|
|||||||
rotate([90, 0, -90])
|
rotate([90, 0, -90])
|
||||||
sweep(paths2sections([path1, path2, path3, path4, path5]));
|
sweep(paths2sections([path1, path2, path3, path4, path5]));
|
||||||
|
|
||||||
translate([0, 0, -4])
|
translate([0, 0, -3.25])
|
||||||
rotate([90, 0, -90])
|
rotate([90, 0, -90])
|
||||||
ellipse_extrude(5.5, slices = 4)
|
ellipse_extrude(5.5, slices = 2)
|
||||||
polygon(
|
polygon(
|
||||||
shape_trapezium([5, 18],
|
shape_trapezium([5, 18],
|
||||||
h = 20,
|
h = 20,
|
||||||
corner_r = 3.25, $fn = 5)
|
corner_r = 2, $fn = 4)
|
||||||
);
|
);
|
||||||
|
|
||||||
mirror([1, 0, 0])
|
mirror([1, 0, 0])
|
||||||
@@ -131,23 +131,23 @@ module hilbert_dragon() {
|
|||||||
polygon(
|
polygon(
|
||||||
shape_trapezium([5, 18],
|
shape_trapezium([5, 18],
|
||||||
h = 20,
|
h = 20,
|
||||||
corner_r = 3.25, $fn = 5)
|
corner_r = 2, $fn = 5)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
module one_eye() {
|
module one_eye() {
|
||||||
translate([-5, 2.6, -2])
|
translate([-5, 2.5, -2])
|
||||||
rotate([-10, 0, -25])
|
rotate([-5, -8, -10])
|
||||||
scale([1, 1, 2])
|
scale([1, 1, 1.75])
|
||||||
sphere(1.75, $fn = 5);
|
sphere(1.75, $fn = 6);
|
||||||
|
|
||||||
translate([-5.25, 3.5, -2.5])
|
translate([-5.1, 3.75, -2.25])
|
||||||
rotate([-15, 0, 75])
|
rotate([-25, 0, 75])
|
||||||
sphere(0.65, $fn = 7);
|
sphere(0.65, $fn = 6);
|
||||||
}
|
}
|
||||||
|
|
||||||
module one_beard() {
|
module one_beard() {
|
||||||
translate([-11.25, -12, -11])
|
translate([-11.15, -12, -10])
|
||||||
rotate(180)
|
rotate(180)
|
||||||
linear_extrude(8, scale = 0.2, twist = 90)
|
linear_extrude(8, scale = 0.2, twist = 90)
|
||||||
translate([-10, -10, 0])
|
translate([-10, -10, 0])
|
||||||
@@ -176,6 +176,36 @@ module hilbert_dragon() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
module dragon() {
|
||||||
|
path_pts = helix(
|
||||||
|
radius = [r1, r2],
|
||||||
|
levels = levels,
|
||||||
|
level_dist = level_dist,
|
||||||
|
vt_dir = "SPI_DOWN",
|
||||||
|
rt_dir = "CLK",
|
||||||
|
$fn = 36
|
||||||
|
);
|
||||||
|
|
||||||
|
function __angy_angz(p1, p2) =
|
||||||
|
let(
|
||||||
|
dx = p2[0] - p1[0],
|
||||||
|
dy = p2[1] - p1[1],
|
||||||
|
dz = p2[2] - p1[2],
|
||||||
|
ya = atan2(dz, sqrt(dx * dx + dy * dy)),
|
||||||
|
za = atan2(dy, dx)
|
||||||
|
) [ya, za];
|
||||||
|
|
||||||
|
angy_angz = __angy_angz(path_pts[0], path_pts[1]);
|
||||||
|
|
||||||
|
scale(1.1)
|
||||||
|
along_with(path_pts, scale = 0.85, method = "EULER_ANGLE")
|
||||||
|
one_segment();
|
||||||
|
|
||||||
|
translate([19, 0, 65])
|
||||||
|
rotate([95, 0, 0])
|
||||||
|
head(angy_angz);
|
||||||
|
}
|
||||||
|
|
||||||
lines = hilbert_curve();
|
lines = hilbert_curve();
|
||||||
hilbert_path = dedup(
|
hilbert_path = dedup(
|
||||||
concat(
|
concat(
|
||||||
|
Reference in New Issue
Block a user