From 442d4b48308ef441971aab0323c322af54d1dd01 Mon Sep 17 00:00:00 2001 From: finga Date: Sat, 11 Jan 2025 21:22:22 +0100 Subject: [PATCH] First sketch of a pen plotter prototype --- pen_plotter.scad | 62 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 pen_plotter.scad diff --git a/pen_plotter.scad b/pen_plotter.scad new file mode 100644 index 0000000..881f6be --- /dev/null +++ b/pen_plotter.scad @@ -0,0 +1,62 @@ +$fn = 100; + +module floor() { + translate([0, 0, -10]) + cube([250, 250, 10]); +} + +module stand() { + translate([100, 180, 0]) + cube([80, 30, 120]); + translate([100, 40, 0]) + cube([80, 30, 120]); + translate([140, 40, 120]) + cube([40, 30, 40]); +} + +module rotation_motor() { + translate([100, 150, 40]) + cube([40, 30, 40]); +} + +module linear_motor() { + translate([140, 180, 120]) + cube([40, 30, 40]); +} + +module tape() { + translate([120, 145, 60]) { + rotate([90, 0, 0]) { + difference() { + cylinder(30, 50, 50); + cylinder(30, 40, 40); + } + } + } +} + +module linear_shafts() { + translate([160, 180, 140]) + rotate([90, 0, 0]) + cylinder(110, 3.5, 3.5); + translate([170, 180, 110]) + rotate([90, 0, 0]) + cylinder(110, 3.5, 3.5); +} + +module sled() { + translate([150, 130, 100]) + cube([30, 20, 50]); +} + +color([0,0,0]) floor(); + +stand(); +sled(); + +color([0,1,0]) { + rotation_motor(); + linear_motor(); + linear_shafts(); + tape(); +}