Add round tile

This commit is contained in:
Przemek Grondek 2022-01-31 22:50:33 +01:00
parent 15617f0311
commit 92c6d2c0d1

10
LEGO_wtolerance.scad Normal file → Executable file
View File

@ -10,13 +10,13 @@
block_width = 2; block_width = 2;
// Length of the block, in studs // Length of the block, in studs
block_length = 6; block_length = 2;
// Height of the block. A ratio of "1" is a standard LEGO brick height; a ratio of "1/3" is a standard LEGO plate height; "1/2" is a standard DUPLO plate. // Height of the block. A ratio of "1" is a standard LEGO brick height; a ratio of "1/3" is a standard LEGO plate height; "1/2" is a standard DUPLO plate.
block_height_ratio = 1; // [.33333333333:1/3, .5:1/2, 1:1, 2:2, 3:3, 4:4, 5:5, 6:6, 7:7, 8:8, 9:9, 10:10] block_height_ratio = 1/3; // [.33333333333:1/3, .5:1/2, 1:1, 2:2, 3:3, 4:4, 5:5, 6:6, 7:7, 8:8, 9:9, 10:10]
// What type of block should this be? For type-specific options, see the "Wings," "Slopes," "Curves", and "Baseplates" tabs. // What type of block should this be? For type-specific options, see the "Wings," "Slopes," "Curves", and "Baseplates" tabs.
block_type = "round"; // [brick:Brick, tile:Tile, wing:Wing, slope:Slope, curve:Curve, baseplate:Baseplate, center:Center Stud] block_type = "round-tile"; // [brick:Brick, tile:Tile, wing:Wing, slope:Slope, curve:Curve, baseplate:Baseplate, center:Center Stud, round: Round Brick, round-tile: Round Brick Tile]
// What brand of block should this be? LEGO for regular LEGO bricks, Duplo for the toddler-focused larger bricks. // What brand of block should this be? LEGO for regular LEGO bricks, Duplo for the toddler-focused larger bricks.
block_brand = "lego"; // [lego:LEGO, duplo:DUPLO] block_brand = "lego"; // [lego:LEGO, duplo:DUPLO]
@ -270,7 +270,7 @@ module block(
*/ */
// The mass of the block. // The mass of the block.
if( type != "round") { if( type != "round" && type != "round-tile") {
difference() { difference() {
cube([overall_length, overall_width, real_height * block_height]); cube([overall_length, overall_width, real_height * block_height]);
translate([wall_thickness,wall_thickness,-roof_thickness]) cube([overall_length-wall_thickness*2,overall_width-wall_thickness*2,block_height*real_height]); translate([wall_thickness,wall_thickness,-roof_thickness]) cube([overall_length-wall_thickness*2,overall_width-wall_thickness*2,block_height*real_height]);
@ -297,7 +297,7 @@ module block(
// The studs on top of the block (if it's not a tile). // The studs on top of the block (if it's not a tile).
if ( type != "tile" && type != "center" && !real_dual_bottom && type != "round") { if ( type != "tile" && type != "center" && !real_dual_bottom && type != "round" && type != "round-tile") {
translate([stud_diameter * stud_rescale / 2, stud_diameter * stud_rescale / 2, 0]) translate([stud_diameter * stud_rescale / 2, stud_diameter * stud_rescale / 2, 0])
translate([(overall_length - total_studs_length)/2, (overall_width - total_studs_width)/2, 0]) { translate([(overall_length - total_studs_length)/2, (overall_width - total_studs_width)/2, 0]) {
for (ycount=[0:real_width-1]) { for (ycount=[0:real_width-1]) {