/************************************************************************************* * * Nema 17 related stuff. * ************************************************************************************* * * 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/ * ************************************************************************************/ include // Overall bearing housing diameter bearingHousingTotalDiameter = bearing608ZZDiameter + bearingHousingTickness + printingTolerance; // Bearing housing height bearingHousingHeight = bearing608ZZTickness * 2 + bearingWasherTickness + bearingHousingExtraHeight; //////////////////////////////////////////////////////////////////////////////// // Bearing housing with an hole for the tool to tighten the screw // holding the mounting bracket on the extrusion. // module BearingHousingWithToolHole() { difference() { BearingHousing(pHeight = bearingHousingHeight, pTickness = bearingHousingTickness, pBearingDiameter = bearing608ZZDiameter); translate([-bearingHousingTotalDiameter / 2 - 1, 0, bearingHousingHeight / 2]) rotate([0, 90, 0]) cylinder(h=bearingHousingTotalDiameter + 2, r = 2); } } //////////////////////////////////////////////////////////////////////////////// // Mounting base // module MoutingBase() { union() { cube([bearingHousingTotalDiameter + (nema17CaseSize - bearingHousingTotalDiameter) / 2 + trackMotorDistance, bearingHousingTotalDiameter, mountingPlateTickness]); translate([bearingHousingTotalDiameter + (nema17CaseSize - bearingHousingTotalDiameter) / 2 + trackMotorDistance - mountingTabTickness, (bearingHousingTotalDiameter - trackTickness) / 2, mountingPlateTickness]) ExtrusionMountingTab(tabTickness = mountingTabTickness, tabWidth = trackTickness, tabHeight = mountingTabHeight); } } module BearingHousingMountingBracket() { difference() { union() { translate([-bearingHousingTotalDiameter / 2, -bearingHousingTotalDiameter /2 , 0]) MoutingBase(); translate([0, 0, mountingPlateTickness]) BearingHousingWithToolHole(); } } } BearingHousingMountingBracket();