From: <adr...@us...> - 2011-01-25 22:33:35
|
Revision: 4015 http://reprap.svn.sourceforge.net/reprap/?rev=4015&view=rev Author: adrian-bowyer Date: 2011-01-25 22:33:29 +0000 (Tue, 25 Jan 2011) Log Message: ----------- More messing about with the OpenSCAD Huxley design. Modified Paths: -------------- trunk/huxley/OpenSCAD-huxley/library.scad Added Paths: ----------- trunk/huxley/OpenSCAD-huxley/x_axis_z_nut_holder_and_z_zero_adjuster.scad Removed Paths: ------------- trunk/huxley/OpenSCAD-huxley/x_axis_z_nut_holder.scad Modified: trunk/huxley/OpenSCAD-huxley/library.scad =================================================================== --- trunk/huxley/OpenSCAD-huxley/library.scad 2011-01-25 16:01:19 UTC (rev 4014) +++ trunk/huxley/OpenSCAD-huxley/library.scad 2011-01-25 22:33:29 UTC (rev 4015) @@ -11,25 +11,38 @@ /* This makes an angled strut in space between two points. It is parallel to one of the coordinate planes, which means that one coordinate of the two endpoints must be the same. +*/ +module strut_block(da, db, wide, deep, round=true) +{ + translate([-wide/2,-deep/2,0]) + cube([wide, deep, sqrt(da*da + db*db)]); +} -module strut(p1=[0,0,0], p2=[0,0,1], deep = 5, wide = 10) +module strut(p1=[0,0,0], p2=[0,0,1], wide = 10, deep = 5, round=true) { if(abs(p1.x - p2.x) < 0.00001) { - + translate(p1) + rotate([atan2(p2.z - p1.z, p2.y - p1.y), 0, 0]) + rotate([-90,0,0]) + rotate([0,0,90]) + strut_block(p2.y - p1.y, p2.z - p1.z, wide, deep); } else if(abs(p1.y - p2.y) < 0.00001) { - + translate(p1) + rotate([0,atan2( p2.x - p1.x, p2.z - p1.z), 0]) + strut_block(p2.x - p1.x, p2.z - p1.z, wide, deep); } else { - - cube([sqrt( - + translate(p1) + rotate([0,0,atan2(p2.y - p1.y, p2.x - p1.x)]) + rotate([0,90,0]) + strut_block(p2.x - p1.x, p2.y - p1.y, wide, deep); } } -*/ + /* This gives either a NEMA 14 stepper motor or its mounting holes. @@ -282,4 +295,6 @@ //pentanut(); -//nema14(body = true, counterbore = -1); \ No newline at end of file +//nema14(body = true, counterbore = -1); + +//strut(p1=[20,10,20], p2=[20, 60, 40], wide=10, deep=5); \ No newline at end of file Deleted: trunk/huxley/OpenSCAD-huxley/x_axis_z_nut_holder.scad =================================================================== --- trunk/huxley/OpenSCAD-huxley/x_axis_z_nut_holder.scad 2011-01-25 16:01:19 UTC (rev 4014) +++ trunk/huxley/OpenSCAD-huxley/x_axis_z_nut_holder.scad 2011-01-25 22:33:29 UTC (rev 4015) @@ -1,70 +0,0 @@ -include <parameters.scad>; -use <library.scad>; - -clamp_holes=13; - -module x_axis_z_nut_holder() -{ - difference() - { - cube([20,50,7], center=true); - cylinder(r=rodsize/1.8, h= rodsize*10, center=true); - translate([10,0,0]) - cube([20,2*rodsize/1.8,30], center=true); - - translate([0,x_bar_gap/2,7/2]) - rotate([0,90,0]) - cylinder(r=rodsize/2, h= rodsize*10, center=true); - - translate([0,-x_bar_gap/2,7/2]) - rotate([0,90,0]) - cylinder(r=rodsize/2, h= rodsize*10, center=true); - - for(a = [1, -1]) - for(b = [1, -1]) - for(c = [1, -1]) - translate([a*clamp_holes/2,b*x_bar_gap/2+c*clamp_holes/2,0]) - cylinder(r=screwsize/2, h= rodsize*10, center=true, $fn=15); - translate([0,0,7/2]) - rodnut(position=0,washer=0); - } -} - -stretch=1.5; - -module z_height_adjuster() -{ - difference() - { - union() - { - scale([1,1,stretch]) - rotate([0,45,0]) - difference() - { - cube([30,8,30],center=true); - cube([24,20,24],center=true); - } - translate([15*sqrt(2)-2,0,0]) - cube([5,8,8],center=true); - - translate([-15*sqrt(2)+2,0,0]) - cube([5,8,8],center=true); - - translate([0,0,stretch*(15*sqrt(2)-2)]) - cube([20,20,5],center=true); - - translate([0,0,stretch*(-15*sqrt(2)+2)]) - cube([20,20,5],center=true); - } - translate([-50,0,0]) - rotate([90,0,0]) - rotate([0,90,0]) - teardrop(r=screwsize/2,h=100,truncateMM=-1); - } -} - -x_axis_z_nut_holder(); - -translate([0,25,0]) -z_height_adjuster(); \ No newline at end of file Added: trunk/huxley/OpenSCAD-huxley/x_axis_z_nut_holder_and_z_zero_adjuster.scad =================================================================== --- trunk/huxley/OpenSCAD-huxley/x_axis_z_nut_holder_and_z_zero_adjuster.scad (rev 0) +++ trunk/huxley/OpenSCAD-huxley/x_axis_z_nut_holder_and_z_zero_adjuster.scad 2011-01-25 22:33:29 UTC (rev 4015) @@ -0,0 +1,86 @@ +include <parameters.scad>; +use <library.scad>; + +clamp_holes=13; + +module x_axis_z_nut_holder() +{ + difference() + { + cube([20,50,7], center=true); + cylinder(r=rodsize/1.8, h= rodsize*10, center=true); + translate([10,0,0]) + cube([20,2*rodsize/1.8,30], center=true); + + translate([0,x_bar_gap/2,7/2]) + rotate([0,90,0]) + cylinder(r=rodsize/2, h= rodsize*10, center=true); + + translate([0,-x_bar_gap/2,7/2]) + rotate([0,90,0]) + cylinder(r=rodsize/2, h= rodsize*10, center=true); + + for(a = [1, -1]) + for(b = [1, -1]) + for(c = [1, -1]) + translate([a*clamp_holes/2,b*x_bar_gap/2+c*clamp_holes/2,0]) + cylinder(r=screwsize/2, h= rodsize*10, center=true, $fn=15); + translate([0,0,7/2]) + rodnut(position=0,washer=0); + } +} + +stretch=1.5; +halfwidth=12; + +module z_height_adjuster() +{ + difference() + { + union() + { + union() + { + strut(p1=[-halfwidth,0,0], p2=[-10,0,stretch*halfwidth], wide = 3, deep = 8); + strut(p1=[halfwidth,0,0], p2=[10,0,stretch*halfwidth], wide = 3, deep = 8); + strut(p1=[-halfwidth,0,0], p2=[0,0,-stretch*halfwidth], wide = 3, deep = 8); + strut(p1=[halfwidth,0,0], p2=[0,0,-stretch*halfwidth], wide = 3, deep = 8); + } + translate([halfwidth,0,0]) + cube([5,8,8],center=true); + + translate([-halfwidth,0,0]) + cube([5,8,8],center=true); + + translate([0,-6,stretch*halfwidth]) + { + difference() + { + cube([25,20,5],center=true); + for(a = [1, -1]) + for(b = [1, -1]) + translate([a*clamp_holes/2,b*clamp_holes/2,-5*rodsize]) + rotate([0,0,90]) + teardrop(r=screwsize/2, h= rodsize*10, truncateMM=-1); + + } + } + + translate([0,0,-stretch*halfwidth]) + cube([10,8,5],center=true); + } + rotate([90,0,0]) + rotate([0,90,0]) + { + translate([0,0,-50]) + teardrop(r=screwsize/2,h=100,truncateMM=-1); + translate([0,0,halfwidth+20]) + pentanut(height=10); + } + } +} + +x_axis_z_nut_holder(); + +translate([0,20,-stretch*halfwidth-15]) +z_height_adjuster(); \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |