Git Product home page Git Product logo

snappy-reprap's Introduction

Snappy Full Rendering

Snappy-Reprap 3

A parametric design for a cheap self-replicating 3D printer (reprap) that snaps together to minimize screws and non-printed parts.

Important Links:

What URL
GitHub Repository https://github.com/revarbat/snappy-reprap
Project Wiki https://github.com/revarbat/snappy-reprap/wiki/v3.0-Home
Bill of Materials https://github.com/revarbat/snappy-reprap/wiki/v3.0-BOM
How to Assemble https://github.com/revarbat/snappy-reprap/wiki/v3.0-Assembly
RepRap.org Wiki Page http://reprap.org/wiki/Snappy
Dev Forum https://groups.google.com/forum/#!forum/snappy-reprap-dev

Join the chat at https://gitter.im/revarbat/snappy-reprap

Generating STL Files

For all platforms, you will need to have OpenSCAD installed. You can download OpenSCAD from their website at http://www.openscad.org

To insure the best fit of parts, print the slop calibrator STL file on the parent printer using the desired print settings. Then update the printer_slop variable in the config.scad file on line 130. Then proceed to generating STL files.

OS X:

Under OS X, you'll need to make sure you have the Xcode command-line tools installed first. You can get them by installing Xcode from the App Store.

You shouldn't need to change the Makefile. It should set $OPENSCAD as:

OPENSCAD=/Applications/OpenSCAD.app/Contents/MacOS/OpenSCAD

To generate the STL model files, open a terminal to the snappy-reprap directory and type:

make

Linux:

Under Linux, you will need to edit the Makefile, and change $OPENSCAD to:

OPENSCAD=openscad

To generate the STL model files, open a terminal to the snappy-reprap directory and type:

make

Windows:

Under Windows, you'll probably have to open and compile each *_parts.scad file individually and manually export the STL files.

You might be able to run the makefile under CygWin, if you set $OPENSCAD to something like:

OPENSCAD="/Program Files/OpenSCAD/openscad.exe"

snappy-reprap's People

Contributors

dorkmo avatar gitter-badger avatar revarbat avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

snappy-reprap's Issues

YZ Joiner cable hole problem with crossbeam style walls

Hi,
I am experiencing lots of shrinkage with the default STLs, so I switch the wall styling and noticed YZ joiner has a problem with crossbeam style walls. The hole is too large and causes the beams not to meet. To be honest, I don't think the hole is needed if you've chosen crossbeam walls.

Lines 98-100 of YZ joiner parts should be wrapped in a conditional
https://github.com/revarbat/snappy-reprap/blob/master/yz_joiner_parts.scad#L98#L100

Something like:

// Wiring access hole
if (wall_style != "crossbeams") {
    up(rail_thick+rail_height/4/2) {
      cube([16, joiner_width*3, rail_height/4], center=true);
    }
}

firmware issue?

please note that this is my FIRST yes, FIRST printer (got the parts printed out from a person that I know)
I got a snappy 1.5 and snappy 2.0 downloaded those two. printed some of them ( I was printing the 1.5 and 2.0 version files at the same time mixing everything up does anybody know which parts have changed? I think that the extruder platform got extremely light.) okay, the real deal of this problem is that I installed the hex file firmware on ardunio mega before adding the ramps shield. after that I installed everything except the motors and the end stop switches and the heabed thermistor and power (of course I did installed the motor drivers on the right place!) I added a full graphics controller module (of course I did installed the firmware that says the full graphics control module and) linked it into a 350w smps and booted it up. one the controller the first screen popped and then it auto-resets by itself. what???? I looked at the .diff file that was attached and tried to copy the firmware on marlin but I couldn't because after some of the lines there was some lines that I cannot find and after that I was back to square one. is there any way to fix this? (btw is it safe to use this heatbed on this printer because it looks like the diff file says that it decreases the heat bed heating speed at a half-but why? and do you need to change the firmware when you make your printer bigger for bigger print volume? is there any stl file that I can get so that I can add a v6 hotend? I don't just cant get why this uses a mk4 nozzle)
Thanks and sorry for the long writing. (just a Korean middle school student working on a project that I am interested in)

Can't join lifter rods

I broke 4 lifter rods trying to join them together. I'm back to 0/4 lifter rods that I can use after a full day of printing. There is not enough clearance to fit the rod into another rod. I even tried sanding inside the hole and the fitting beforehand and adding lubricant as well. I can only insert the piece about half way in before it snaps off. A tremendous amount of pressure and rocking was needed to even get it that far. Is there something I'm missing?

BUG: Adjustment Screws -> Z sled needs other dimensions as build platform

Hi

I printed a set of adjustment screws with my sloppy value and they are working fine in the build platform and are nice and tight but still usable.

However i could not risk using these in the z Rail connectors. They where to tight!

To get a good fit there i had to scale them a bit. 98 % shrinkage in x and y direction. Keep the z.

Then they fit into the z parts and work as expected.

include slop calibrator in the instructions

so after printing basically an entire x or y segment (motor+2 rails, 3 carriage pieces and bed mount parts) i opened the slop calibrator file and found that its not some new(to me) bed leveling thing but in fact for calibrating the files to the printer somehow. maybe there could be some mention of what to do with it for those who arent necessarily familiar with openscad as like, step one of the instructions?

Scale model?

Would it be possible to virtually build the printer at a size that can be printed out? It would make a neat desktop toy.

Is the animated graphic rendered from a design file somewhere?

Motor resize doesn't seem right...

I have a bunch of NEMA 23 style motors that I was give... so I was trying to adjust the plans to with with those.

I replaced all calls to nema_motor_...(17) with nema_motor_...(23), which seems to have increased the space available to account for the bigger motors... however z_base_parts.stl the legs intersect the motor housing...
image

Is there something else I need to do? Or do I need to make changes in the plans to allow this change?
Cheers
Nigel
BTW... what a great idea for a project... Nice work! Well done for sharing what you have.

Make errors.

./stl_normalize.py -c STLs/bridge_segment_parts.stl -o STLs/bridge_segment_parts.stl
/Applications/OpenSCAD.app/Contents/MacOS/OpenSCAD -m make -o STLs/cable_chain_link_parts.stl cable_chain_link_parts.scad
WARNING: rx was assigned on line 402 of "GDMUtils.scad" but was overwritten on line 404
WARNING: ry was assigned on line 403 of "GDMUtils.scad" but was overwritten on line 405
WARNING: variable center not specified as parameter, in file cable_chain.scad, line 16
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: variable center not specified as parameter, in file cable_chain.scad, line 16
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: variable center not specified as parameter, in file cable_chain.scad, line 16
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: variable center not specified as parameter, in file cable_chain.scad, line 16
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: variable center not specified as parameter, in file cable_chain.scad, line 16
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: variable center not specified as parameter, in file cable_chain.scad, line 16
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: variable center not specified as parameter, in file cable_chain.scad, line 16
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: variable center not specified as parameter, in file cable_chain.scad, line 16
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: variable center not specified as parameter, in file cable_chain.scad, line 16
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: variable center not specified as parameter, in file cable_chain.scad, line 16
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: variable center not specified as parameter, in file cable_chain.scad, line 16
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: variable center not specified as parameter, in file cable_chain.scad, line 16
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: variable center not specified as parameter, in file cable_chain.scad, line 16
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: variable center not specified as parameter, in file cable_chain.scad, line 16
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: variable center not specified as parameter, in file cable_chain.scad, line 16
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: variable center not specified as parameter, in file cable_chain.scad, line 16
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
./stl_normalize.py -c STLs/cable_chain_link_parts.stl -o STLs/cable_chain_link_parts.stl
/Applications/OpenSCAD.app/Contents/MacOS/OpenSCAD -m make -o STLs/cable_chain_mount_parts.stl cable_chain_mount_parts.scad
WARNING: rx was assigned on line 402 of "GDMUtils.scad" but was overwritten on line 404
WARNING: ry was assigned on line 403 of "GDMUtils.scad" but was overwritten on line 405
WARNING: Ignoring unknown variable '$do_prerender', in file GDMUtils.scad, line 7.
WARNING: variable center not specified as parameter, in file cable_chain.scad, line 16
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Ignoring unknown variable '$do_prerender', in file GDMUtils.scad, line 7.
WARNING: variable center not specified as parameter, in file cable_chain.scad, line 16
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Ignoring unknown variable '$do_prerender', in file GDMUtils.scad, line 7.
WARNING: variable center not specified as parameter, in file cable_chain.scad, line 16
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Ignoring unknown variable '$do_prerender', in file GDMUtils.scad, line 7.
WARNING: variable center not specified as parameter, in file cable_chain.scad, line 16
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: variable center not specified as parameter, in file cable_chain.scad, line 16
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: variable l not specified as parameter, in file cable_chain_mount_parts.scad, line 94
WARNING: Ignoring unknown variable '$do_prerender', in file GDMUtils.scad, line 7.
WARNING: variable center not specified as parameter, in file cable_chain.scad, line 16
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: Too many unnamed arguments supplied, in file GDMUtils.scad, line 857
WARNING: variable l not specified as parameter, in file cable_chain_mount_parts.scad, line 123
./stl_normalize.py -c STLs/cable_chain_mount_parts.stl -o STLs/cable_chain_mount_parts.stl
/Applications/OpenSCAD.app/Contents/MacOS/OpenSCAD -m make -o STLs/compression_screw_parts.stl compression_screw_parts.scad
WARNING: rx was assigned on line 402 of "GDMUtils.scad" but was overwritten on line 404
WARNING: ry was assigned on line 403 of "GDMUtils.scad" but was overwritten on line 405
./stl_normalize.py -c STLs/compression_screw_parts.stl -o STLs/compression_screw_parts.stl
/Applications/OpenSCAD.app/Contents/MacOS/OpenSCAD -m make -o STLs/cooling_fan_shroud_parts.stl cooling_fan_shroud_parts.scad
WARNING: rx was assigned on line 402 of "GDMUtils.scad" but was overwritten on line 404
WARNING: ry was assigned on line 403 of "GDMUtils.scad" but was overwritten on line 405
WARNING: Ignoring unknown variable '$do_prerender', in file GDMUtils.scad, line 7.
WARNING: variable center not specified as parameter, in file GDMUtils.scad, line 914
WARNING: variable center not specified as parameter, in file GDMUtils.scad, line 915
WARNING: variable center not specified as parameter, in file GDMUtils.scad, line 918
WARNING: variable center not specified as parameter, in file GDMUtils.scad, line 919
./stl_normalize.py -c STLs/cooling_fan_shroud_parts.stl -o STLs/cooling_fan_shroud_parts.stl
/Applications/OpenSCAD.app/Contents/MacOS/OpenSCAD -m make -o STLs/drive_gear_parts.stl drive_gear_parts.scad
WARNING: rx was assigned on line 402 of "GDMUtils.scad" but was overwritten on line 404
WARNING: ry was assigned on line 403 of "GDMUtils.scad" but was overwritten on line 405
WARNING: Ignoring unknown variable '$do_prerender', in file GDMUtils.scad, line 7.
./stl_normalize.py -c STLs/drive_gear_parts.stl -o STLs/drive_gear_parts.stl
NON-MANIFOLD DUPLICATE FACE! STLs/drive_gear_parts.stl: [4.585, 10.733, 10.45] - [5.279, 10.408, 9] - [5.28, 10.408, 9]
NON-MANIFOLD DUPLICATE FACE! STLs/drive_gear_parts.stl: [-4.585, -10.733, 10.45] - [-5.279, -10.408, 9] - [-5.28, -10.408, 9]
NON-MANIFOLD DUPLICATE FACE! STLs/drive_gear_parts.stl: [-10.733, 4.585, 10.45] - [-10.408, 5.279, 9] - [-10.408, 5.28, 9]
NON-MANIFOLD DUPLICATE FACE! STLs/drive_gear_parts.stl: [10.733, -4.585, 10.45] - [10.408, -5.279, 9] - [10.408, -5.28, 9]
NON-MANIFOLD DUPLICATE EDGE! STLs/drive_gear_parts.stl: [10.408, -5.279, 9] - [10.408, -5.28, 9]
NON-MANIFOLD DUPLICATE EDGE! STLs/drive_gear_parts.stl: [-4.585, -10.733, 10.45] - [-5.279, -10.408, 9]
NON-MANIFOLD DUPLICATE EDGE! STLs/drive_gear_parts.stl: [4.585, 10.733, 10.45] - [5.279, 10.408, 9]
NON-MANIFOLD DUPLICATE EDGE! STLs/drive_gear_parts.stl: [5.279, 10.408, 9] - [5.28, 10.408, 9]
NON-MANIFOLD DUPLICATE EDGE! STLs/drive_gear_parts.stl: [10.733, -4.585, 10.45] - [10.408, -5.279, 9]
NON-MANIFOLD DUPLICATE EDGE! STLs/drive_gear_parts.stl: [-5.279, -10.408, 9] - [-5.28, -10.408, 9]
NON-MANIFOLD DUPLICATE EDGE! STLs/drive_gear_parts.stl: [-10.408, 5.279, 9] - [-10.408, 5.28, 9]
NON-MANIFOLD DUPLICATE EDGE! STLs/drive_gear_parts.stl: [-10.733, 4.585, 10.45] - [-10.408, 5.279, 9]
make: *** [STLs/drive_gear_parts.stl] Error 255

I built one! Some issues to clear up

Hi there. Great work on the design of Snappy II, revarbat! :)

I have built mine in ABS and made several modifications to make it more workable.

  1. Filed off plastic on the Z axis that catches on the Z sled. I have not made any modifications to the code, as the issue was found after printing 4 of the parts. Increasing the amount cut out in the design or cutting out a different shape should fix this.

  2. Modified config.scad for increased build plate height to accommodate a heated bed. The bed supports printed in ABS work fine at 90 degrees and above. I have been using 100 degrees for several long prints without any sagging or warping of the support plastic, as the corners are significantly cooler than the centre.

config.scad

// Standard 200mm square borosilicate glass build platform
glass_width     = 216;   // mm
glass_length    = 214;   // mm
glass_thick     =   4.6;   // mm  3mm glass and 1.6mm bed
  1. Modified config.scad and cable_chain.scad for a much better chain. The original design and values did not work well for me, they did not hold together strongly, tended to come apart, were stiff and needed some material filed off to work at all. The modifed part and change in dimensions work a zillion times better. The changes propagate to the cable chain mount parts, which will need rerendering and reprinting to fit the modifed sizes.

config.scad

// Cable chain dimensions
cable_chain_height = 15;  // mm
cable_chain_width  = 25;  // mm
cable_chain_length = 26;  // 26mm
cable_chain_pivot  =  5;  // 6mm
cable_chain_bump   =  1.5;  // mm
cable_chain_wall   =  3.25;  // mm

cable_chain.scad

include <config.scad>
use <GDMUtils.scad>


module cable_chain_barrel()
{
	h = cable_chain_height;
	w = cable_chain_width;
	l = cable_chain_length;
	r = cable_chain_pivot/2;

	color("SpringGreen")
	union () {
		difference() {
			up(h/2) cube(size=[w, l-20, h], center=true);
			up(h/2-2/2) chamfcube(size=[w-4*cable_chain_wall, l, h-cable_chain_wall-2], chamfer=2, center=true);
			zrot(40) cube(size=[4, (l-15)/cos(40), 2*cable_chain_wall], center=true);
		}
	}
}
//!cable_chain_barrel();


module cable_chain_mount1()
{
	h = cable_chain_height;
	w = cable_chain_width;
	l = cable_chain_length+2;
	r = cable_chain_pivot/2;

	color("SpringGreen")
	union () {
		difference() {
			// Sides and tabs
			mirror_copy([1,0,0]) {
				translate([(w/2-3*cable_chain_wall/2-printer_slop/2)-0.25, (-l/4)+0.5, h/2]) {
					cube(size=[cable_chain_wall-printer_slop, l/2, h-0], center=true);
				}
			}

            // Swap around these shapes, it works better the other way around!
            
            
			// Chamfer Bottom Front
			//translate([0, -l/2, 0]) {
			//	scale([1, tan(30), 1]) xrot(45) cube(size=[w+2, (h/2*sqrt(2))+0, h/2*sqrt(2)], center=true);
			//}

			// Round out top front.
			translate([0, -l/2, h]) {
				difference() {
					cube(size=[w+2, h, h], center=true);
					translate([0, h/2, -h/2]) {
						yrot(90) cylinder(h=w+3, r=(h/2)-0.5, center=true, $fn=32);
					}
				}
			}
        
        

			// Pivot Divot
			mirror_copy([1,0,0]) {
				translate([(w-cable_chain_wall)/2, 0, h/2]) {
					translate([(-cable_chain_wall/2-cable_chain_bump/2), (-l/2+r+2.75-printer_slop)+1, 0]) {
						yrot(90) cylinder(h=cable_chain_bump+2, r1=r, r2=r+cable_chain_bump, center=true, $fn=32);
					}
				}
			}
		}
	}
}
//!cable_chain_mount1();


module cable_chain_mount2()
{
	h = cable_chain_height;
	w = cable_chain_width;
	l = cable_chain_length+2;
	r = cable_chain_pivot/2;

	color("SpringGreen")
	union () {
		difference() {
			// Sides and tabs
			mirror_copy([1,0,0]) {
				translate([(w-cable_chain_wall)/2, 0, h/2]) {
					translate([0, l/4, 0])
						cube(size=[cable_chain_wall, l/2, h], center=true);

					translate([0, l/2-h/3, 0])
						yrot(90) cylinder(h=cable_chain_wall, r=cable_chain_pivot/2+1.333, center=true, $fn=64);

					// Pivot bump
					translate([-cable_chain_wall/2-cable_chain_bump/2, (l/2-h/3)+0.5, 0])
						yrot(90) cylinder(h=cable_chain_bump, r1=r, r2=r+cable_chain_bump-0.5, center=true, $fn=32);
				}
			}

			// Chamfer top back
			translate([0, (l/2), h]) {
				for (ang = [5:10:45]) {
					scale([1, sin(ang), cos(ang)]) xrot(45) cube(size=[w+2, h/2*sqrt(2), h/2*sqrt(2)], center=true);
				}
			}
		}
	}
}
//!cable_chain_mount2();

// vim: noexpandtab tabstop=4 shiftwidth=4 softtabstop=4 nowrap
  1. Snappy II absolutely needs two Z endstop switches on each side. Setting it up is a real pain otherwise. I modified the Z endcap so that the spool holder could be fitted on top, so two switches can be used and two spool holders.

rail_z_endcap_parts.scad

include <config.scad>
use <GDMUtils.scad>
use <joiners.scad>


module rail_z_endcap()
{
	joiner_length=40;
	w = z_joiner_spacing + joiner_width;

	color("YellowGreen")
	prerender(convexity=10)
	union() {
		difference() {
			union() {
				// Bottom.
				translate([0, -joiner_length/2, rail_thick/2])
					cube(size=[w, joiner_length, rail_thick], center=true);

				// Back.
				translate([0, -joiner_length+rail_thick/2, rail_height/2]) zrot(90) {
					if (wall_style == "crossbeams")
						sparse_strut(h=rail_height, l=w-0.1, thick=rail_thick, strut=5);
					if (wall_style == "thinwall")
						thinning_wall(h=rail_height, l=w-0.1, thick=rail_thick, strut=5);
					if (wall_style == "corrugated")
						corrugated_wall(h=rail_height, l=w-0.1, thick=rail_thick, strut=5);
                }

				// Endstop clip
				fwd((endstop_depth+2)/2) {
					left((z_joiner_spacing-joiner_width-endstop_thick-2+0.05)/2-5) {
						up(rail_height-(endstop_length+2*2)/2) {
							difference() {
								left(5/2) cube([endstop_thick+2+5, endstop_depth+2, endstop_length+2*2], center=true);
								left(2/2) back(2/2) {
									cube([endstop_thick+2*printer_slop+0.05, endstop_depth+0.05, endstop_length+2*printer_slop], center=true);
									cube([endstop_thick+2*printer_slop-2, endstop_depth+10, endstop_length+2*printer_slop-1], center=true);
								}
							}
							down(endstop_length/2+2+endstop_thick*2/2+5/2-0.05) {
								left((endstop_thick+2)/2+5) {
									right_half() trapezoid([0.05, 0.05], [2*(endstop_thick+2+5), endstop_depth+2], h=endstop_thick*2+5, center=true);
								}
							}
							zspread(endstop_hole_spacing) {
								right(endstop_thick/2-1.5/2+0.05) {
									back(endstop_depth/2+2/2-endstop_hole_inset) {
										scale([0.5, 1, 1]) {
											sphere(d=endstop_screw_size, center=true, $fn=8);
										}
									}
								}
							}
						}
					}
				}
			}

			// Clear space for joiners.
			up(rail_height/2-0.05) {
				joiner_pair_clear(spacing=z_joiner_spacing, h=rail_height, w=joiner_width, a=joiner_angle, clearance=1);
			}
		}

		// Joiner clips.
		up(rail_height/2) {
			xspread(z_joiner_spacing) {
				
                fwd(0) joiner(h=rail_height, w=joiner_width, l=joiner_length-5/2, a=joiner_angle);
                fwd(rail_height-4) zrot(180) yrot(180) joiner(h=rail_height, w=joiner_width, l=13, a=joiner_angle);
                
                
                //fwd(l/2) zrot(180) xspread(z_joiner_spacing) joiner(h=rail_height, w=joiner_width, l=10, a=joiner_angle);
					//back(l/2) xspread(z_joiner_spacing) yrot(180) joiner(h=rail_height, w=joiner_width, l=10, a=joiner_angle);
			}
		}
        
        
        // extra Joiner clip.
        //up(rail_height/2) {
         //   xspread(z_joiner_spacing) {
         //       joiner(h=rail_height, w=joiner_width, l=6+joiner_length/2, a=joiner_angle);
         //   }
        //}
	}
}
//!rail_z_endcap();



module rail_z_endcap_parts() { // make me
	zrot(-90) rail_z_endcap();
}

rail_z_endcap_parts();

// vim: noexpandtab tabstop=4 shiftwidth=4 softtabstop=4 nowrap

  1. The positional accuracy of the Z axis was not good to start with. I improved mine by writing some gcode to exercise the Z axis up and down with no lubricant, so the lifter screw and z axis thread wore into each other, until a visible wear line was present on the bottom half of each thread. Then I lubricated the screws and threads with Vaseline. The improvements were significant, but there is still a little wobble along the z axis. I think you can obtain good accuracy with just a few more modifications.
  • Rails on the Z axis. It looks like you had rails, but then got rid of them. I wonder why this was? Perhaps the current design just needs a rectangular channel down the Z axis with a piece poking out of the bridge motor pieces to prevent any X movement.
  • A snap together bar that fits from one side of the z rails to the other, e.g. on the top of the z switch caps or on the spool holders if two are fitted. This would stop any movement along the x axis of the z rails and improve stiffness of the z axis design. Also, the filament could feed through the centre, stopping it from tugging on one side when consuming filament.

I think you can get that Z axis accuracy without the threaded bars!!

Power delivery questions

stupid question: Does the power supply shown in the BOM plug into the arduino or do you strip it and put it into the other board? Also how does the other board go into the arduino, is it like a shield that slots into the pins? Thanks, this was my one concern before starting.

Use TMC2208 with snappy?

Hi

Can i use the TMC2208 with the snappy ? What does change step wise?

In "normal" printers if you go from A96888 to TMC you have to double or half you steps für x and y.

Is this the case here too?

Thanks
Manuel

V3.0 extruder link

The V3.0 J-head hot end link to the amazon part is out of stock without an estimated replenishment date, is there a recommended replacement? Could this work with a Bowden extruder? I am not sure how the hot end mounts (just looking over the instructions) or will the Bowden be too big to mount

xy_sled_parts.stl reported as non-manifold by stl_normalize.py

When make runs stl_normalize.py on xy_sled_parts.stl the script fails because it reports it as non-manifold. This appears harmless because it is succesfully rendered, just whatever that python script does doesn't get done to xy_sled_parts.stl (I just restarted make and since make saw it already did that file it dutifully just did the ones it hadn't done yet). This was from the v3.1 branch.

./stl_normalize.py -c STLs/xy_sled_parts.stl -o STLs/xy_sled_parts.stl
NON-MANIFOLD DUPLICATE FACE! STLs/xy_sled_parts.stl: [39.589, 14.059, 20.399] - [43.859, 14.059, 13.002] - [43.859, 14.07, 13.002]
NON-MANIFOLD DUPLICATE FACE! STLs/xy_sled_parts.stl: [-30.411, 14.059, 20.399] - [-26.14, 14.07, 13.002] - [-30.413, 14.07, 20.402]
NON-MANIFOLD DUPLICATE FACE! STLs/xy_sled_parts.stl: [39.589, 14.059, 20.399] - [43.859, 14.07, 13.002] - [39.587, 14.07, 20.402]
NON-MANIFOLD DUPLICATE FACE! STLs/xy_sled_parts.stl: [29.589, 14.059, 20.399] - [33.859, 14.07, 13.002] - [29.587, 14.07, 20.402]
NON-MANIFOLD DUPLICATE FACE! STLs/xy_sled_parts.stl: [-10.411, 14.059, 20.399] - [-6.141, 14.07, 13.002] - [-10.413, 14.07, 20.402]
NON-MANIFOLD DUPLICATE FACE! STLs/xy_sled_parts.stl: [-40.411, 14.059, 20.399] - [-36.141, 14.059, 13.002] - [-36.141, 14.07, 13.002]
NON-MANIFOLD DUPLICATE FACE! STLs/xy_sled_parts.stl: [-20.411, 14.059, 20.399] - [-16.14, 14.07, 13.002] - [-20.413, 14.07, 20.402]
NON-MANIFOLD DUPLICATE FACE! STLs/xy_sled_parts.stl: [-10.411, 14.059, 20.399] - [-6.141, 14.059, 13.002] - [-6.141, 14.07, 13.002]
NON-MANIFOLD DUPLICATE FACE! STLs/xy_sled_parts.stl: [19.589, 14.059, 20.399] - [23.86, 14.07, 13.002] - [19.587, 14.07, 20.402]
NON-MANIFOLD DUPLICATE FACE! STLs/xy_sled_parts.stl: [-40.411, 14.059, 20.399] - [-36.141, 14.07, 13.002] - [-40.413, 14.07, 20.402]
NON-MANIFOLD DUPLICATE FACE! STLs/xy_sled_parts.stl: [9.589, 14.059, 20.399] - [13.86, 14.07, 13.002] - [9.587, 14.07, 20.402]
NON-MANIFOLD DUPLICATE FACE! STLs/xy_sled_parts.stl: [-0.411, 14.059, 20.399] - [3.86, 14.07, 13.002] - [-0.413, 14.07, 20.402]
NON-MANIFOLD DUPLICATE FACE! STLs/xy_sled_parts.stl: [29.589, 14.059, 20.399] - [33.859, 14.059, 13.002] - [33.859, 14.07, 13.002]
NON-MANIFOLD DUPLICATE EDGE! STLs/xy_sled_parts.stl: [9.589, 14.059, 20.399] - [13.86, 14.07, 13.002]
NON-MANIFOLD DUPLICATE EDGE! STLs/xy_sled_parts.stl: [-30.411, 14.059, 20.399] - [-30.413, 14.07, 20.402]
NON-MANIFOLD DUPLICATE EDGE! STLs/xy_sled_parts.stl: [19.589, 14.059, 20.399] - [23.86, 14.07, 13.002]
NON-MANIFOLD DUPLICATE EDGE! STLs/xy_sled_parts.stl: [43.859, 14.059, 12.977] - [39.542, 14.059, 5.5]
NON-MANIFOLD DUPLICATE EDGE! STLs/xy_sled_parts.stl: [29.589, 14.059, 20.399] - [33.859, 14.059, 13.002]
NON-MANIFOLD DUPLICATE EDGE! STLs/xy_sled_parts.stl: [19.589, 14.059, 20.399] - [19.587, 14.07, 20.402]
NON-MANIFOLD DUPLICATE EDGE! STLs/xy_sled_parts.stl: [39.589, 14.059, 20.399] - [39.587, 14.07, 20.402]
NON-MANIFOLD DUPLICATE EDGE! STLs/xy_sled_parts.stl: [-40.411, 14.059, 20.399] - [-36.141, 14.059, 13.002]
NON-MANIFOLD DUPLICATE EDGE! STLs/xy_sled_parts.stl: [-36.141, 14.059, 12.977] - [-40.458, 14.059, 5.5]
NON-MANIFOLD DUPLICATE EDGE! STLs/xy_sled_parts.stl: [39.589, 14.059, 20.399] - [43.859, 14.07, 13.002]
NON-MANIFOLD DUPLICATE EDGE! STLs/xy_sled_parts.stl: [-10.411, 14.059, 20.399] - [-6.141, 14.07, 13.002]
NON-MANIFOLD DUPLICATE EDGE! STLs/xy_sled_parts.stl: [-6.141, 14.059, 12.977] - [-10.458, 14.059, 5.5]
NON-MANIFOLD DUPLICATE EDGE! STLs/xy_sled_parts.stl: [-40.411, 14.059, 20.399] - [-40.413, 14.07, 20.402]
NON-MANIFOLD DUPLICATE EDGE! STLs/xy_sled_parts.stl: [-20.411, 14.059, 20.399] - [-20.413, 14.07, 20.402]
NON-MANIFOLD DUPLICATE EDGE! STLs/xy_sled_parts.stl: [-0.411, 14.059, 20.399] - [-0.413, 14.07, 20.402]
NON-MANIFOLD DUPLICATE EDGE! STLs/xy_sled_parts.stl: [33.859, 14.059, 12.977] - [29.542, 14.059, 5.5]
NON-MANIFOLD DUPLICATE EDGE! STLs/xy_sled_parts.stl: [-0.411, 14.059, 20.399] - [3.86, 14.07, 13.002]
NON-MANIFOLD DUPLICATE EDGE! STLs/xy_sled_parts.stl: [-20.411, 14.059, 20.399] - [-16.14, 14.07, 13.002]
NON-MANIFOLD DUPLICATE EDGE! STLs/xy_sled_parts.stl: [39.589, 14.059, 20.399] - [43.859, 14.059, 13.002]
NON-MANIFOLD DUPLICATE EDGE! STLs/xy_sled_parts.stl: [-10.411, 14.059, 20.399] - [-6.141, 14.059, 13.002]
NON-MANIFOLD DUPLICATE EDGE! STLs/xy_sled_parts.stl: [9.589, 14.059, 20.399] - [9.587, 14.07, 20.402]
NON-MANIFOLD DUPLICATE EDGE! STLs/xy_sled_parts.stl: [-30.411, 14.059, 20.399] - [-26.14, 14.07, 13.002]
NON-MANIFOLD DUPLICATE EDGE! STLs/xy_sled_parts.stl: [29.589, 14.059, 20.399] - [29.587, 14.07, 20.402]
NON-MANIFOLD DUPLICATE EDGE! STLs/xy_sled_parts.stl: [-40.411, 14.059, 20.399] - [-36.141, 14.07, 13.002]
NON-MANIFOLD DUPLICATE EDGE! STLs/xy_sled_parts.stl: [29.589, 14.059, 20.399] - [33.859, 14.07, 13.002]
NON-MANIFOLD DUPLICATE EDGE! STLs/xy_sled_parts.stl: [-10.411, 14.059, 20.399] - [-10.413, 14.07, 20.402]
make: *** [STLs/xy_sled_parts.stl] Error 255

BOM for 2.0

I am currently printing all of the parts for Snappy 2.0. I believe the BOM page is missing the bridge segment. It is in the STL repository, so no issues finding it, but I believe the reference from the BOM is missing. Great work on the design, I'm having a great time printing everything. I'm using PETG and am a little concerned with the static friction on the rail segments being a bit high, but will report back if I have any issues.

X axis movement -> very high vibrations ruin print, Y Axis ok

Hi Guys,

I just finished my snappy 3.1 and its an amazing machine. However, i have some bad vibrations when the x axis is moving. So bad in fact, that it ruins the print. Moves in y axis are fine and they look really good. But all the moves in the x direction do vibrate so much, that there are artifacts in the print and that constantly. It just vibrates too much.

Any ideas why the x axis is vibrating that much ? Could this be that there is not enough current on the x stepper motor?

Thanks

Material Recommendations

Are there any recommendations which part to print with which filament type?
My considerations so far are to use PLA or PETG for the larger body parts (cheap, less bending). For the mechanical parts (gears etc.) I consider using CPE or ABS.

Extruder quick-fit?

I just found this design for a plate that allows easy swapping of extruders. As-is, though, that design only works for printers that mount the extruder on a bar. Is there any chance of a compatible equivalent for the Snappy? It would be useful to allow the use of e.g. pellet extruders.

mk42 bed config

have anyone made a config for the mk42 bed? it uses the same 4 corner holes but have 2 extra at the center

and then its 250x210 instead

Z Axis Issue

Hi!

I just built a snappy 2.0. I think the Z axis needs some redesign. How is this even supposed to work? The z sled parts always get jammed into the z-rail parts, as I think they are just to tight together. Have you ever built and tested the current version of the z-axis design?

I am not sure if it's really a good idea to replace the metal lifter screw rods with printed worm gears.
Any advice to this issue?

BUG: rail_z_endcap_parts.stl still has Endstop holders

Hi

Quite a simple miss i guess:

in the 3.1 Design the Endstops where moved down to the Z Base parts.
However, in the rail_z_endcap_parts.stl there are still present.

These collide with the z lifter rods.

image

I fixed it in TinkerCAD but dont know that much of scad to do it there.

Just to raise awareness :-)

depth map

Whether the python file in the demo needs to be modified in order to obtain the depth map?

V3.1 vs V3.0

Hello,

What is the difference between V3 of Snappy and V3.1 of Snappy? I am so excited to make this but when I saw two .3 versions, I didnt know which to choose. Thank you! #

Can not get makefile to exicute

I have installed lmde3 and installed openscad, after changing the makefile, I try to run make, and get a syntax error on the first line .
I have tried my google fu and it is not strong. can someone point me in a direction to go in order to find a solution?

#extruder motor down Firmware update & build volume change is it possible?

I was trying out my snappy and my extruder motor isn't working. is there any possibility of finding the reason? and also, is there anny way of changing the build volume? last can I get the whole .ino file for this firmware? I would like to change some things in that firmware. and also, can I get some tips for the snappy? like settings for cura.

Request: less vitamins,(with solution)

Hi

I'm looking into ways to get less vitamins for the snappy.

What you can do:

  • for the y gears part: Use gyroid infill 75 % and make it tight! and use expo glue to glue the shaft in.
    This works if you file the rails down with 400,600,800 and 100 grit sandpaper.
    Then we safe 1 screw and one nut :-)

WARNING: You NEED a screw for the x axis gears.!!! I tried it! The x axis is much heavier and needs to be secured with a screw.

To test:

  • Screws on the z axis.

Sliding of Y sled partial assembly on Y axis rail assembly

Hi,
Y sled assembly is not sliding smoothly over Y axis rail assembly. I have tried lubricating it with vaseline and mineral oil but t doesn't help. I have also tried filing the parts but didn't help.
Also, I faced problems connecting all the parts. I had file them for hours in order to fix them together and still the results are not good. Has everyone faced similar situations?

Firmware help

Are there instructions on how to flash the firmware? I am new to marlin. Specifically the LCD screen on the printer says "printer ready" but nothing else, and I do not know where to begin with troubleshooting.

Cura Settings

Hello,
I've just finished assembling and building my first snappy3. I felt a bit like Dr Frankenstein when it first started moving ^^
Now that it works i (naturally) want to use it. Since i'm fairly new to 3DPrinting i have thus far relied on preconfigured slicers (PrusaControl). Since snappy does not have such software i'm a bit lost.
How do i set up Cura or Slic3r to work with this device? Can i just run it "out of the box" with the "generic reprap" settings?
Any help or tips are much appreciated

Thanks in advance

Slop Calibrator plug doesn't fit

Hi! I started the process of printing snappy 3.0. Printed the slop calibrator but the plug doesn't fit in any hole.

I'm using a Creality CR-10S PRO V2

Z Axis Lifer Rods Not Lining Up

When I printed the rods out and tried to stack them, I noticed the connection point is not exactly flush or smooth at the connection point where the rods are stacked. I am currently having issues with finishing my printer because my sled gets caught at this section prohibiting me from printing tall prints.

I moved the rod into modeling software and stacked a copy of itself on top and noticed there is an overhang as shown in the images below. Is this an issue with the model? I know we have to re-generate the files using Open Scad, could this possibly be an issue that resulted from that?

image

image

BOM links

Quite a few amazon links in the V3.0 BOM have gone dead; it'd be nice if those got updated. This may be some people's first printer they build, and they may not be confident they understand how to choose components. Also, I note that the linked suggested power supply only goes up to 120W, so I'm not sure what to get if I have a heated bed and need 300W.

ACME threaded rod - metric unitrs

Could someone please add link or spreadsheet to compatible ACME threaded rod in metric unit?
It is almost impossible to get one of these from BOM list in Europe.

[Question] Minimim build volume to print all the files ?

I didn't see it on the wiki but what's the minimum build volume required to print all the part ? I guess it's self replicating but for instance I have a Monoprice MP Select Mini with a 120120120 build volume and I was wondering if it's big enough ?

Thanks

Documentation missing parts sizes

Hi,

Having a look through the repo I can't seem to find details on the minimum bed size needed to print these parts?

Assuming the STLs are in mm scale, it looks like the rail_segment_parts (for example) is too large to print on a Printrbot Simple Metal with a bed of 152x152x152mm.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.