Please visit http://OpenSCAD.DIY3DTech.com for more information on this and many other projects! As in this episode we will be designing an alignment collar for the CNC to accuracy measure the movements in the X, Y and Z axis. Now this is semi parametric as the X/Y strut is user definable and because I made this a customizer in did want to get all “logic” based as I had issue with the Pegboard application. So I simply bound it by value. However with the code you can configure it as you want!
Also if your looking for USB Dial indicators (which recommend) for this, look no further as here they are: http://diy3dtech.com/usb-dial-indicator-kit/
If your looking for looking 3D Printer, Laser Cutter and CNC Swag (T-Shirts, Hats, Mugs, etc), please support the channel by visiting our online shop at: http://swag.DIY3DTech.com
Also subscribe to our parent YouTube Channel DIY3DTech.com YouTube Channel for 3D Printing, Laser Manufacturing and CNC Machining: http://YouTube.DIY3DTech.com
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 |
/* Open SCAD Name.: CNC_Indicator_Collar_v1.scad * Copyright (c)..: 2017 www.DIY3DTech.com * * Creation Date..: 08/03/2017 * Description....: Collar CNC Dial Indicator * * Rev 1: Develop Model * Rev 2: * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * This version is for non-comerical use only. */ /*------------------Customizer View-------------------*/ // preview[view:north, tilt:top] /*---------------------Parameters---------------------*/ //Dia of Spindle in mm (0.2mm is for contraction) spindle_dia = 65.2;//[50.2:1:75.2] //Wall Thickness in mm wall_Thick = 5;//[3:1:5] //Height of collar in mm collar_height = 40;//[40:1:50] //Lengeth of x mount in mm x_length = 90;//[100:2:200] //Lengeth of y mount in mm y_length = 70;//[100:2:200] //Lengeth of z mount in mm z_length = 20;//[10:1:30] //Mount width in mm (do not recommend chaging) mount_width = 18;//[18:1:20] /*-----------------------Execute----------------------*/ main_module(); /*-----------------------Modules----------------------*/ module main_module(){ //create module difference() { union() {//start union //crreate main body of collar translate ([0,0,0]) rotate ([0,0,0]) cylinder(collar_height,(spindle_dia+wall_Thick)/2,(spindle_dia+wall_Thick)/2,$fn=60,true); //create cinch tab translate ([spindle_dia/2,0,0]) rotate ([0,0,0]) cube([50,15,collar_height],true); //create x mounts translate ([-((spindle_dia+wall_Thick)/2)+(mount_width/2),-((spindle_dia+wall_Thick))+(spindle_dia/4),(collar_height/2)-2.5]) rotate ([0,0,0]) oblong(mount_width,x_length,5,0,6.4,true); //create x support translate ([-((spindle_dia+wall_Thick)/2)+(mount_width/2),-((spindle_dia+wall_Thick))+(spindle_dia/4)+10,(collar_height/2)-5]) rotate ([90,90,0]) cylinder(x_length,10/2,10/2,$fn=60,true); //create z mount translate ([(spindle_dia+mount_width+14)/2,5,-z_length-2.5]) rotate ([90,0,0])oblong(18,(z_length+collar_height),5,0,6.4,true); } //end union //start subtraction of difference //Differance center of collar translate ([0,0,0]) rotate ([0,0,0]) cylinder(collar_height*2,(spindle_dia)/2,(spindle_dia)/2,$fn=60,true); //create opening for cinch translate ([spindle_dia/2,0,0]) rotate ([0,0,0]) cube([52,5,collar_height+2],true); //create hole for cinch bolt translate ([(spindle_dia+25)/2,0,0]) rotate ([90,0,0]) cylinder(20,6.4/2,6.4/2,$fn=60,true); } //end difference }//end module module oblong(dia,len,tall,hole_1,hole_2,center){ difference() { union() { //create base oblong structure cube([dia,len,tall], center); translate ([0,len/2,0]) {cylinder(tall,dia/2,dia/2,$fn=60, center); } translate ([0,-len/2,0]) {cylinder(tall,dia/2,dia/2,$fn=60, center); } } //end union //if hole is greater than zero, remove hole otherwise do nothing if (hole_1>0) { translate ([0,len/2,-1]) {cylinder(tall+3,hole_1/2,hole_1/2,$fn=60, center); }} if (hole_2>0) { translate ([0,-len/2,-1]) {cylinder(tall+3,hole_2/2,hole_2/2,$fn=60, center); }} } //end differance }//end module /*----------------------End Code----------------------*/ |
More Ideas!
OpenSCAD – Designing a Compression Cover!
OpenSCAD – Designing a Pressure Fit Endcap!
Open SCAD – Complex Flange Designer!