Added assembly instructions.

This commit is contained in:
Revar Desmera
2015-10-10 01:03:01 -07:00
parent b44e9dcd83
commit d32cdeb190
101 changed files with 29709 additions and 28628 deletions

View File

@@ -4,6 +4,9 @@ CONVERT=convert
PARTFILES=$(sort $(wildcard *_parts.scad))
TARGETS=$(patsubst %.scad,STLs/%.stl,${PARTFILES})
ROTFILES=$(shell seq -f 'wiki/snappy_rot%03g.png' 0 10 359.99)
ASM_MODULES=$(shell grep 'module [a-z0-9_]*_assembly' full_assembly.scad | sed 's/^module //' | sed 's/[^a-z0-9_].*$$//')
ASM_BEFORE_TARGETS=$(patsubst %,docs/assembly/%_before.png,${ASM_MODULES})
ASM_AFTER_TARGETS=$(patsubst %,docs/assembly/%_after.png,${ASM_MODULES})
all: ${TARGETS}
@@ -16,7 +19,7 @@ pull:
git pull --recurse-submodules
clean:
rm -f tmp_*.png wiki/snappy_rot*.png
rm -f tmp_*.png tmp_*.scad wiki/snappy_rot*.png
cleaner: clean
rm -f ${TARGETS}
@@ -24,6 +27,33 @@ cleaner: clean
cleanwiki:
rm -f wiki/snappy_*.gif wiki/snappy_*.png wiki/*_parts.png
instructions: docs/assembly/index.html
docs/assembly/index.html: ${ASM_BEFORE_TARGETS} ${ASM_AFTER_TARGETS}
./gen_assembly_index.py
${ASM_BEFORE_TARGETS}: full_assembly.scad
echo "use <full_assembly.scad>" > $(patsubst docs/assembly/%.png,tmp_%.scad,$@)
echo "$(patsubst docs/assembly/%_before.png,%,$@)(explode=100, arrows=true);" >> $(patsubst docs/assembly/%.png,tmp_%.scad,$@)
${OPENSCAD} -o $(subst docs/assembly/,tmp_asm_,$@) \
--csglimit=2000000 --imgsize=3200,3200 --projection=p \
$(shell grep -A2 'module $(patsubst docs/assembly/%_before.png,%,$@)' full_assembly.scad | head -5 | grep '// *view:' | sed 's/[^]0-9.,]//g' | sed 's/[]]/,/g' | sed 's/^/--camera=/') \
--autocenter --viewall \
$(patsubst docs/assembly/%.png,tmp_%.scad,$@) 2<&1
${CONVERT} -trim -resize 400x400 -border 10x10 -bordercolor '#ffffe5' $(subst docs/assembly/,tmp_asm_,$@) $@
rm -f $(subst docs/assembly/,tmp_asm_,$@) $(patsubst docs/assembly/%.png,tmp_%.scad,$@)
${ASM_AFTER_TARGETS}: full_assembly.scad
echo "use <full_assembly.scad>" > $(patsubst docs/assembly/%.png,tmp_%.scad,$@)
echo "$(patsubst docs/assembly/%_after.png,%,$@)(explode=0, arrows=false);" >> $(patsubst docs/assembly/%.png,tmp_%.scad,$@)
${OPENSCAD} -o $(subst docs/assembly/,tmp_asm2_,$@) \
--csglimit=2000000 --imgsize=3200,3200 --projection=p \
$(shell grep -A2 'module $(patsubst docs/assembly/%_after.png,%,$@)' full_assembly.scad | head -5 | grep '// *view:' | sed 's/[^]0-9.,]//g' | sed 's/[]]/,/g' | sed 's/^/--camera=/') \
--autocenter --viewall \
$(patsubst docs/assembly/%.png,tmp_%.scad,$@) 2<&1
${CONVERT} -trim -resize 400x400 -border 10x10 -bordercolor '#ffffe5' $(subst docs/assembly/,tmp_asm2_,$@) $@
rm -f $(subst docs/assembly/,tmp_asm2_,$@) $(patsubst docs/assembly/%.png,tmp_%.scad,$@)
${ROTFILES}: full_assembly.scad $(wildcard *.scad)
${OPENSCAD} -o $(subst wiki/,tmp_,$@) --imgsize=1024,1024 \
--projection=p --csglimit=2000000 \
@@ -62,16 +92,31 @@ wiki: rendering renderparts animation
# Dependencies follow.
STLs/cantilever_arm_parts.stl: joiners.scad
STLs/cantilever_joint_parts.stl: joiners.scad
STLs/cable_chain_link_parts.stl: joiners.scad
STLs/cable_chain_mount_parts.stl: joiners.scad
STLs/cooling_fan_shroud_parts.stl: joiners.scad
STLs/drive_gear_parts.stl: publicDomainGearV1.1.scad
STLs/extruder_platform_parts.stl: joiners.scad
STLs/extruder_fan_clip_parts.stl: joiners.scad
STLs/extruder_fan_shroud_parts.stl: joiners.scad
STLs/extruder_idler_parts.stl: joiners.scad
STLs/extruder_motor_clip_parts.stl: joiners.scad
STLs/jhead_platform_parts.stl: joiners.scad
STLs/lifter_lock_nut_parts.stl: joiners.scad
STLs/lifter_rod_coupler_parts.stl: joiners.scad
STLs/motor_mount_plate_parts.stl: joiners.scad NEMA.scad
STLs/platform_support_parts.stl: joiners.scad
STLs/rail_endcap_parts.stl: joiners.scad
STLs/rail_motor_segment_parts.stl: joiners.scad
STLs/rail_segment_parts.stl: joiners.scad
STLs/rail_segment_parts.stl: joiners.scad sliders.scad
STLs/rail_xy_motor_segment_parts.stl: joiners.scad sliders.scad
STLs/rail_z_motor_segment_parts.stl: joiners.scad
STLs/rambo_mount_parts.stl: joiners.scad
STLs/ramps_mount_parts.stl: joiners.scad
STLs/sled_endcap_parts.stl: joiners.scad
STLs/sled_parts.stl: joiners.scad publicDomainGearV1.1.scad
STLs/slop_calibrator_parts.stl: joiners.scad
STLs/spool_holder_parts.stl: joiners.scad
STLs/support_leg_parts.stl: joiners.scad
STLs/xy_joiner_parts.stl: joiners.scad
STLs/xy_sled_parts.stl: joiners.scad publicDomainGearV1.1.scad sliders.scad
STLs/yz_joiner_parts.stl: joiners.scad
STLs/z_sled_parts.stl: joiners.scad publicDomainGearV1.1.scad acme_screw.scad sliders.scad

View File

File diff suppressed because it is too large Load Diff

View File

File diff suppressed because it is too large Load Diff

View File

@@ -5155,30 +5155,30 @@ solid Model
outer loop
vertex -54.15 -51.1547 7
vertex -46.65 -51.1547 7
vertex -30.65 -51.1547 7
endloop
endfacet
facet normal 0 0 0
outer loop
vertex -54.15 -51.1547 7
vertex -30.65 -51.1547 7
vertex 46.65 -51.1547 7
endloop
endfacet
facet normal 0 0 0
outer loop
vertex -54.15 -51.1547 7
vertex 46.65 -51.1547 7
vertex 54.15 -51.1547 7
endloop
endfacet
facet normal 0 0 0
outer loop
vertex -46.65 -51.1547 7
vertex -30.65 -51.1547 7
vertex 30.65 -51.1547 7
endloop
endfacet
facet normal 0 0 0
outer loop
vertex -46.65 -51.1547 7
vertex 30.65 -51.1547 7
vertex 46.65 -51.1547 7
endloop
endfacet
facet normal 0 0 0
outer loop
vertex -46.65 -51.1547 7
vertex 46.65 -51.1547 7
vertex 54.15 -51.1547 7
endloop
endfacet
facet normal 0 0 1
outer loop
vertex -54.15 -51.1547 7

BIN
docs/assembly/arrow.png Normal file
View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 152 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 114 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 149 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

243
docs/assembly/index.html Normal file
View File

@@ -0,0 +1,243 @@
<html>
<head>
<title>Snappy Assembly</title>
<style>
BODY {
margin-bottom: 200px;
}
TABLE TD {
vertical-align: middle;
}
H2 {
margin-bottom: 5px;
margin-top: 24px;
font-size: 20pt;
}
LI.section {
font-size: 20pt;
font-weight: bold;
}
H3 {
margin-left: -15px;
margin-bottom: 5px;
margin-top: 18px;
font-size: 16pt;
}
LI.step {
padding-left: 15px;
margin-left: 0;
font-size: 16pt;
font-weight: bold;
list-style-type: none;
}
DIV.desc {
margin-bottom: 15px;
font-size: 12pt;
font-weight: normal;
}
OL {
margin-left: 30px;
}
UL {
padding-left: 5px;
}
</style>
</head>
<body>
<h1>Snappy RepRap Assembly Instructions</h1>
<ol>
<li class="section"><h2>XY Motor Assembly</h2>
<div class="desc">Press-fit a drive gear onto the shaft of a stepper motor, making sure to align the flat of the shaft with the flat of the shaft hole. Repeat this with the other drive gear and another stepper.</div>
<table><tr><td class="befor"><img src="xy_motor_assembly_before.png"></td><td class="arrow"><img src="arrow.png"></td><td class="after"><img src="xy_motor_assembly_after.png"></td></tr></table>
</li>
<li class="section"><h2>Motor Mount Assembly</h2>
<div class="desc">Attach a limit micro-switch (with wiring) to one of the side clips, with the lever end towards the center. Do this again for a second switch and mount plate.</div>
<table><tr><td class="befor"><img src="motor_mount_assembly_before.png"></td><td class="arrow"><img src="arrow.png"></td><td class="after"><img src="motor_mount_assembly_after.png"></td></tr></table>
</li>
<li class="section"><h2>XY Motor Segment Assembly</h2>
<div class="desc">Seat the stepper motor with drive gear in the X/Y motor rail segment. Clamp it into place with a motor mount plate with micro-switch. Repeat this to make a second XY motor segment assembly.</div>
<table><tr><td class="befor"><img src="xy_motor_segment_assembly_before.png"></td><td class="arrow"><img src="arrow.png"></td><td class="after"><img src="xy_motor_segment_assembly_after.png"></td></tr></table>
</li>
<li class="section"><h2>Y Axis Assembly</h2>
<ul>
<li class="step"><h3>Step 1</h3>
<div class="desc">Join a rail segment to each end of another motor rail assembly. Route wiring out the side wiring access hole on the motor rail segment.</div>
<table><tr><td class="befor"><img src="y_axis_assembly_1_before.png"></td><td class="arrow"><img src="arrow.png"></td><td class="after"><img src="y_axis_assembly_1_after.png"></td></tr></table>
</li>
<li class="step"><h3>Step 2</h3>
<div class="desc">Join opposing platform supports to either side of the sled endcap. Point the tabs toward the side with the joiners.</div>
<table><tr><td class="befor"><img src="y_axis_assembly_2_before.png"></td><td class="arrow"><img src="arrow.png"></td><td class="after"><img src="y_axis_assembly_2_after.png"></td></tr></table>
</li>
<li class="step"><h3>Step 3</h3>
<div class="desc">Join two XY sled parts together. Make sure the bottom racks line up.</div>
<table><tr><td class="befor"><img src="y_axis_assembly_3_before.png"></td><td class="arrow"><img src="arrow.png"></td><td class="after"><img src="y_axis_assembly_3_after.png"></td></tr></table>
</li>
<li class="step"><h3>Step 4</h3>
<div class="desc">Join a Y sled endcap assembly to one end of the Y sled central assembly.</div>
<table><tr><td class="befor"><img src="y_axis_assembly_4_before.png"></td><td class="arrow"><img src="arrow.png"></td><td class="after"><img src="y_axis_assembly_4_after.png"></td></tr></table>
</li>
<li class="step"><h3>Step 5</h3>
<div class="desc">Slide the Y sled partial assembly onto the Y axis rails assembly, so that it is centered.</div>
<table><tr><td class="befor"><img src="y_axis_assembly_5_before.png"></td><td class="arrow"><img src="arrow.png"></td><td class="after"><img src="y_axis_assembly_5_after.png"></td></tr></table>
</li>
<li class="step"><h3>Step 6</h3>
<div class="desc">Join the other Y sled endcap assembly to the end of the Y sled partial assembly.</div>
<table><tr><td class="befor"><img src="y_axis_assembly_6_before.png"></td><td class="arrow"><img src="arrow.png"></td><td class="after"><img src="y_axis_assembly_6_after.png"></td></tr></table>
</li>
<li class="step"><h3>Step 7</h3>
<div class="desc">Join a rail endcap to each end of the Y axis with completed sled assembly.</div>
<table><tr><td class="befor"><img src="y_axis_assembly_7_before.png"></td><td class="arrow"><img src="arrow.png"></td><td class="after"><img src="y_axis_assembly_7_after.png"></td></tr></table>
</li>
</ul>
</li>
<li class="section"><h2>X Axis Assembly</h2>
<ul>
<li class="step"><h3>Step 1</h3>
<div class="desc">Join a rail segment to each end of a motor rail assembly, to make the X axis slider. Route the wiring to one end of the slider assembly.</div>
<table><tr><td class="befor"><img src="x_axis_assembly_1_before.png"></td><td class="arrow"><img src="arrow.png"></td><td class="after"><img src="x_axis_assembly_1_after.png"></td></tr></table>
</li>
<li class="step"><h3>Step 2</h3>
<div class="desc">Join two XY sled parts together. Make sure the bottom racks line up.</div>
<table><tr><td class="befor"><img src="x_axis_assembly_2_before.png"></td><td class="arrow"><img src="arrow.png"></td><td class="after"><img src="x_axis_assembly_2_after.png"></td></tr></table>
</li>
<li class="step"><h3>Step 3</h3>
<div class="desc">Join an X sled endcap assembly to one end of the X sled central assembly.</div>
<table><tr><td class="befor"><img src="x_axis_assembly_3_before.png"></td><td class="arrow"><img src="arrow.png"></td><td class="after"><img src="x_axis_assembly_3_after.png"></td></tr></table>
</li>
<li class="step"><h3>Step 4</h3>
<div class="desc">Slide the X sled partial assembly onto the X axis rails assembly, so that it is centered.</div>
<table><tr><td class="befor"><img src="x_axis_assembly_4_before.png"></td><td class="arrow"><img src="arrow.png"></td><td class="after"><img src="x_axis_assembly_4_after.png"></td></tr></table>
</li>
<li class="step"><h3>Step 5</h3>
<div class="desc">Connect the Y axis assembly to the XY joiner on the X axis partial assembly.</div>
<table><tr><td class="befor"><img src="x_axis_assembly_5_before.png"></td><td class="arrow"><img src="arrow.png"></td><td class="after"><img src="x_axis_assembly_5_after.png"></td></tr></table>
</li>
<li class="step"><h3>Step 6</h3>
<div class="desc">Join the other X sled endcap assembly to the end of the X sled assembly, fixing the Y sled assembly in place.</div>
<table><tr><td class="befor"><img src="x_axis_assembly_6_before.png"></td><td class="arrow"><img src="arrow.png"></td><td class="after"><img src="x_axis_assembly_6_after.png"></td></tr></table>
</li>
</ul>
</li>
<li class="section"><h2>Z Tower Assembly</h2>
<ul>
<li class="step"><h3>Step 1</h3>
<div class="desc">Seat the stepper motor in the Z motor rail segment. Clamp it into place with a motor mount plate without micro-switch. Repeat this to make a second Z motor segment assembly.</div>
<table><tr><td class="befor"><img src="z_tower_assembly_1_before.png"></td><td class="arrow"><img src="arrow.png"></td><td class="after"><img src="z_tower_assembly_1_after.png"></td></tr></table>
</li>
<li class="step"><h3>Step 2</h3>
<div class="desc">Screw the lock nut onto the threaded rod.</div>
<table><tr><td class="befor"><img src="z_tower_assembly_2_before.png"></td><td class="arrow"><img src="arrow.png"></td><td class="after"><img src="z_tower_assembly_2_after.png"></td></tr></table>
</li>
<li class="step"><h3>Step 3</h3>
<div class="desc">Screw the rod into the coupler fully, then tighten the lock nut up against the coupler.</div>
<table><tr><td class="befor"><img src="z_tower_assembly_3_before.png"></td><td class="arrow"><img src="arrow.png"></td><td class="after"><img src="z_tower_assembly_3_after.png"></td></tr></table>
</li>
<li class="step"><h3>Step 4</h3>
<div class="desc">Press-fit the lifter rod assembly to the mounted motor shaft. Make sure the flatted side of the shaft is aligned with the flat of the shaft hole. Repeat this with the other Z motor segment assembly.</div>
<table><tr><td class="befor"><img src="z_tower_assembly_4_before.png"></td><td class="arrow"><img src="arrow.png"></td><td class="after"><img src="z_tower_assembly_4_after.png"></td></tr></table>
</li>
<li class="step"><h3>Step 5</h3>
<div class="desc">Attach two rail segments to the top of the motor Z lifter assembly. Repeat this with the other motor Z lifter assembly.</div>
<table><tr><td class="befor"><img src="z_tower_assembly_5_before.png"></td><td class="arrow"><img src="arrow.png"></td><td class="after"><img src="z_tower_assembly_5_after.png"></td></tr></table>
</li>
<li class="step"><h3>Step 6</h3>
<div class="desc">Attach support legs to each side of the yz_joiner part.</div>
<table><tr><td class="befor"><img src="z_tower_assembly_6_before.png"></td><td class="arrow"><img src="arrow.png"></td><td class="after"><img src="z_tower_assembly_6_after.png"></td></tr></table>
</li>
<li class="step"><h3>Step 7</h3>
<div class="desc">Attach the Z rail assembly to the top of the YZ joiner assembly.</div>
<table><tr><td class="befor"><img src="z_tower_assembly_7_before.png"></td><td class="arrow"><img src="arrow.png"></td><td class="after"><img src="z_tower_assembly_7_after.png"></td></tr></table>
</li>
</ul>
</li>
<li class="section"><h2>Extruder Bridge Assembly</h2>
<ul>
<li class="step"><h3>Step 1</h3>
<div class="desc">Insert the 686 bearing into the extruder idler arm.</div>
<table><tr><td class="befor"><img src="extruder_bridge_assembly_1_before.png"></td><td class="arrow"><img src="arrow.png"></td><td class="after"><img src="extruder_bridge_assembly_1_after.png"></td></tr></table>
</li>
<li class="step"><h3>Step 2</h3>
<div class="desc">Insert the idler axle through the 686 bearing, and lock it into the extruder idler arm with the axle cap.</div>
<table><tr><td class="befor"><img src="extruder_bridge_assembly_2_before.png"></td><td class="arrow"><img src="arrow.png"></td><td class="after"><img src="extruder_bridge_assembly_2_after.png"></td></tr></table>
</li>
<li class="step"><h3>Step 3</h3>
<div class="desc">Attach the extruder drive gear onto the stepper motor shaft.</div>
<table><tr><td class="befor"><img src="extruder_bridge_assembly_3_before.png"></td><td class="arrow"><img src="arrow.png"></td><td class="after"><img src="extruder_bridge_assembly_3_after.png"></td></tr></table>
</li>
<li class="step"><h3>Step 4</h3>
<div class="desc">Slide the JHead extruder hot end into the slot in the bottom of the JHead platform.</div>
<table><tr><td class="befor"><img src="extruder_bridge_assembly_4_before.png"></td><td class="arrow"><img src="arrow.png"></td><td class="after"><img src="extruder_bridge_assembly_4_after.png"></td></tr></table>
</li>
<li class="step"><h3>Step 5</h3>
<div class="desc">Clip the extruder motor with drive gear to the jhead platform using the extruder motor clip.</div>
<table><tr><td class="befor"><img src="extruder_bridge_assembly_5_before.png"></td><td class="arrow"><img src="arrow.png"></td><td class="after"><img src="extruder_bridge_assembly_5_after.png"></td></tr></table>
</li>
<li class="step"><h3>Step 6</h3>
<div class="desc">Insert the idler arm into the idler hinge hole on the JHead platform.</div>
<table><tr><td class="befor"><img src="extruder_bridge_assembly_6_before.png"></td><td class="arrow"><img src="arrow.png"></td><td class="after"><img src="extruder_bridge_assembly_6_after.png"></td></tr></table>
</li>
<li class="step"><h3>Step 7</h3>
<div class="desc">Insert the idler latch arm into the latch hinge hole on the JHead platform.</div>
<table><tr><td class="befor"><img src="extruder_bridge_assembly_7_before.png"></td><td class="arrow"><img src="arrow.png"></td><td class="after"><img src="extruder_bridge_assembly_7_after.png"></td></tr></table>
</li>
<li class="step"><h3>Step 8</h3>
<div class="desc">Insert the extruder fan shroud into the JHead platform, latching the JHead hot end, and idler and latch arms into place.</div>
<table><tr><td class="befor"><img src="extruder_bridge_assembly_8_before.png"></td><td class="arrow"><img src="arrow.png"></td><td class="after"><img src="extruder_bridge_assembly_8_after.png"></td></tr></table>
</li>
<li class="step"><h3>Step 9</h3>
<div class="desc">Clip a cooling fan to the top of the extruder fan shroud using the extruder fan clip part.</div>
<table><tr><td class="befor"><img src="extruder_bridge_assembly_9_before.png"></td><td class="arrow"><img src="arrow.png"></td><td class="after"><img src="extruder_bridge_assembly_9_after.png"></td></tr></table>
</li>
<li class="step"><h3>Step 10</h3>
<div class="desc">Attach a cooling fan to the cooling fan shroud.</div>
<table><tr><td class="befor"><img src="extruder_bridge_assembly_10_before.png"></td><td class="arrow"><img src="arrow.png"></td><td class="after"><img src="extruder_bridge_assembly_10_after.png"></td></tr></table>
</li>
<li class="step"><h3>Step 11</h3>
<div class="desc">Attach the cooling fan shroud assembly to the bottom of the extruder fan shroud.</div>
<table><tr><td class="befor"><img src="extruder_bridge_assembly_11_before.png"></td><td class="arrow"><img src="arrow.png"></td><td class="after"><img src="extruder_bridge_assembly_11_after.png"></td></tr></table>
</li>
<li class="step"><h3>Step 12</h3>
<div class="desc">Attach rail segments to either end of the extruder platform assembly.</div>
<table><tr><td class="befor"><img src="extruder_bridge_assembly_12_before.png"></td><td class="arrow"><img src="arrow.png"></td><td class="after"><img src="extruder_bridge_assembly_12_after.png"></td></tr></table>
</li>
<li class="step"><h3>Step 13</h3>
<div class="desc">Attach rail segments to either end of the extruder platform assembly.</div>
<table><tr><td class="befor"><img src="extruder_bridge_assembly_13_before.png"></td><td class="arrow"><img src="arrow.png"></td><td class="after"><img src="extruder_bridge_assembly_13_after.png"></td></tr></table>
</li>
</ul>
</li>
<li class="section"><h2>Final Assembly</h2>
<ul>
<li class="step"><h3>Step 1</h3>
<div class="desc">Attach the two Z tower assemblies to either end of the XY axes assembly.</div>
<table><tr><td class="befor"><img src="final_assembly_1_before.png"></td><td class="arrow"><img src="arrow.png"></td><td class="after"><img src="final_assembly_1_after.png"></td></tr></table>
</li>
<li class="step"><h3>Step 2</h3>
<div class="desc">Lower the extruder bridge down into the Z tower grooves, screwing the lifter rods into the Z sleds evenly.</div>
<table><tr><td class="befor"><img src="final_assembly_2_before.png"></td><td class="arrow"><img src="arrow.png"></td><td class="after"><img src="final_assembly_2_after.png"></td></tr></table>
</li>
<li class="step"><h3>Step 3</h3>
<div class="desc">Attach the Z tower endcap.</div>
<table><tr><td class="befor"><img src="final_assembly_3_before.png"></td><td class="arrow"><img src="arrow.png"></td><td class="after"><img src="final_assembly_3_after.png"></td></tr></table>
</li>
<li class="step"><h3>Step 4</h3>
<div class="desc">Attach the spool holder to the top of the other Z tower.</div>
<table><tr><td class="befor"><img src="final_assembly_4_before.png"></td><td class="arrow"><img src="arrow.png"></td><td class="after"><img src="final_assembly_4_after.png"></td></tr></table>
</li>
<li class="step"><h3>Step 5</h3>
<div class="desc">Attach the RAMPS motherboard mount to the end of the printer base.</div>
<table><tr><td class="befor"><img src="final_assembly_5_before.png"></td><td class="arrow"><img src="arrow.png"></td><td class="after"><img src="final_assembly_5_after.png"></td></tr></table>
</li>
<li class="step"><h3>Step 6</h3>
<div class="desc">Clip the glass build platform to the build platform supports using four binder clips.</div>
<table><tr><td class="befor"><img src="final_assembly_6_before.png"></td><td class="arrow"><img src="arrow.png"></td><td class="after"><img src="final_assembly_6_after.png"></td></tr></table>
</li>
<li class="step"><h3>Step 7</h3>
<div class="desc">Cradle the spool axle in the spool holder top.</div>
<table><tr><td class="befor"><img src="final_assembly_7_before.png"></td><td class="arrow"><img src="arrow.png"></td><td class="after"><img src="final_assembly_7_after.png"></td></tr></table>
</li>
</ul>
</li>
</ol>
</body>
</html>

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

View File

@@ -91,7 +91,7 @@ module extruder_idler()
module extruder_latch()
{
color("Brown")
color([0.6, 0.4, 0.0])
prerender(convexity=10)
difference() {
union() {

View File

File diff suppressed because it is too large Load Diff

166
gen_assembly_index.py Executable file
View File

@@ -0,0 +1,166 @@
#!/usr/bin/env python
import re
import sys
class GenAssemblyIndex(object):
indexfile = "docs/assembly/index.html"
sourcefile = "full_assembly.scad"
modules = []
modinfo = {}
def write_index(self):
with open(self.indexfile, "w") as f:
f.write("""\
<html>
<head>
<title>Snappy Assembly</title>
<style>
BODY {
margin-bottom: 200px;
}
TABLE TD {
vertical-align: middle;
}
H2 {
margin-bottom: 5px;
margin-top: 24px;
font-size: 20pt;
}
LI.section {
font-size: 20pt;
font-weight: bold;
}
H3 {
margin-left: -15px;
margin-bottom: 5px;
margin-top: 18px;
font-size: 16pt;
}
LI.step {
padding-left: 15px;
margin-left: 0;
font-size: 16pt;
font-weight: bold;
list-style-type: none;
}
DIV.desc {
margin-bottom: 15px;
font-size: 12pt;
font-weight: normal;
}
OL {
margin-left: 30px;
}
UL {
padding-left: 5px;
}
</style>
</head>
<body>
<h1>Snappy RepRap Assembly Instructions</h1>
<ol>
""")
for mod_eng in self.modules:
f.write('<li class="section">')
f.write('<h2>%s</h2>\n' % mod_eng)
stepcnt = len(self.modinfo[mod_eng])
if stepcnt > 1:
f.write('<ul>\n')
for stepinfo in self.modinfo[mod_eng]:
if stepcnt > 1:
f.write('<li class="step">')
f.write('<h3>Step {step}</h3>\n'.format(**stepinfo))
f.write(
'<div class="desc">{desc}</div>\n'
'<table>'
'<tr>'
'<td class="befor"><img src="{module}_before.png"></td>'
'<td class="arrow"><img src="arrow.png"></td>'
'<td class="after"><img src="{module}_after.png"></td>'
'</tr>'
'</table>\n'
.format(**stepinfo)
)
if stepcnt > 1:
f.write('</li>\n')
if stepcnt > 1:
f.write('</ul>\n')
f.write('</li>\n')
f.write('</ol>\n')
f.write('</body>\n')
f.write('</html>\n')
def process_module(self, module, desc):
print("module: %s" % module)
step = 1
mod_eng = module.replace('_', ' ') \
.title() \
.replace('Xy', 'XY') \
.replace('Yz', 'YZ')
mod_split = mod_eng.split(" ")
if mod_split[-1].isdigit():
step = int(mod_split[-1])
mod_eng = " ".join(mod_split[:-1])
if mod_eng not in self.modules:
self.modules.append(mod_eng)
self.modinfo[mod_eng] = [
{
'module': module,
'step': step,
'desc': desc
},
]
else:
self.modinfo[mod_eng].append(
{
'module': module,
'step': step,
'desc': desc
},
)
def generate_index(self):
mod_re = re.compile(
r'module *([a-z_][a-z0-9_]*_assembly(_[0-9]+)?) *\('
)
desc_re = re.compile(r'// *desc: *(.*)$')
module = ""
desc = ""
with open(self.sourcefile, "r") as f:
for line in f.readlines():
mod_res = mod_re.search(line)
if mod_res:
if module:
self.process_module(module, desc)
module = mod_res.group(1)
desc = ""
desc_res = desc_re.search(line)
if desc_res:
desc += desc_res.group(1)
if module:
self.process_module(module, desc)
self.write_index()
def main():
genidx = GenAssemblyIndex()
genidx.generate_index()
sys.exit(0)
if __name__ == "__main__":
main()
# vim: expandtab tabstop=4 shiftwidth=4 softtabstop=4 nowrap

View File

@@ -8,113 +8,6 @@ $fa = 2;
$fs = 2;
jhead_length = 40; // mm
jhead_block_size = [18.7, 16, 9.6];
jhead_block_off = 7; //mm
module jhead_hotend()
{
block_h = jhead_block_size[2];
down(jhead_length/2-jhead_groove_thick-jhead_shelf_thick) {
color([0.3, 0.3, 0.3])
difference() {
cylinder(h=jhead_length, d=jhead_barrel_diam, center=true);
cylinder(h=jhead_length+1, d=2, center=true, $fn=12);
up(4*4/2-jhead_length/2+0.5*25.4) {
zring(n=4, r=jhead_barrel_diam/2) {
zspread(4, n=4) {
yspread(6) {
yrot(90) cylinder(h=4*2, d=3, center=true, $fn=12);
}
cube([4*2, 6, 3], center=true);
}
}
}
up(jhead_length/2-jhead_shelf_thick-jhead_groove_thick/2) {
difference() {
cylinder(h=jhead_groove_thick, d=jhead_barrel_diam+1, center=true);
cylinder(h=jhead_groove_thick+1, d=jhead_groove_diam, center=true);
}
}
}
color("silver")
down((jhead_length+block_h)/2) {
difference() {
left(jhead_block_off/2) {
cube(jhead_block_size, center=true);
}
left(jhead_block_off) {
xrot(90) cylinder(h=100, d=6, center=true);
}
cylinder(h=100, d=2, center=true, $fn=12);
}
difference() {
down((block_h+3)/2) {
cylinder(h=3, r=4, center=true);
down((3+1.2)/2) {
cylinder(h=1.2, r1=1, r2=4, center=true);
}
}
cylinder(h=50, d=0.4, center=true, $fn=8);
}
}
}
color("silver")
up(jhead_groove_thick+jhead_shelf_thick) {
difference() {
cylinder(h=jhead_cap_height, d=jhead_cap_diam, $fn=6);
down(0.5) cylinder(h=jhead_cap_height+1, d=2, $fn=12);
}
}
}
module extruder_drive_gear()
{
color("silver") {
difference() {
cylinder(h=12, d=extruder_drive_diam);
up(12-3.5) {
torus(ir=extruder_drive_diam/2-1, or=extruder_drive_diam/2+4, $fn=24);
}
down(1) cylinder(h=15, d=motor_shaft_size, $fn=12);
}
}
}
module extruder_fan()
{
up(extruder_fan_thick/2)
color([0.4, 0.4, 0.4]) {
difference() {
chamfcube(size=[extruder_fan_size, extruder_fan_size, extruder_fan_thick], chamfer=3, chamfaxes=[0,0,1], center=true);
cylinder(h=extruder_fan_thick+1, d=extruder_fan_size-2, center=true);
xspread(extruder_fan_size-3-3) {
yspread(extruder_fan_size-3-3) {
cylinder(h=extruder_fan_thick+1, d=3, center=true, $fn=12);
}
}
}
up((2-0.1)/2) {
linear_extrude(height=extruder_fan_thick-2, twist=30, slices=4, center=true, convexity=10) {
circle(r=extruder_fan_size/4, center=true);
zring(r=(extruder_fan_size-3)/4, n=8) {
square([(extruder_fan_size-3)/2, 1], center=true);
}
}
}
cylinder(h=extruder_fan_thick, d=extruder_fan_size/2-3, center=true);
down(extruder_fan_thick/2-1/2) {
cube([extruder_fan_size, 3, 1], center=true);
cube([3, extruder_fan_size, 1], center=true);
}
}
}
//!extruder_fan();
module jhead_platform()
{
platform_vert_off = rail_height+groove_height+rail_offset;
@@ -128,6 +21,7 @@ module jhead_platform()
color("SteelBlue")
prerender(convexity=10)
zrot(-90)
union() {
difference() {
union() {

View File

@@ -5,7 +5,7 @@ use <joiners.scad>
module rail_endcap()
{
joiner_length=30;
joiner_length=40;
base_height = rail_height+groove_height;
color("YellowGreen")
@@ -47,7 +47,7 @@ module rail_endcap()
translate([0, 0, base_height/2-(base_height-rail_height)/2]) {
joiner_pair(spacing=rail_spacing+joiner_width, h=rail_height, w=joiner_width, l=joiner_length, a=joiner_angle);
}
// Endstop clip
fwd((endstop_depth+2)/2) {
left((rail_width-2*joiner_width-endstop_thick-2+0.05)/2) {

View File

@@ -18,7 +18,7 @@ module support_leg(h=rail_height, l=75)
}
// Legs.
grid_of(xa=[-platform_length/4, platform_length/4]) {
xspread(platform_length/2) {
translate([0, l/2, 0.75*h/2]) {
thinning_triangle(h=0.75*h, l=l, thick=platform_thick);
}

181
vitamins.scad Normal file
View File

@@ -0,0 +1,181 @@
include <config.scad>
include <GDMUtils.scad>
$fa = 2;
$fs = 2;
module arrow(size=10, headpart=0.4) {
color("orange")
yrot(90) {
down(size/2)
union() {
up(size*headpart/2) cylinder(d1=0, d2=size/2, h=size*headpart, center=true, $fn=18);
up(size/2+size*headpart/2) cylinder(d=size/6, h=size*(1-headpart), center=true, $fn=18);
}
}
}
//!arrow(size=200);
module jhead_hotend()
{
jhead_length = 40; // mm
jhead_block_size = [18.7, 16, 9.6];
jhead_block_off = 7; //mm
block_h = jhead_block_size[2];
down(jhead_length/2-jhead_groove_thick-jhead_shelf_thick) {
color([0.3, 0.3, 0.3])
difference() {
cylinder(h=jhead_length, d=jhead_barrel_diam-0.05, center=true);
cylinder(h=jhead_length+1, d=2, center=true, $fn=12);
up(4*4/2-jhead_length/2+0.5*25.4) {
zring(n=4, r=jhead_barrel_diam/2-0.05) {
zspread(4, n=4) {
yspread(6) {
yrot(90) cylinder(h=4*2, d=3, center=true, $fn=12);
}
cube([4*2, 6, 3], center=true);
}
}
}
up(jhead_length/2-jhead_shelf_thick-jhead_groove_thick/2) {
difference() {
cylinder(h=jhead_groove_thick, d=jhead_barrel_diam+1, center=true);
cylinder(h=jhead_groove_thick+1, d=jhead_groove_diam, center=true);
}
}
}
color("silver")
down((jhead_length+block_h)/2) {
difference() {
left(jhead_block_off/2) {
cube(jhead_block_size, center=true);
}
left(jhead_block_off) {
xrot(90) cylinder(h=100, d=6, center=true);
}
cylinder(h=100, d=2, center=true, $fn=12);
}
difference() {
down((block_h+3)/2) {
cylinder(h=3, r=4, center=true);
down((3+1.2)/2) {
cylinder(h=1.2, r1=1, r2=4, center=true);
}
}
cylinder(h=50, d=0.4, center=true, $fn=8);
}
}
}
color("silver")
up(jhead_groove_thick+jhead_shelf_thick) {
difference() {
cylinder(h=jhead_cap_height, d=jhead_cap_diam, $fn=6);
down(0.5) cylinder(h=jhead_cap_height+1, d=2, $fn=12);
}
}
}
//!jhead_hotend();
module extruder_drive_gear()
{
color("silver") {
difference() {
cylinder(h=12, d=extruder_drive_diam);
up(12-3.5) {
torus(ir=extruder_drive_diam/2-1, or=extruder_drive_diam/2+4, $fn=24);
}
down(1) cylinder(h=15, d=motor_shaft_size, $fn=12);
up(3.5) yrot(90) cylinder(h=extruder_drive_diam/2+1, d=3, $fn=12);
}
}
}
//!extruder_drive_gear();
module cooling_fan()
{
up(extruder_fan_thick/2)
color([0.4, 0.4, 0.4]) {
difference() {
chamfcube(size=[extruder_fan_size, extruder_fan_size, extruder_fan_thick], chamfer=3, chamfaxes=[0,0,1], center=true);
cylinder(h=extruder_fan_thick+1, d=extruder_fan_size-2, center=true);
xspread(extruder_fan_size-3-3) {
yspread(extruder_fan_size-3-3) {
cylinder(h=extruder_fan_thick+1, d=3, center=true, $fn=12);
}
}
}
up((2-0.1)/2) {
linear_extrude(height=extruder_fan_thick-2, twist=30, slices=4, center=true, convexity=10) {
circle(r=extruder_fan_size/4, center=true);
zring(r=(extruder_fan_size-3)/4, n=8) {
square([(extruder_fan_size-3)/2, 1], center=true);
}
}
}
cylinder(h=extruder_fan_thick, d=extruder_fan_size/2-3, center=true);
down(extruder_fan_thick/2-1/2) {
cube([extruder_fan_size, 3, 1], center=true);
cube([3, extruder_fan_size, 1], center=true);
}
}
}
//!cooling_fan();
module microswitch()
{
color([0.3, 0.3, 0.3]) {
difference() {
cube([endstop_thick, endstop_length, endstop_depth], center=true);
xrot(-5) {
up(endstop_depth) {
cube([endstop_thick+1, endstop_length, endstop_depth], center=true);
}
}
down(endstop_hole_inset/2-endstop_click_voff/2) {
yspread(endstop_hole_spacing) {
yrot(90) cylinder(h=endstop_thick+1, d=endstop_screw_size, center=true, $fn=12);
}
}
}
}
up(endstop_depth/2) {
color([0.3, 0.3, 0.3]) {
yrot(90) cylinder(h=endstop_thick*0.75, d=1, center=true, $fn=12);
}
color("silver") {
fwd(endstop_length*0.9/2) xrot(5) back(endstop_length*0.9/2) {
cube([endstop_thick, endstop_length*0.9, 0.1], center=true);
back(endstop_length*0.9/2+1) {
top_half() {
yrot(90) {
difference() {
cylinder(h=endstop_thick, r=1, center=true, $fn=12);
cylinder(h=endstop_thick+1, r=0.8, center=true, $fn=12);
}
}
}
}
}
grid_of(ya=[-endstop_length/2+2, -endstop_length/8, endstop_length/2-2]) {
down(endstop_depth+5/2) {
cube([endstop_thick*0.5, 0.2, 5], center=true);
}
}
}
}
}
//!microswitch();
// vim: noexpandtab tabstop=4 shiftwidth=4 softtabstop=4 nowrap

2
wiki

Submodule wiki updated: 7a8ab582fc...ae080e4abb

Some files were not shown because too many files have changed in this diff Show More