-rw-r--r-- | delta.jscad | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/delta.jscad b/delta.jscad index 9061c28..83122af 100644 --- a/delta.jscad +++ b/delta.jscad @@ -727,2 +727,37 @@ function duetholder() { +function heatbed() { + var rv = CSG.cylinder({ + start: [0,0,0], end: [0,0,CONFIG.heatbed.h], + radius: CONFIG.heatbed.r, resolution: 72 + }); + var screw = CSG.cylinder({ + start: [0,-CONFIG.heatbed.sr,-1], + end: [0,-CONFIG.heatbed.sr,CONFIG.heatbed.h+1], + radius: 3/2 + }); + var screws = []; + for(var a=0;a<360;a+=60) screws.push(screw.rotateZ(a)); // TODO: connectors + rv = rv.subtract(screws); + rv.properties.c_glass = new CSG.Connector([0,0,CONFIG.heatbed.h],[0,0,1],[1,0,0]); + rv.properties.P = new CSG.Connector([0,0,-CONFIG.foot.h-CONFIG.extrusion.w*2-CONFIG.base.gap],[0,0,1],[1,0,0]); + rv.properties.vitamin = true; + return rv.setColor(CONFIG.color.heatbed); +} +function glass() { + var rv = CSG.cylinder({ + start: [0,0,0], end: [0,0,CONFIG.glass.h], + radius: CONFIG.glass.r, resolution: 72 + }); + rv.properties.c_bed = new CSG.Connector([0,0,0],[0,0,1],[1,0,0]); + rv.properties.P = new CSG.Connector([0,0,-CONFIG.foot.h-CONFIG.heatbed.h],[0,0,1],[1,0,0]); + rv.properties.vitamin = true; + return rv.setColor(CONFIG.color.glass); +} +function platform() { + var b = heatbed(); + var g = glass(); + g = g.connectTo(g.properties.c_bed,b.properties.c_glass,false,0); + return b.union(g); +} + function refaxes(o) { @@ -771,2 +806,4 @@ var PARTS = { ]); + var p = P(platform()); + rv = rv.union(p); rv.properties.P = new CSG.Connector([0,0,0],[0,0,1],[1,0,0]); |