/************************************************************************************* * * Linear Carriage Double Track Base Bracket * ************************************************************************************* * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHOR OR COPYRIGHT * HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * * IT IS NOT PERMITTED TO MODIFY THIS COMMENT BLOCK. * * (c)2016, Claude "Tryphon" Theroux, Montreal, Quebec, Canada * http://www.ctheroux.com/ * ************************************************************************************/ module m3Screw() { m3ScrewLength = 40; cylinder(h=m3ScrewLength, r=motorMountingHoleRadius); } module extrusionBracketStrengthener() { translate([0, 0, -extrusionBacketStrengthenerTickness / 2]) polyhedron (points = [[0, 0, 0], [0, extrusionBracketWidth, 0], [extrusionBracketWidth, 0, 0], [0, 0, extrusionBacketStrengthenerTickness], [0, extrusionBracketWidth, extrusionBacketStrengthenerTickness], [extrusionBracketWidth, 0, extrusionBacketStrengthenerTickness]], faces = [ [0, 2, 1], [3, 4, 5], [0, 1, 4], [0, 4, 3], [0, 3, 2], [3, 5, 2], [2 ,5, 4], [2, 4, 1] ] ); } module DoubleTrackBracket() { translate([-motorMountWidth / 2, -motorMountHeight / 2, 0]) union() { difference() { cube([motorMountWidth,motorMountHeight,motorMountTickness + extrusionBracketWidth]); translate([motorMountTickness, -motorMountHeight/2, motorMountTickness]) cube([motorMountWidth - 2 * motorMountTickness,motorMountHeight*2,motorMountTickness + extrusionBracketWidth]); translate([-5,10,extrusionBracketWidth / 2 + motorMountTickness]) rotate([0,90,0]) cylinder(r=extrusionMountingHoleRadius, h=motorMountWidth+10); translate([-5,motorMountHeight-10,extrusionBracketWidth / 2 + motorMountTickness]) rotate([0,90,0]) cylinder(r=extrusionMountingHoleRadius, h=motorMountWidth+10); } translate([motorMountWidth - motorMountTickness,motorMountHeight/2,motorMountTickness]) rotate([0, 270, 90]) extrusionBracketStrengthener(); translate([motorMountTickness,motorMountHeight/2,motorMountTickness]) rotate([0, 270, 270]) extrusionBracketStrengthener(); } }