diff --git a/models/core/lib/connector.scad b/models/core/lib/connector.scad index faba945..818066c 100644 --- a/models/core/lib/connector.scad +++ b/models/core/lib/connector.scad @@ -187,8 +187,8 @@ module connectorArmOuter(is_foot=false) { difference() { color(HR_YELLOW) cuboid(arm_dimensions_outer, chamfer=BASE_CHAMFER,except=BOTTOM); if(!is_foot){ - color(HR_RED) rotate([90, 0, 0]) cuboid([LOCKPIN_HOLE_SIDE_LENGTH, LOCKPIN_HOLE_SIDE_LENGTH, connector_outer_side_length], chamfer=-LOCKPIN_HOLE_CHAMFER); - color(HR_RED) rotate([90, 0, 90]) cuboid([LOCKPIN_HOLE_SIDE_LENGTH, LOCKPIN_HOLE_SIDE_LENGTH, connector_outer_side_length], chamfer=-LOCKPIN_HOLE_CHAMFER); + color(HR_RED) rotate([90, 0, 0]) cuboid([LOCKPIN_HOLE_SIDE_LENGTH, LOCKPIN_HOLE_SIDE_LENGTH, connector_outer_side_length + EPSILON], chamfer=-LOCKPIN_HOLE_CHAMFER); + color(HR_RED) rotate([90, 0, 90]) cuboid([LOCKPIN_HOLE_SIDE_LENGTH, LOCKPIN_HOLE_SIDE_LENGTH, connector_outer_side_length + EPSILON], chamfer=-LOCKPIN_HOLE_CHAMFER); } } } @@ -200,7 +200,7 @@ module connectorArmOuter(is_foot=false) { */ module connectorArmInner() { - arm_dimensions_inner = [arm_side_length_inner, arm_side_length_inner, BASE_UNIT]; + arm_dimensions_inner = [arm_side_length_inner, arm_side_length_inner, BASE_UNIT + EPSILON]; color(HR_GREEN) cuboid(arm_dimensions_inner, chamfer=BASE_CHAMFER,edges=BOTTOM); } diff --git a/models/core/lib/constants.scad b/models/core/lib/constants.scad index 10ce0ba..f4b1a86 100644 --- a/models/core/lib/constants.scad +++ b/models/core/lib/constants.scad @@ -24,6 +24,9 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. +// Prevent OpenSCAD Z-fighting in peview +EPSILON = $preview ? 0.01 : 0.00001; + // Fitting tolerance between mating parts TOLERANCE = 0.2; // in mm diff --git a/models/core/lib/lockpin.scad b/models/core/lib/lockpin.scad index 7e8a510..c7f16c4 100644 --- a/models/core/lib/lockpin.scad +++ b/models/core/lib/lockpin.scad @@ -191,6 +191,6 @@ module tension_hole_half(){ lockpin_tension_angle = 86.5; // in degrees lockpin_tension_hole_width_inner = PRINTING_LAYER_WIDTH * 4; // widest/middle point of the tension hole lockpin_tension_hole_height = BASE_UNIT / 2; - lockpin_tension_hole_inner_dimension = [lockpin_tension_hole_width_inner, lockpin_height]; // planar + lockpin_tension_hole_inner_dimension = [lockpin_tension_hole_width_inner, lockpin_height + EPSILON ]; // planar prismoid(size1=lockpin_tension_hole_inner_dimension, height=lockpin_tension_hole_height, xang=lockpin_tension_angle, yang=90); } diff --git a/models/core/lib/support.scad b/models/core/lib/support.scad index 1e618f1..9a329b6 100644 --- a/models/core/lib/support.scad +++ b/models/core/lib/support.scad @@ -89,7 +89,7 @@ module lock_pin_hole() { union() { prismoid(size1=lock_pin_center_dimension, size2=LOCKPIN_HOLE_SIDE_LENGTH_DIMENSION, h=lock_pin_prismoid_inner_length); translate([0, 0, lock_pin_prismoid_inner_length]) { - prismoid(size1=LOCKPIN_HOLE_SIDE_LENGTH_DIMENSION, size2=lock_pin_outer_dimension, h=lock_pin_prismoid_outer_length); + prismoid(size1=LOCKPIN_HOLE_SIDE_LENGTH_DIMENSION, size2=lock_pin_outer_dimension, h=lock_pin_prismoid_outer_length + EPSILON); } } } diff --git a/models/core/makerworld/connector.scad b/models/core/makerworld/connector.scad index d9bcd5a..14c28fb 100644 --- a/models/core/makerworld/connector.scad +++ b/models/core/makerworld/connector.scad @@ -18,6 +18,7 @@ is_foot = false; // [true,false] optimal_orientation = true; // [true,false] /* [Hidden] */ +EPSILON = $preview ? 0.01 : 0.00001; TOLERANCE = 0.2; PRINTING_LAYER_WIDTH = 0.4; PRINTING_LAYER_HEIGHT = 0.2; @@ -85,7 +86,7 @@ module lock_pin_hole() { union() { prismoid(size1=lock_pin_center_dimension, size2=LOCKPIN_HOLE_SIDE_LENGTH_DIMENSION, h=lock_pin_prismoid_inner_length); translate([0, 0, lock_pin_prismoid_inner_length]) { - prismoid(size1=LOCKPIN_HOLE_SIDE_LENGTH_DIMENSION, size2=lock_pin_outer_dimension, h=lock_pin_prismoid_outer_length); + prismoid(size1=LOCKPIN_HOLE_SIDE_LENGTH_DIMENSION, size2=lock_pin_outer_dimension, h=lock_pin_prismoid_outer_length + EPSILON); } } } @@ -203,15 +204,15 @@ module connectorArmOuter(is_foot=false) { difference() { color(HR_YELLOW) cuboid(arm_dimensions_outer, chamfer=BASE_CHAMFER,except=BOTTOM); if(!is_foot){ - color(HR_RED) rotate([90, 0, 0]) cuboid([LOCKPIN_HOLE_SIDE_LENGTH, LOCKPIN_HOLE_SIDE_LENGTH, connector_outer_side_length], chamfer=-LOCKPIN_HOLE_CHAMFER); - color(HR_RED) rotate([90, 0, 90]) cuboid([LOCKPIN_HOLE_SIDE_LENGTH, LOCKPIN_HOLE_SIDE_LENGTH, connector_outer_side_length], chamfer=-LOCKPIN_HOLE_CHAMFER); + color(HR_RED) rotate([90, 0, 0]) cuboid([LOCKPIN_HOLE_SIDE_LENGTH, LOCKPIN_HOLE_SIDE_LENGTH, connector_outer_side_length + EPSILON], chamfer=-LOCKPIN_HOLE_CHAMFER); + color(HR_RED) rotate([90, 0, 90]) cuboid([LOCKPIN_HOLE_SIDE_LENGTH, LOCKPIN_HOLE_SIDE_LENGTH, connector_outer_side_length + EPSILON], chamfer=-LOCKPIN_HOLE_CHAMFER); } } } module connectorArmInner() { - arm_dimensions_inner = [arm_side_length_inner, arm_side_length_inner, BASE_UNIT]; + arm_dimensions_inner = [arm_side_length_inner, arm_side_length_inner, BASE_UNIT + EPSILON]; color(HR_GREEN) cuboid(arm_dimensions_inner, chamfer=BASE_CHAMFER,edges=BOTTOM); } @@ -373,7 +374,7 @@ module tension_hole_half(){ lockpin_tension_angle = 86.5; lockpin_tension_hole_width_inner = PRINTING_LAYER_WIDTH * 4; lockpin_tension_hole_height = BASE_UNIT / 2; - lockpin_tension_hole_inner_dimension = [lockpin_tension_hole_width_inner, lockpin_height]; + lockpin_tension_hole_inner_dimension = [lockpin_tension_hole_width_inner, lockpin_height + EPSILON ]; prismoid(size1=lockpin_tension_hole_inner_dimension, height=lockpin_tension_hole_height, xang=lockpin_tension_angle, yang=90); } diff --git a/models/core/makerworld/lockpin.scad b/models/core/makerworld/lockpin.scad index 5dd2a19..eeeea1c 100644 --- a/models/core/makerworld/lockpin.scad +++ b/models/core/makerworld/lockpin.scad @@ -18,6 +18,7 @@ color(HR_YELLOW) lockpin(grip_type=grip_type); /* [Hidden] */ +EPSILON = $preview ? 0.01 : 0.00001; TOLERANCE = 0.2; PRINTING_LAYER_WIDTH = 0.4; PRINTING_LAYER_HEIGHT = 0.2; @@ -85,7 +86,7 @@ module lock_pin_hole() { union() { prismoid(size1=lock_pin_center_dimension, size2=LOCKPIN_HOLE_SIDE_LENGTH_DIMENSION, h=lock_pin_prismoid_inner_length); translate([0, 0, lock_pin_prismoid_inner_length]) { - prismoid(size1=LOCKPIN_HOLE_SIDE_LENGTH_DIMENSION, size2=lock_pin_outer_dimension, h=lock_pin_prismoid_outer_length); + prismoid(size1=LOCKPIN_HOLE_SIDE_LENGTH_DIMENSION, size2=lock_pin_outer_dimension, h=lock_pin_prismoid_outer_length + EPSILON); } } } @@ -203,15 +204,15 @@ module connectorArmOuter(is_foot=false) { difference() { color(HR_YELLOW) cuboid(arm_dimensions_outer, chamfer=BASE_CHAMFER,except=BOTTOM); if(!is_foot){ - color(HR_RED) rotate([90, 0, 0]) cuboid([LOCKPIN_HOLE_SIDE_LENGTH, LOCKPIN_HOLE_SIDE_LENGTH, connector_outer_side_length], chamfer=-LOCKPIN_HOLE_CHAMFER); - color(HR_RED) rotate([90, 0, 90]) cuboid([LOCKPIN_HOLE_SIDE_LENGTH, LOCKPIN_HOLE_SIDE_LENGTH, connector_outer_side_length], chamfer=-LOCKPIN_HOLE_CHAMFER); + color(HR_RED) rotate([90, 0, 0]) cuboid([LOCKPIN_HOLE_SIDE_LENGTH, LOCKPIN_HOLE_SIDE_LENGTH, connector_outer_side_length + EPSILON], chamfer=-LOCKPIN_HOLE_CHAMFER); + color(HR_RED) rotate([90, 0, 90]) cuboid([LOCKPIN_HOLE_SIDE_LENGTH, LOCKPIN_HOLE_SIDE_LENGTH, connector_outer_side_length + EPSILON], chamfer=-LOCKPIN_HOLE_CHAMFER); } } } module connectorArmInner() { - arm_dimensions_inner = [arm_side_length_inner, arm_side_length_inner, BASE_UNIT]; + arm_dimensions_inner = [arm_side_length_inner, arm_side_length_inner, BASE_UNIT + EPSILON]; color(HR_GREEN) cuboid(arm_dimensions_inner, chamfer=BASE_CHAMFER,edges=BOTTOM); } @@ -373,7 +374,7 @@ module tension_hole_half(){ lockpin_tension_angle = 86.5; lockpin_tension_hole_width_inner = PRINTING_LAYER_WIDTH * 4; lockpin_tension_hole_height = BASE_UNIT / 2; - lockpin_tension_hole_inner_dimension = [lockpin_tension_hole_width_inner, lockpin_height]; + lockpin_tension_hole_inner_dimension = [lockpin_tension_hole_width_inner, lockpin_height + EPSILON ]; prismoid(size1=lockpin_tension_hole_inner_dimension, height=lockpin_tension_hole_height, xang=lockpin_tension_angle, yang=90); } diff --git a/models/core/makerworld/support.scad b/models/core/makerworld/support.scad index d5c1c56..79be79e 100644 --- a/models/core/makerworld/support.scad +++ b/models/core/makerworld/support.scad @@ -20,6 +20,7 @@ x_holes = false; support(units=units, x_holes=x_holes); /* [Hidden] */ +EPSILON = $preview ? 0.01 : 0.00001; TOLERANCE = 0.2; PRINTING_LAYER_WIDTH = 0.4; PRINTING_LAYER_HEIGHT = 0.2; @@ -87,7 +88,7 @@ module lock_pin_hole() { union() { prismoid(size1=lock_pin_center_dimension, size2=LOCKPIN_HOLE_SIDE_LENGTH_DIMENSION, h=lock_pin_prismoid_inner_length); translate([0, 0, lock_pin_prismoid_inner_length]) { - prismoid(size1=LOCKPIN_HOLE_SIDE_LENGTH_DIMENSION, size2=lock_pin_outer_dimension, h=lock_pin_prismoid_outer_length); + prismoid(size1=LOCKPIN_HOLE_SIDE_LENGTH_DIMENSION, size2=lock_pin_outer_dimension, h=lock_pin_prismoid_outer_length + EPSILON); } } } @@ -205,15 +206,15 @@ module connectorArmOuter(is_foot=false) { difference() { color(HR_YELLOW) cuboid(arm_dimensions_outer, chamfer=BASE_CHAMFER,except=BOTTOM); if(!is_foot){ - color(HR_RED) rotate([90, 0, 0]) cuboid([LOCKPIN_HOLE_SIDE_LENGTH, LOCKPIN_HOLE_SIDE_LENGTH, connector_outer_side_length], chamfer=-LOCKPIN_HOLE_CHAMFER); - color(HR_RED) rotate([90, 0, 90]) cuboid([LOCKPIN_HOLE_SIDE_LENGTH, LOCKPIN_HOLE_SIDE_LENGTH, connector_outer_side_length], chamfer=-LOCKPIN_HOLE_CHAMFER); + color(HR_RED) rotate([90, 0, 0]) cuboid([LOCKPIN_HOLE_SIDE_LENGTH, LOCKPIN_HOLE_SIDE_LENGTH, connector_outer_side_length + EPSILON], chamfer=-LOCKPIN_HOLE_CHAMFER); + color(HR_RED) rotate([90, 0, 90]) cuboid([LOCKPIN_HOLE_SIDE_LENGTH, LOCKPIN_HOLE_SIDE_LENGTH, connector_outer_side_length + EPSILON], chamfer=-LOCKPIN_HOLE_CHAMFER); } } } module connectorArmInner() { - arm_dimensions_inner = [arm_side_length_inner, arm_side_length_inner, BASE_UNIT]; + arm_dimensions_inner = [arm_side_length_inner, arm_side_length_inner, BASE_UNIT + EPSILON]; color(HR_GREEN) cuboid(arm_dimensions_inner, chamfer=BASE_CHAMFER,edges=BOTTOM); } @@ -375,7 +376,7 @@ module tension_hole_half(){ lockpin_tension_angle = 86.5; lockpin_tension_hole_width_inner = PRINTING_LAYER_WIDTH * 4; lockpin_tension_hole_height = BASE_UNIT / 2; - lockpin_tension_hole_inner_dimension = [lockpin_tension_hole_width_inner, lockpin_height]; + lockpin_tension_hole_inner_dimension = [lockpin_tension_hole_width_inner, lockpin_height + EPSILON ]; prismoid(size1=lockpin_tension_hole_inner_dimension, height=lockpin_tension_hole_height, xang=lockpin_tension_angle, yang=90); }