more designs
This commit is contained in:
44
CNC_T_nut.scad
Normal file
44
CNC_T_nut.scad
Normal file
@@ -0,0 +1,44 @@
|
||||
printer_offset = 0.5;
|
||||
top_slot_width = 8;
|
||||
top_slot_height = 2;
|
||||
middle_slot_width = 14;
|
||||
middle_slot_height = 7;
|
||||
|
||||
length = 20;
|
||||
|
||||
module T_nut(){
|
||||
translate([-middle_slot_width/2, length/2, middle_slot_height-printer_offset])
|
||||
rotate([90, 0, 0])
|
||||
linear_extrude(length)
|
||||
offset(delta = -printer_offset/3)
|
||||
polygon(
|
||||
[
|
||||
[0,0],
|
||||
[0, -middle_slot_height],
|
||||
[middle_slot_width, -middle_slot_height],
|
||||
[middle_slot_width, 0],
|
||||
[middle_slot_width - (middle_slot_width - top_slot_width)/2, 0],
|
||||
[middle_slot_width - (middle_slot_width - top_slot_width)/2, top_slot_height],
|
||||
[middle_slot_width - (middle_slot_width - top_slot_width)/2 - top_slot_width, top_slot_height],
|
||||
[middle_slot_width - (middle_slot_width - top_slot_width)/2 - top_slot_width, 0]
|
||||
]
|
||||
);
|
||||
}
|
||||
|
||||
module cylinder_outer(height,radius,fn){
|
||||
fudge = 1/cos(180/fn);
|
||||
cylinder(h=height,r=radius*fudge, center=true, $fn=fn);}
|
||||
|
||||
module hex(size, height){
|
||||
cylinder_outer(height, size/2, 6);
|
||||
}
|
||||
|
||||
difference(){
|
||||
T_nut();
|
||||
cylinder(r=3+printer_offset/2, h=100, center=true, $fn=30);
|
||||
|
||||
translate([0,0,-0.3])
|
||||
rotate([0,0,30])
|
||||
hex(10, 10);
|
||||
}
|
||||
|
||||
37
cnc_controller_mount.scad
Normal file
37
cnc_controller_mount.scad
Normal file
@@ -0,0 +1,37 @@
|
||||
small_dist = 0.1;
|
||||
|
||||
depth = 20;
|
||||
width = 340;
|
||||
height = 152;
|
||||
thickness = 3;
|
||||
tab_width = 20;
|
||||
tab_hole_r = 2.5;
|
||||
|
||||
mount(depth, width, height, thickness);
|
||||
|
||||
module mount(depth, width, height, thickness){
|
||||
union(){
|
||||
tab(depth, tab_width, thickness, tab_hole_r);
|
||||
translate([(width+tab_width)/2, 0, -height])
|
||||
U(width, height, depth, thickness);
|
||||
translate([width+tab_width, 0, 0])
|
||||
tab(depth, tab_width, thickness, tab_hole_r);
|
||||
}
|
||||
}
|
||||
|
||||
module tab(depth, width, thickness, hole_r) {
|
||||
difference(){
|
||||
cube([width, depth, thickness], center=true);
|
||||
cylinder(r=hole_r, h=thickness+small_dist, center=true);
|
||||
}
|
||||
}
|
||||
|
||||
module U(width, height, depth, thickness){
|
||||
union(){
|
||||
cube([width+2*thickness, depth, thickness], center=true);
|
||||
translate([-(width+thickness)/2, 0, height/2])
|
||||
cube([thickness, depth, height], center=true);
|
||||
translate([(width+thickness)/2, 0, height/2])
|
||||
cube([thickness, depth, height], center=true);
|
||||
}
|
||||
}
|
||||
19
cnc_feet.scad
Normal file
19
cnc_feet.scad
Normal file
@@ -0,0 +1,19 @@
|
||||
|
||||
|
||||
//****************************************************************
|
||||
//* Name : Jack Feet *
|
||||
//* Author : Robert Joseph Korn *
|
||||
//* Notice : Copyright (c) 2015 Open Valley Consulting Corp *
|
||||
//* : All Rights Reserved *
|
||||
//* Date : 3/12/15 *
|
||||
//* Version : 1.0 *
|
||||
//* Notes : Simple feet to protect CNC table *
|
||||
//* : *
|
||||
//****************************************************************
|
||||
|
||||
bolt_dia = 6;
|
||||
|
||||
difference(){
|
||||
cylinder (r1=10,r2=(bolt_dia+2)/2,h=10, $fn=8);
|
||||
translate(v=[0,0,4]) cylinder(r=bolt_dia/2,h=8, $fn=50);
|
||||
}
|
||||
35
cutlery_divider.scad
Normal file
35
cutlery_divider.scad
Normal file
@@ -0,0 +1,35 @@
|
||||
wedge_thickness = 2;
|
||||
slots_x = 4;
|
||||
slots_y = 4;
|
||||
|
||||
x_outside = 56;
|
||||
y_outside = 68;
|
||||
|
||||
outside_offset = 2;
|
||||
outside_offset_seat = 1;
|
||||
seat_width = 1;
|
||||
|
||||
union(){
|
||||
linear_extrude(2){
|
||||
difference(){
|
||||
slot_width = (x_outside - 2 * outside_offset - (slots_x-1)*wedge_thickness) / slots_x;
|
||||
slot_height = (y_outside - 2 * outside_offset - (slots_y-1)*wedge_thickness) / slots_y;
|
||||
square(size=[x_outside, y_outside], center=false);
|
||||
translate([outside_offset, outside_offset, 0])
|
||||
for (i =[0:slots_y-1]){
|
||||
for (j = [0:slots_x-1]){
|
||||
translate([j*(slot_width+wedge_thickness), i*(slot_height+wedge_thickness), 0])
|
||||
square(size=[slot_width, slot_height], center=false);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
linear_extrude(5){
|
||||
translate([outside_offset_seat, outside_offset_seat])
|
||||
difference(){
|
||||
square(size=[x_outside-2*outside_offset_seat, y_outside-2*outside_offset_seat], center=false);
|
||||
translate([outside_offset_seat, outside_offset_seat, 0])
|
||||
square(size=[x_outside-2*outside_offset_seat-2*seat_width, y_outside-2*outside_offset_seat-2*seat_width], center=false);
|
||||
}
|
||||
}
|
||||
}
|
||||
53
mesh_knit_bag.scad
Normal file
53
mesh_knit_bag.scad
Normal file
@@ -0,0 +1,53 @@
|
||||
|
||||
linear_extrude(1)
|
||||
pattern(1000, 1, 4){
|
||||
// square(size=[50, 50], center=true);
|
||||
scale_uniform(3){
|
||||
import("/home/bart/Downloads/laura_bag_1.svg");
|
||||
}
|
||||
}
|
||||
|
||||
module pattern(mesh_size, line_width, spacing){
|
||||
union(){
|
||||
intersection(){
|
||||
mesh(mesh_size, line_width, spacing);
|
||||
children(0);
|
||||
}
|
||||
// calculate border
|
||||
difference(){
|
||||
children(0);
|
||||
offset(r=-line_width){
|
||||
children(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module mesh(size, line_width, spacing){
|
||||
// Note that mesh always has to be even.
|
||||
// This translates into the first lines being perfectly centered.
|
||||
|
||||
// Start by calculating amount of spacings
|
||||
n_size = (size-line_width)/(line_width+spacing);
|
||||
|
||||
step = line_width + spacing;
|
||||
for(i=[0:n_size/2]){
|
||||
// vertical lines
|
||||
translate([i*step, 0, 0])
|
||||
square(size=[line_width, size], center=true);
|
||||
translate([-i*step, 0, 0])
|
||||
square(size=[line_width, size], center=true);
|
||||
|
||||
// horizontal lines
|
||||
translate([0, i*step, 0])
|
||||
square(size=[size, line_width], center=true);
|
||||
translate([0, -i*step, 0])
|
||||
square(size=[size, line_width], center=true);
|
||||
}
|
||||
}
|
||||
|
||||
module scale_uniform(my_scale){
|
||||
scale([my_scale, my_scale]){
|
||||
children(0);
|
||||
}
|
||||
}
|
||||
36
ratchet_wrench_extension_holder.scad
Normal file
36
ratchet_wrench_extension_holder.scad
Normal file
@@ -0,0 +1,36 @@
|
||||
angle = 120;
|
||||
thickness = 4;
|
||||
diam_offset = 1;
|
||||
$fn=100;
|
||||
|
||||
module arm(inner_radius, angle, thickness){
|
||||
rotate_extrude(angle=angle){
|
||||
translate([inner_radius+thickness/2,0,0]) square(size=[thickness, thickness], center=true);
|
||||
}
|
||||
}
|
||||
|
||||
module grasp(inner_radius, angle, thickness){
|
||||
arm(inner_radius, angle, thickness);
|
||||
mirror([0, 1, 0]) {
|
||||
arm(inner_radius, angle, thickness);
|
||||
}
|
||||
}
|
||||
|
||||
grasp(8+diam_offset/2, angle, thickness);
|
||||
translate([1.5, 25,0]) grasp(6.12+diam_offset/2, angle, thickness);
|
||||
translate([3, 46,0]) grasp(4.25+diam_offset/2, angle, thickness);
|
||||
|
||||
translate([16,23,15-thickness/2])
|
||||
difference(){
|
||||
cube(size=[thickness, 60, 30], center=true);
|
||||
|
||||
translate([0,10,0])
|
||||
rotate([0,90,0])
|
||||
cylinder(r=2, h=10, center=true);
|
||||
translate([0,-10,0])
|
||||
rotate([0,90,0])
|
||||
cylinder(r=2, h=10, center=true);
|
||||
}
|
||||
|
||||
translate([12, 23, 0])
|
||||
cube(size=[thickness, 60, 4], center=true);
|
||||
9
rod.scad
Normal file
9
rod.scad
Normal file
@@ -0,0 +1,9 @@
|
||||
diam = 12.5;
|
||||
difference()
|
||||
{
|
||||
translate([0,0,4.5])
|
||||
rotate([90,0,0])
|
||||
cylinder(r=diam/2, h=200, center=true, $fn=100);
|
||||
translate([0,0,-250])
|
||||
cube(size=[500, 500, 500], center=true);
|
||||
}
|
||||
11
rod_cap.scad
Normal file
11
rod_cap.scad
Normal file
@@ -0,0 +1,11 @@
|
||||
thickness = 2;
|
||||
inside = 12.5;
|
||||
$fn=100;
|
||||
|
||||
union(){
|
||||
difference(){
|
||||
cylinder(r=inside/2+thickness, h=10, center=true);
|
||||
translate([0,0,thickness])
|
||||
cylinder(r=inside/2, h=10, center=true);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user