/************************************************************************************* * * Front mounting plate base * ************************************************************************************* * * 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 module wheelScrewHoles() { union() { translate([(mountingPlateWidth - finalWheelDistanceWidthDirection) / 2, (mountingPlateHeight - wheelDistanceHeightDirection) / 2, -mountingPlateTickness/2 ]) M5ScrewHole(); translate([(mountingPlateWidth + finalWheelDistanceWidthDirection) / 2, (mountingPlateHeight - wheelDistanceHeightDirection) / 2, -mountingPlateTickness/2 ]) M5ScrewHole(); translate([(mountingPlateWidth - finalWheelDistanceWidthDirection) / 2, (mountingPlateHeight + wheelDistanceHeightDirection) / 2, -mountingPlateTickness/2 ]) M5ScrewHole(); translate([(mountingPlateWidth + finalWheelDistanceWidthDirection) / 2, (mountingPlateHeight + wheelDistanceHeightDirection) / 2, -mountingPlateTickness/2 ]) M5ScrewHole(); } } module mountingHoles() { translate([(mountingPlateWidth - mountingHoleDistance) / 2, mountingPlateHeight / 2, -mountingPlateTickness/2 ]) M3ScrewHole(); translate([(mountingPlateWidth + mountingHoleDistance) / 2, mountingPlateHeight / 2, -mountingPlateTickness/2 ]) M3ScrewHole(); } module wheelScrewHeadHoles() { union() { translate([(mountingPlateWidth - finalWheelDistanceWidthDirection) / 2, (mountingPlateHeight - wheelDistanceHeightDirection) / 2, m5HoldingTickness]) cylinder(r=m5HeadRadius,h=m5HeadTickness + 2); translate([(mountingPlateWidth + finalWheelDistanceWidthDirection) / 2, (mountingPlateHeight - wheelDistanceHeightDirection) / 2, m5HoldingTickness]) cylinder(r=m5HeadRadius,h=m5HeadTickness + 2); translate([(mountingPlateWidth - finalWheelDistanceWidthDirection) / 2, (mountingPlateHeight + wheelDistanceHeightDirection) / 2, m5HoldingTickness]) cylinder(r=m5HeadRadius,h=m5HeadTickness + 2); translate([(mountingPlateWidth + finalWheelDistanceWidthDirection) / 2, (mountingPlateHeight + wheelDistanceHeightDirection) / 2, m5HoldingTickness]) cylinder(r=m5HeadRadius,h=m5HeadTickness + 2); } } difference() { union() { cube([mountingPlateWidth, mountingPlateHeight, mountingPlateTickness]); nutHolderDistance = -(nema17CaseSize / 2 + trackMotorDistance + trackWidth / 2) + mountingPlateWidth / 2; translate([nutHolderDistance, mountingPlateHeight / 2, plateExtrusionDistance + trackWidth / 2 + mountingPlateTickness]) rotate([90, 0, 0]) BrassNutBracket(5); } wheelScrewHoles(); mountingHoles(); // wheelScrewHeadHoles(); }