--- /dev/null
+// quick hack to test linear pressure advance with a side of mild
+// retraction torture
+
+d = 30;
+
+translate ([d,0,0]) cube (d);
+
+translate ([-d-10,0,0]) cube ([d/3, d, d]);
+
+translate ([-d-10,-d*2,0]) cube (d/2);
+translate ([d+15,-d*2,0]) cube (d/4);
+
+/*
+
+
+try 2mm retract (then 35mm/s?)
+2mm jammed
+35mm/s jammed even with R2000 and 5.0 ejerk
+
+M905 K50
+M204 T2000 P500 R3000
+M205 X8.0
+
+M905 K50
+M204 T2000 P500 R2000
+M205 X12.0 E5.0
+
+M905 K50
+M204 T2000 P500 R3000
+M205 X12.0 E5.0
+
+next bump ejerk if needed
+R3000 = boom
+
+M905 K50
+M204 T2000 P500 R2000
+M205 X12.0 E10.0
+
+everything fucking sucks
+M905 K50
+M204 T2000 P500 R2000
+M205 X12.0 E5.0
+
+seriously
+M905 K0
+M204 T2000 P500 R3000
+M205 X12.0 E10.0
+
+round 2:
+
+ - ooze test 35mm/s 1.5mm retract with solid green and K50. Fail or
+ succeed does not matter, just need a reference for "it can work" or
+ "fail expected"
+ - several ooze test models with K0 and atomic filament
+ - Try R2000, 25mm/s 1.5mm, E10.0. Reduce jerk, then accel if needed
+ - Try R3000 (if it works), 35mm/s 1.5mm
+ - Intermediate retract speeds if required
+
+ initial result: both did ooze test @ max. plain green filament does
+ robot at most brutal 1.5mm settings without issues...
+
+M203 E35.0
+M204 T2000 P500 R3000
+M205 X15.0 E10.0
+M905 K50
+
+
+
+M203 E35.0
+M204 T2000 P500 R3000
+M205 X12.0 E10.0
+M905 K50
+
+*/
--- /dev/null
+/*
+ Simple model to test for surface ringing at high print speeds.
+ */
+
+$fn = 64;
+
+radius = 35;
+height = 35;
+n_pits = 3;
+
+pit_radius = height/n_pits/2;
+//pit_height = radius*2;
+
+difference () {
+ cylinder (h = height, r = radius, center = true, $fn = 128);
+ cylinder (h = height+1, r = radius-radius/4, center = true, $fn = 128);
+ pits (offset = radius);
+}
+pits (offset = -radius);
+
+ pit_rotations = rands (min_value = 0, max_value = 180, value_count = n_pits);
+
+module pits (offset) {
+ for (i = [0 : n_pits - 1]) {
+ echo (pit_rotations[i]);
+ rotate ([0, 0, pit_rotations[i]])
+ translate ([offset, 0, -height/2+pit_radius+i*height/n_pits])
+ rotate ([0, 90, 0]) {
+ /*translate ([0, 0, -3])*/ sphere (r = pit_radius);
+// cylinder (h = 6, r = pit_radius, center = true);
+ }
+ }
+}
+
+
+module random_balls () {
+ pit_offsets = rands (min_value = -radius/2, max_value = radius/2, value_count = n_pits);
+ pit_rotations = rands (min_value = 0, max_value = 180, value_count = n_pits);
+
+ for (i = [0 : n_pits-1]) {
+ translate ([0, 0, max (-pit_radius, i*height/n_pits-pit_height)]) rotate ([pit_rotations[i], 90, 0])
+ translate ([radius, radius, 0]) sphere (r = pit_radius);
+ //cylinder (h = pit_height, r = pit_radius, center = true);
+ }
+}
--- /dev/null
+// empty cube to test ninjaflex inner/outer wall adhesion
+
+nozzle_diameter = 0.5;
+d = 30;
+h = 20;
+wall = nozzle_diameter*4;
+
+difference () {
+ cube ([d, d, h], center=true);
+ // intentionally thin floor
+ translate ([0, 0, wall/2]) #cube ([d-wall, d-wall, h+0.01], center=true);
+}
+