summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--testdata/scad/bugs/issue95-normalization-crash.scad135
1 files changed, 13 insertions, 122 deletions
diff --git a/testdata/scad/bugs/issue95-normalization-crash.scad b/testdata/scad/bugs/issue95-normalization-crash.scad
index 10a3f66..7bca8ed 100644
--- a/testdata/scad/bugs/issue95-normalization-crash.scad
+++ b/testdata/scad/bugs/issue95-normalization-crash.scad
@@ -1,128 +1,19 @@
//
// Reported by Triffid Hunter.
-// Causes a crash in CCGTermNormalizer::normalizePass()
+// Causes a crash in CSGTermNormalizer::normalizePass()
//
-pi = 3.141592653589;
-sl = 0.5;
+difference() {
+ union() {
+ translate([0, -20, 0]) cube([30, 2, 40]);
+ cube();
+ }
-w = 400;
-
-pulley_diam = 28;
-bearing_diam = 22; //include size of bearing guides
-
-module crx(size=[1, 1, 1]) {
- linear_extrude(height=size[2])
- square([size[0], size[1]], center=true);
+ translate([15.5, -19, 14]) {
+ cylinder(r=5, h=2);
+ rotate([-90, 0, 0]) difference() {
+ translate([0, 0, 2]) cylinder(r=2, h=3);
+ translate([0, 0, 4]) cylinder(h=2);
+ }
+ }
}
-
-module cyl(r=1, h=1, center=false) {
- cylinder(r=r, h=h, center=center, $fn=r * 2 * pi / sl);
-}
-
-module lm8uu() {
- cyl(r=15 /2, h=24);
-}
-
-module nema17() {
- translate([0, 0, -48]) crx([42, 42, 48]);
- translate([0, 0, -1]) {
- cyl(r=2.5, h=26);
- cyl(r=22.5 / 2, h=3.1);
- }
- translate([0, 0, 2.1]) {
- difference() {
- cyl(r=pulley_diam / 2, h=11.5);
- translate([0, 0, (11.5 - 8) / 2]) rotate_extrude()
- translate([21.5 / 2, 0])
- square(8);
- }
- }
- cyl(r=17.5 / 2, h=19.5);
- for (i=[0:3]) {
- rotate([0, 0, i * 90])
- translate([31 / 2, 31 / 2, -1]) {
- cyl(r=1.5, h=11);
- translate([0, 0, 5.5])
- cyl(r=4, h=30);
- }
- }
-}
-
-module bearing608() {
- cyl(r=bearing_diam / 2, h = 7);
-}
-
-module rods() {
- for (i=[0:1]) {
- translate([25, 0, i * 70])
- rotate([0, -90, 0])
- cyl(r=4, h=420);
- }
-
- translate([0, 10, -40]) {
- cyl(r=3, h=150);
- translate([0, 0, 34]) cylinder(r=10 / cos(180 / 6) / 2, h=6, $fn=6);
- }
-
- translate([30, 10, -40]) {
- cyl(r=4, h=150);
- }
-}
-
-module lm8uu_holder() {
- render()
- difference() {
- union() {
- translate([0, 0, -13]) difference() {
- hull() {
- translate([-9, -9, -1]) cube([18, 1, 28]);
- translate([0, 1, -1]) cyl(r=18 / 2, h = 28);
- }
- translate([-10, 5, -1]) cube([20, 10, 28]);
- translate([-10, -3, 11 - 5]) cube([20, 20, 4]);
- translate([-10, -3, 11 + 5]) cube([20, 20, 4]);
- }
- }
- translate([0, 0, -11]) {
- hull() {
- #lm8uu();
- translate([0, 10, 0]) cyl(r=6, h=24);
- }
- translate([0, 0, -3]) hull() {
- cyl(r=5, h=30);
- translate([0, 10, 0]) cyl(r=5, h=30);
- }
- }
- }
-}
-
-module x_end_motor() {
- difference() {
- union() {
- translate([-10, -18, -19]) #cube([50, 2, 90]);
- translate([30, 10, 60]) lm8uu_holder();
- translate([30, 10, -5]) lm8uu_holder();
- }
- #rods();
-
- translate([15.5, -19, 14]) {
- rotate([90, 0, 0]) cyl(r=30 / 2, h= 50, center=true);
- rotate([-90, 45, 0])
- #nema17();
- translate([-w, 4, 0])
- rotate([-90, 0, 0])
- bearing608();
- translate([0, 5, 0]) hull() {
- #translate([0, 0, 24 / 2 - 1.5]) cube([1, 5, 1.5]);
- #translate([-w, 0, bearing_diam / 2 ]) cube([1, 5, 1.5]);
- }
- translate([0, 5, 0]) hull() {
- #translate([0, 0, 24 / -2]) cube([1, 5, 1.5]);
- #translate([-w, 0, bearing_diam / -2 - 1.5]) cube([1, 5, 1.5]);
- }
- }
- }
-}
-
-x_end_motor(); \ No newline at end of file
contact: Jan Huwald // Impressum