more designs

This commit is contained in:
2020-12-15 14:00:31 +01:00
parent ef4b44f021
commit a277a02720
9 changed files with 250 additions and 0 deletions

44
CNC_T_nut.scad Normal file
View 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
View 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
View 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
View 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
View 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);
}
}

View 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
View 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
View 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);
}
}

6
temp.scad Normal file
View File

@@ -0,0 +1,6 @@
linear_extrude(30){
difference(){
circle(r=13.5);
circle(r=10);
}
}