Added rounded corners to some parts to make them easier to print.
Filled some gaps in the X ends to make them faster to print. D motor bracket lid now one piece again, as PCB now clears it. Calibration object now includes horizontal nut traps. Add c14n_stl.py to canonicalise the STL files. Corrected PLA sample diameter. Removed feed tube connector, works fine without it. Removed tube jig as not required in the kit. Manual updated with new part renders.
83
c14n_stl.py
Normal file
@@ -0,0 +1,83 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
#
|
||||||
|
# OpenSCAD produces randomly ordered STL files so source control like GIT can't tell if they have changed or not.
|
||||||
|
# This scrip orders each triangle to start with the lowest vertex first (comparing x, then y, then z)
|
||||||
|
# It then sorts the triangles to start with the one with the lowest vertices first (comparing first vertex, second, then third)
|
||||||
|
# This has no effect on the model but makes the STL consistent. I.e. it makes a canonical form.
|
||||||
|
#
|
||||||
|
import sys
|
||||||
|
|
||||||
|
class Vertex:
|
||||||
|
def __init__(self, x, y, z):
|
||||||
|
self.x, self.y, self.z = x, y, z
|
||||||
|
self.key = (float(x), float(y), float(z))
|
||||||
|
|
||||||
|
class Normal:
|
||||||
|
def __init__(self, dx, dy, dz):
|
||||||
|
self.dx, self.dy, self.dz = dx, dy, dz
|
||||||
|
|
||||||
|
class Facet:
|
||||||
|
def __init__(self, normal, v1, v2, v3):
|
||||||
|
self.normal = normal
|
||||||
|
if v1.key < v2.key:
|
||||||
|
if v1.key < v3.key:
|
||||||
|
self.vertices = (v1, v2, v3) #v1 is the smallest
|
||||||
|
else:
|
||||||
|
self.vertices = (v3, v1, v2) #v3 is the smallest
|
||||||
|
else:
|
||||||
|
if v2.key < v3.key:
|
||||||
|
self.vertices = (v2, v3, v1) #v2 is the smallest
|
||||||
|
else:
|
||||||
|
self.vertices = (v3, v1, v2) #v3 is the smallest
|
||||||
|
|
||||||
|
def key(self):
|
||||||
|
return (self.vertices[0].x, self.vertices[0].y, self.vertices[0].z,
|
||||||
|
self.vertices[1].x, self.vertices[1].y, self.vertices[1].z,
|
||||||
|
self.vertices[2].x, self.vertices[2].y, self.vertices[2].z)
|
||||||
|
|
||||||
|
class STL:
|
||||||
|
def __init__(self, fname):
|
||||||
|
self.facets = []
|
||||||
|
|
||||||
|
f = open(fname)
|
||||||
|
words = [s.strip() for s in f.read().split()]
|
||||||
|
f.close()
|
||||||
|
|
||||||
|
if words[0] == 'solid' and words[1] == 'OpenSCAD_Model':
|
||||||
|
i = 2
|
||||||
|
while words[i] == 'facet':
|
||||||
|
norm = Normal(words[i + 2], words[i + 3], words[i + 4])
|
||||||
|
v1 = Vertex(words[i + 8], words[i + 9], words[i + 10])
|
||||||
|
v2 = Vertex(words[i + 12], words[i + 13], words[i + 14])
|
||||||
|
v3 = Vertex(words[i + 16], words[i + 17], words[i + 18])
|
||||||
|
i += 21
|
||||||
|
self.facets.append(Facet(norm, v1, v2, v3))
|
||||||
|
|
||||||
|
self.facets.sort(key = Facet.key)
|
||||||
|
else:
|
||||||
|
print "Not an OpenSCAD ascii STL file"
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
def write(self, fname):
|
||||||
|
f = open(fname,"wt")
|
||||||
|
print >> f,'solid OpenSCAD_Model'
|
||||||
|
for facet in self.facets:
|
||||||
|
print >> f, ' facet normal %s %s %s' % (facet.normal.dx, facet.normal.dy, facet.normal.dz)
|
||||||
|
print >> f, ' outer loop'
|
||||||
|
for vertex in facet.vertices:
|
||||||
|
print >> f, ' vertex %s %s %s' % (vertex.x, vertex.y, vertex.z)
|
||||||
|
print >> f, ' endloop'
|
||||||
|
print >> f, ' endfacet'
|
||||||
|
print >> f, 'endsolid OpenSCAD_Model'
|
||||||
|
f.close()
|
||||||
|
|
||||||
|
def canonicalise(fname):
|
||||||
|
stl = STL(fname)
|
||||||
|
stl.write(fname)
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
if len(sys.argv) == 2:
|
||||||
|
canonicalise(sys.argv[1])
|
||||||
|
else:
|
||||||
|
print "usage: c14n_stl file"
|
||||||
|
sys.exit(1)
|
@@ -76,7 +76,7 @@ Vitamins:
|
|||||||
| | | | | | | | | | 4| | | | | | | | | | | | 4 Nyloc nut M8
|
| | | | | | | | | | 4| | | | | | | | | | | | 4 Nyloc nut M8
|
||||||
| | | | | | | | | | | | | | | 2| | | | | | | 2 Nitrile O-ring 2.5mm x 1.6mm
|
| | | | | | | | | | | | | | | 2| | | | | | | 2 Nitrile O-ring 2.5mm x 1.6mm
|
||||||
| | | 1| | | | | | | | | | | | | | | | | | | 1 Extruder connection PCB
|
| | | 1| | | | | | | | | | | | | | | | | | | 1 Extruder connection PCB
|
||||||
| | | | | | | | | | 1| | | | | | | | | | | | 1 PLA sample 0.3mm ~20m
|
| | | | | | | | | | 1| | | | | | | | | | | | 1 PLA sample 3mm ~20m
|
||||||
| | | | | | | | | | | | | | | 1| | | | | | | 1 Polypropylene strip 401mm x 18mm x 0.5mm
|
| | | | | | | | | | | | | | | 1| | | | | | | 1 Polypropylene strip 401mm x 18mm x 0.5mm
|
||||||
| | | | | | | | | | | | | | | 1| | | | | | | 1 Polypropylene strip 457mm x 25mm x 0.5mm
|
| | | | | | | | | | | | | | | 1| | | | | | | 1 Polypropylene strip 457mm x 25mm x 0.5mm
|
||||||
| | | | | | | | 1| | | | | | | | | | | | | | 1 Polypropylene strip 271mm x 33mm x 0.5mm
|
| | | | | | | | 1| | | | | | | | | | | | | | 1 Polypropylene strip 271mm x 33mm x 0.5mm
|
||||||
@@ -136,7 +136,6 @@ Printed:
|
|||||||
| | | | | | | | | | | | | | | 1| | | | | | | 1 d_shell_lid.stl
|
| | | | | | | | | | | | | | | 1| | | | | | | 1 d_shell_lid.stl
|
||||||
| | | | | | | | | | 1| | | | | | | | | | | | 1 dust_filter.stl
|
| | | | | | | | | | 1| | | | | | | | | | | | 1 dust_filter.stl
|
||||||
1| | | | | | | | | | | | | | | | | | | | | | 1 fan_guard.stl
|
1| | | | | | | | | | | | | | | | | | | | | | 1 fan_guard.stl
|
||||||
| | | | | | | | | | 1| | | | | | | | | | | | 1 feed_tube_connector.stl
|
|
||||||
| | | | |10| | | | | | | | | | | | | | | | | 10 fixing_block.stl
|
| | | | |10| | | | | | | | | | | | | | | | | 10 fixing_block.stl
|
||||||
| 4| | | | | | | | | | | | | | | | | | | | | 4 pcb_spacer.stl
|
| 4| | | | | | | | | | | | | | | | | | | | | 4 pcb_spacer.stl
|
||||||
| | | | | | | | | | | | | | | 1| | | | | | | 1 ribbon_clamp_14_33.stl
|
| | | | | | | | | | | | | | | 1| | | | | | | 1 ribbon_clamp_14_33.stl
|
||||||
@@ -149,7 +148,6 @@ Printed:
|
|||||||
| | | | | | | | | | 2| | | | | | | | | | | | 2 spool_bracket_female.stl
|
| | | | | | | | | | 2| | | | | | | | | | | | 2 spool_bracket_female.stl
|
||||||
| | | | | | | | | | 2| | | | | | | | | | | | 2 spool_bracket_male.stl
|
| | | | | | | | | | 2| | | | | | | | | | | | 2 spool_bracket_male.stl
|
||||||
| | | | | 4| | | | | | | | | | | | | | | | | 4 tube_cap.stl
|
| | | | | 4| | | | | | | | | | | | | | | | | 4 tube_cap.stl
|
||||||
| | | | | 1| | | | | | | | | | | | | | | | | 1 tube_jig.stl
|
|
||||||
| | 1| | | | | | | | | | | | | | | | | | | | 1 wades_big_gear.stl
|
| | 1| | | | | | | | | | | | | | | | | | | | 1 wades_big_gear.stl
|
||||||
| | 1| | | | | | | | | | | | | | | | | | | | 1 wades_block.stl
|
| | 1| | | | | | | | | | | | | | | | | | | | 1 wades_block.stl
|
||||||
| | 1| | | | | | | | | | | | | | | | | | | | 1 wades_gear_spacer.stl
|
| | 1| | | | | | | | | | | | | | | | | | | | 1 wades_gear_spacer.stl
|
||||||
|
@@ -14,5 +14,4 @@ Printed:
|
|||||||
1 ribbon_clamp_20_44N.stl
|
1 ribbon_clamp_20_44N.stl
|
||||||
1 ribbon_clamp_26_44N.stl
|
1 ribbon_clamp_26_44N.stl
|
||||||
4 tube_cap.stl
|
4 tube_cap.stl
|
||||||
1 tube_jig.stl
|
|
||||||
|
|
||||||
|
@@ -6,7 +6,7 @@ Vitamins:
|
|||||||
1 Foam sponge 20mm x 20mm x 20mm
|
1 Foam sponge 20mm x 20mm x 20mm
|
||||||
2 Nyloc nut M4
|
2 Nyloc nut M4
|
||||||
4 Nyloc nut M8
|
4 Nyloc nut M8
|
||||||
1 PLA sample 0.3mm ~20m
|
1 PLA sample 3mm ~20m
|
||||||
1 PTFE tubing OD 4.6mm ID 3.84mm x 750mm
|
1 PTFE tubing OD 4.6mm ID 3.84mm x 750mm
|
||||||
2 Washer M4 x 9mm x 0.8mm
|
2 Washer M4 x 9mm x 0.8mm
|
||||||
8 Washer M8 x 17mm x 1.6mm
|
8 Washer M8 x 17mm x 1.6mm
|
||||||
@@ -14,7 +14,6 @@ Vitamins:
|
|||||||
|
|
||||||
Printed:
|
Printed:
|
||||||
1 dust_filter.stl
|
1 dust_filter.stl
|
||||||
1 feed_tube_connector.stl
|
|
||||||
2 spool_bracket_female.stl
|
2 spool_bracket_female.stl
|
||||||
2 spool_bracket_male.stl
|
2 spool_bracket_male.stl
|
||||||
|
|
||||||
|
BIN
dibond/manual/Mendel90 Dibond.jpg
Normal file
After Width: | Height: | Size: 2.0 MiB |
BIN
dibond/manual/Repetier_Printer_Settings.jpg
Normal file
After Width: | Height: | Size: 57 KiB |
BIN
dibond/manual/Skeinforge_Multiply_Settings.jpg
Normal file
After Width: | Height: | Size: 76 KiB |
BIN
dibond/manual/Slic3r_Printer_Settings.jpg
Normal file
After Width: | Height: | Size: 54 KiB |
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 42 KiB |
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 43 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 37 KiB |
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 39 KiB |
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 35 KiB |
Before Width: | Height: | Size: 80 KiB After Width: | Height: | Size: 69 KiB |
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 82 KiB After Width: | Height: | Size: 79 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 43 KiB |
Before Width: | Height: | Size: 50 KiB After Width: | Height: | Size: 61 KiB |
Before Width: | Height: | Size: 64 KiB After Width: | Height: | Size: 77 KiB |
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 44 KiB After Width: | Height: | Size: 44 KiB |
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 44 KiB |
Before Width: | Height: | Size: 44 KiB After Width: | Height: | Size: 52 KiB |
Before Width: | Height: | Size: 48 KiB After Width: | Height: | Size: 56 KiB |
Before Width: | Height: | Size: 91 KiB After Width: | Height: | Size: 91 KiB |
Before Width: | Height: | Size: 119 KiB After Width: | Height: | Size: 119 KiB |
Before Width: | Height: | Size: 111 KiB After Width: | Height: | Size: 111 KiB |
Before Width: | Height: | Size: 110 KiB After Width: | Height: | Size: 111 KiB |
Before Width: | Height: | Size: 112 KiB After Width: | Height: | Size: 112 KiB |
Before Width: | Height: | Size: 116 KiB After Width: | Height: | Size: 116 KiB |
Before Width: | Height: | Size: 108 KiB After Width: | Height: | Size: 108 KiB |
Before Width: | Height: | Size: 112 KiB After Width: | Height: | Size: 112 KiB |
Before Width: | Height: | Size: 124 KiB |
Before Width: | Height: | Size: 121 KiB After Width: | Height: | Size: 121 KiB |
Before Width: | Height: | Size: 114 KiB After Width: | Height: | Size: 114 KiB |
Before Width: | Height: | Size: 80 KiB After Width: | Height: | Size: 80 KiB |
Before Width: | Height: | Size: 97 KiB After Width: | Height: | Size: 97 KiB |
Before Width: | Height: | Size: 119 KiB After Width: | Height: | Size: 119 KiB |
Before Width: | Height: | Size: 106 KiB After Width: | Height: | Size: 106 KiB |
Before Width: | Height: | Size: 108 KiB After Width: | Height: | Size: 108 KiB |
Before Width: | Height: | Size: 112 KiB After Width: | Height: | Size: 112 KiB |
Before Width: | Height: | Size: 90 KiB After Width: | Height: | Size: 76 KiB |
Before Width: | Height: | Size: 89 KiB |
Before Width: | Height: | Size: 101 KiB After Width: | Height: | Size: 101 KiB |
Before Width: | Height: | Size: 102 KiB After Width: | Height: | Size: 102 KiB |
Before Width: | Height: | Size: 101 KiB After Width: | Height: | Size: 101 KiB |
Before Width: | Height: | Size: 118 KiB After Width: | Height: | Size: 118 KiB |
Before Width: | Height: | Size: 97 KiB After Width: | Height: | Size: 97 KiB |
Before Width: | Height: | Size: 120 KiB After Width: | Height: | Size: 120 KiB |
Before Width: | Height: | Size: 121 KiB After Width: | Height: | Size: 121 KiB |
Before Width: | Height: | Size: 118 KiB After Width: | Height: | Size: 118 KiB |
Before Width: | Height: | Size: 118 KiB After Width: | Height: | Size: 118 KiB |
Before Width: | Height: | Size: 115 KiB After Width: | Height: | Size: 115 KiB |
Before Width: | Height: | Size: 116 KiB After Width: | Height: | Size: 116 KiB |
Before Width: | Height: | Size: 115 KiB After Width: | Height: | Size: 115 KiB |
Before Width: | Height: | Size: 98 KiB After Width: | Height: | Size: 98 KiB |
Before Width: | Height: | Size: 90 KiB After Width: | Height: | Size: 90 KiB |
Before Width: | Height: | Size: 119 KiB After Width: | Height: | Size: 119 KiB |
Before Width: | Height: | Size: 127 KiB |
Before Width: | Height: | Size: 111 KiB After Width: | Height: | Size: 111 KiB |
Before Width: | Height: | Size: 101 KiB After Width: | Height: | Size: 101 KiB |
Before Width: | Height: | Size: 120 KiB After Width: | Height: | Size: 120 KiB |
Before Width: | Height: | Size: 122 KiB After Width: | Height: | Size: 122 KiB |
Before Width: | Height: | Size: 127 KiB After Width: | Height: | Size: 127 KiB |
Before Width: | Height: | Size: 119 KiB After Width: | Height: | Size: 119 KiB |
Before Width: | Height: | Size: 122 KiB After Width: | Height: | Size: 122 KiB |
Before Width: | Height: | Size: 121 KiB After Width: | Height: | Size: 121 KiB |
Before Width: | Height: | Size: 103 KiB After Width: | Height: | Size: 103 KiB |
Before Width: | Height: | Size: 112 KiB After Width: | Height: | Size: 112 KiB |
Before Width: | Height: | Size: 88 KiB After Width: | Height: | Size: 88 KiB |
Before Width: | Height: | Size: 98 KiB After Width: | Height: | Size: 98 KiB |
Before Width: | Height: | Size: 90 KiB After Width: | Height: | Size: 91 KiB |
Before Width: | Height: | Size: 118 KiB After Width: | Height: | Size: 118 KiB |
Before Width: | Height: | Size: 116 KiB After Width: | Height: | Size: 116 KiB |
Before Width: | Height: | Size: 119 KiB After Width: | Height: | Size: 118 KiB |
Before Width: | Height: | Size: 125 KiB After Width: | Height: | Size: 125 KiB |
Before Width: | Height: | Size: 125 KiB After Width: | Height: | Size: 125 KiB |
Before Width: | Height: | Size: 118 KiB After Width: | Height: | Size: 118 KiB |
Before Width: | Height: | Size: 119 KiB After Width: | Height: | Size: 119 KiB |
Before Width: | Height: | Size: 116 KiB After Width: | Height: | Size: 116 KiB |
Before Width: | Height: | Size: 104 KiB After Width: | Height: | Size: 104 KiB |
Before Width: | Height: | Size: 118 KiB After Width: | Height: | Size: 118 KiB |
Before Width: | Height: | Size: 124 KiB After Width: | Height: | Size: 124 KiB |
Before Width: | Height: | Size: 111 KiB After Width: | Height: | Size: 111 KiB |
Before Width: | Height: | Size: 110 KiB After Width: | Height: | Size: 110 KiB |
Before Width: | Height: | Size: 120 KiB After Width: | Height: | Size: 120 KiB |