diff --git a/README.md b/README.md index 08871a4..80c0bf3 100644 --- a/README.md +++ b/README.md @@ -82,6 +82,19 @@ To be compatible with standard bricks, the following print settings are strongly My prints were done on a modified SecKit SK-Go2 running Klipper, with 10k acceleration and 150mm/s print speed for a good balance of speed and quality. A short rail will take about an hour to print. +### Inserts + +_This is optional and increases difficulty and print time, but I highly recommened it._ + +Studs and anti-studs print rather inconsistently at the orientation of the rail. +To combat that, I added the option to pre-print stud and anti-stud inserts at perfect orientation and insert them mid-print. +Because the layer is immediately covered up, the plastic will adhere like it would if it was printed in one go. + +This also allows you to pre-select the best inserts without having to print a full rail only to have one bad stud. + +- In Cura, insert a "Pause at layer" at the last layer where the insert spots are not covered yet. +- If you use Klipper, use "Search and replace" with `; Layer 32` to `; Layer 32\nPAUSE`. + ### Filament | Color | RAL | PLA Supplier | ABS Supplier | diff --git a/assets/generated/AntiStudInsert.png b/assets/generated/AntiStudInsert.png index 33f7ef5..929334f 100644 Binary files a/assets/generated/AntiStudInsert.png and b/assets/generated/AntiStudInsert.png differ diff --git a/assets/generated/C15.png b/assets/generated/C15.png index 28c3992..a23917f 100644 Binary files a/assets/generated/C15.png and b/assets/generated/C15.png differ diff --git a/assets/generated/C7.png b/assets/generated/C7.png index 24bb5ab..69ef7a6 100644 Binary files a/assets/generated/C7.png and b/assets/generated/C7.png differ diff --git a/assets/generated/Classic Full Curve.png b/assets/generated/Classic Full Curve.png index 01f061f..dd06f84 100644 Binary files a/assets/generated/Classic Full Curve.png and b/assets/generated/Classic Full Curve.png differ diff --git a/assets/generated/Classic Full Straight.png b/assets/generated/Classic Full Straight.png index 3e60cd2..01249ad 100644 Binary files a/assets/generated/Classic Full Straight.png and b/assets/generated/Classic Full Straight.png differ diff --git a/assets/generated/Classic Half Curve.png b/assets/generated/Classic Half Curve.png index c1eb57f..e7c7c4d 100644 Binary files a/assets/generated/Classic Half Curve.png and b/assets/generated/Classic Half Curve.png differ diff --git a/assets/generated/Classic Half Straight.png b/assets/generated/Classic Half Straight.png index 62080a1..2886ea8 100644 Binary files a/assets/generated/Classic Half Straight.png and b/assets/generated/Classic Half Straight.png differ diff --git a/assets/generated/Classic Quarter Straight.png b/assets/generated/Classic Quarter Straight.png index 212ce01..fddce6d 100644 Binary files a/assets/generated/Classic Quarter Straight.png and b/assets/generated/Classic Quarter Straight.png differ diff --git a/assets/generated/S10.png b/assets/generated/S10.png index 9406061..a8531e5 100644 Binary files a/assets/generated/S10.png and b/assets/generated/S10.png differ diff --git a/assets/generated/S25.png b/assets/generated/S25.png index e8e1690..f276239 100644 Binary files a/assets/generated/S25.png and b/assets/generated/S25.png differ diff --git a/assets/generated/S4.png b/assets/generated/S4.png index e078725..8b80ed4 100644 Binary files a/assets/generated/S4.png and b/assets/generated/S4.png differ diff --git a/assets/generated/S5.png b/assets/generated/S5.png index b07db27..11df8c7 100644 Binary files a/assets/generated/S5.png and b/assets/generated/S5.png differ diff --git a/assets/generated/StudInsert.png b/assets/generated/StudInsert.png index 0e238b2..50c8757 100644 Binary files a/assets/generated/StudInsert.png and b/assets/generated/StudInsert.png differ diff --git a/track.scad b/track.scad index 959cbf7..1216fc7 100644 --- a/track.scad +++ b/track.scad @@ -2,12 +2,10 @@ include ; include ; /* [Print Settings] */ -// Some feature are generated with respect to the layer height -LayerHeight = 0.2; // [0.1,0.13,0.2] // Mid-print stud inserts allowing the studs to be printed facing up seperately -StudInserts = false; +StudInserts = true; // Mid-print slot inserts eliminating the need for supports -AntiStudInserts = false; +AntiStudInserts = true; // Part to generate Type = "rail"; // [rail,studs,antistuds] @@ -68,8 +66,12 @@ module antiStudInsert(carve=true, depth=$studHeight * 2, supportHeight=$LDU * 4, difference() { union() { cube([$tile * 2, $tile, depth + supportHeight], anchor=FRONT+BOTTOM); - translate([0, $tile, 0]) cube([$tile * 2 + supportWidth, supportWidth, depth + supportHeight], anchor=FRONT+BOTTOM); - translate([0, $tile / 2, 0]) cube([$tile * 2 + supportWidth, supportWidth, depth + supportHeight], anchor=FRONT+BOTTOM); + translate([0, $tile + supportWidth + (carve ? 0 : $LDU / 2), 0]) + cube([ + $tile * 2 + supportWidth + (carve ? 0 : $LDU), + supportWidth + $tile * 0.6 + (carve ? 0 : $LDU), + depth + supportHeight + ], anchor=BACK+BOTTOM); } if (carve) { @@ -85,12 +87,17 @@ module antiStudInsert(carve=true, depth=$studHeight * 2, supportHeight=$LDU * 4, } } -module studInsert(supportThickness = $LDU * 4) { - mirror_copy([0, 1, 0]) translate([0, $tile / 2, 0]) group() { - cube([supportThickness, $stud, $stud], anchor=RIGHT); - cyl(l=$studHeight, d=$stud, $fn=48, anchor=TOP, orient=LEFT); - } - translate([-supportThickness, 0, 0]) cube([supportThickness, $tile + $stud + $LDU, $stud], anchor=RIGHT); +module studInsert(carve=true, supportThickness = $LDU * 4) { + mirror_copy([0, 1, 0]) + translate([0, $tile / 2, 0]) + cyl(l=$studHeight + $LDU / 2, d=$stud + $LDU / 2, $fn=48, anchor=TOP, orient=LEFT); + cube([supportThickness, $tile + $stud, $stud], anchor=RIGHT); + translate([-supportThickness, 0, $stud / 2]) + cube([ + supportThickness + (carve ? 0 : $LDU), + $tile + $stud + $LDU + (carve ? 0 : $LDU), + $stud + $LDU * 1.5 + (carve ? 0 : $LDU) + ], anchor=RIGHT+TOP); } module brickSlot(w=1, l=1, h=3) { @@ -117,9 +124,10 @@ module endCapStraight(includeRail=true) { } if (StudInserts) { - mirror_copy([1, 0, 0]) translate([$width / 2, 0, 0]) studInsert(); + mirror_copy([1, 0, 0]) translate([$width / 2, 0, 0]) studInsert(carve=false); } + mirror_copy([1, 0, 0]) translate([$tile, 0, $tile / 2 - $plate * 2]) cyl(d=$fillet, h=$tile, $fn=12, anchor=TOP); translate([0, -$tile, $tile / 2 - $plate * 2]) cube([$tile * 2, $tile, $plate], anchor=FRONT+TOP); translate([0, -$tile, $tile / 2 - $plate * 2]) antiStudInsert(carve=false);