summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--delta.jscad57
1 files changed, 54 insertions, 3 deletions
diff --git a/delta.jscad b/delta.jscad
index 24c1c7e..0e8fd62 100644
--- a/delta.jscad
+++ b/delta.jscad
@@ -47,2 +47,8 @@ var CONFIG = {
47 }, 47 },
48 bedholder: {
49 h: 15,
50 margin: 3,
51 nut: { w: 5.4, h: 2.5 },
52 bolt: { d: 3, l: 10, head: { d: 5.33, h: 3 } }
53 },
48 hotend: { 54 hotend: {
@@ -766,2 +772,45 @@ function platform() {
766 772
773function bedholder(params) {
774 var h0 = CONFIG.foot.h+CONFIG.extrusion.w*2+CONFIG.base.gap;
775 var bolt_s = CONFIG.bedholder.bolt.l-CONFIG.extrusion.slotdepth+PRINT.play_tolerance*2;
776 var nuth=h0+CONFIG.bedholder.h*3/4;
777 var nutth = nuth+CONFIG.bedholder.nut.h/2+PRINT.slide_tolerance/2;
778 var rv = CSG.roundedCube({
779 corner1: [-CONFIG.extrusion.w/2,-CD.base.inner_inscription_r,h0],
780 corner2: [ CONFIG.extrusion.w/2,-CONFIG.heatbed.sr-3/2-CONFIG.bedholder.margin,h0+CONFIG.bedholder.h],
781 roundradius: CONFIG.bedholder.margin
782 });
783 rv = rv.subtract([
784 CSG.cylinder({ // base screw
785 start: [0,-CD.base.mid_inscription_r,h0-1],
786 end: [0,-CD.base.mid_inscription_r,h0+CONFIG.bedholder.h+1],
787 radius: CONFIG.bedholder.bolt.d/2+PRINT.screw_tolerance/2
788 }),
789 CSG.cylinder({ // bed screw
790 start: [0,-CONFIG.heatbed.sr,h0-1],
791 end: [0,-CONFIG.heatbed.sr,h0+CONFIG.bedholder.h+1],
792 radius: CONFIG.bedholder.bolt.d/2+PRINT.screw_tolerance/2
793 }),
794 CSG.cube({ // nut pocket
795 center: [0,-CONFIG.heatbed.sr,nuth],
796 radius: [CONFIG.extrusion.w/2+1,(CONFIG.bedholder.nut.w+PRINT.slide_tolerance)/2,(CONFIG.bedholder.nut.h+PRINT.slide_tolerance)/2]
797 }),
798 CSG.cylinder({ // sink base screw
799 start: [0,-CD.base.mid_inscription_r,h0+bolt_s],
800 end: [0,-CD.base.mid_inscription_r,h0+CONFIG.bedholder.h+1],
801 radius: CONFIG.bedholder.bolt.head.d/2+PRINT.play_tolerance
802 })
803 ]);
804 rv = rv.union(CSG.cylinder({
805 start: [0,-CONFIG.heatbed.sr,nutth], end: [0,-CONFIG.heatbed.sr,nutth+PRINT.layer_height],
806 radius: (CONFIG.bedholder.nut.w+PRINT.slide_tolerance)/2+PRINT.extrusion_width
807 }));
808 rv = rv.intersect(CSG.cylinder({
809 start: [0,0,h0-1], end: [0,0,h0+CONFIG.bedholder.h+1],
810 radius: CONFIG.heatbed.r, resolution: 270
811 }));
812 rv.properties.P = new CSG.Connector([0,-CD.base.mid_inscription_r,h0],[0,0,1],[1,0,0]);
813 return rv.setColor(CONFIG.color.parts);
814}
815
767var PARTS = { 816var PARTS = {
@@ -805,3 +854,4 @@ var PARTS = {
805 foot: foot, 854 foot: foot,
806 shoe: shoe 855 shoe: shoe,
856 bedholder: bedholder
807}; 857};
@@ -873,2 +923,3 @@ function getParameterDefinitions() {
873 'foot', 'shoe', 923 'foot', 'shoe',
924 'bedholder',
874 'alltogethernow', 925 'alltogethernow',
@@ -882,4 +933,4 @@ function getParameterDefinitions() {
882 'Duet holder', 933 'Duet holder',
883 'Foot', 934 'Foot', 'Shoe',
884 'Shoe', 935 'Bed holder',
885 'All together now!', 936 'All together now!',