My Gridfinity models

Finishing touches

+37 -8
+29
Makefile
··· 1 + OPENSCAD := openscad-nightly 2 + IMGSIZE := 1024,768 3 + 4 + SIZES_1 := 1 2 3 4 5 6 7 8 5 + SIZES_2 := 1 2 3 4 5 6 7 8 6 + 7 + MODELS := $(foreach x,$(SIZES_1),pegboard-shelf/pegboard-shelf-$(x)x1.3mf) \ 8 + $(foreach x,$(SIZES_2),pegboard-shelf/pegboard-shelf-$(x)x2.3mf) 9 + 10 + IMAGES := $(MODELS:.3mf=.png) 11 + 12 + all: $(MODELS) $(IMAGES) 13 + 14 + pegboard-shelf/pegboard-shelf-%x1.3mf: pegboard-shelf.scad 15 + $(OPENSCAD) -o $@ -D 'grid_x=$*' -D 'grid_y=1' $< 16 + 17 + pegboard-shelf/pegboard-shelf-%x2.3mf: pegboard-shelf.scad 18 + $(OPENSCAD) -o $@ -D 'grid_x=$*' -D 'grid_y=2' $< 19 + 20 + pegboard-shelf/pegboard-shelf-%x1.png: pegboard-shelf.scad 21 + $(OPENSCAD) -o $@ -D 'grid_x=$*' -D 'grid_y=1' --autocenter --viewall --imgsize $(IMGSIZE) --render '' $< 22 + 23 + pegboard-shelf/pegboard-shelf-%x2.png: pegboard-shelf.scad 24 + $(OPENSCAD) -o $@ -D 'grid_x=$*' -D 'grid_y=2' --autocenter --viewall --imgsize $(IMGSIZE) --render '' $< 25 + 26 + clean: 27 + rm -f $(MODELS) $(IMAGES) 28 + 29 + .PHONY: all clean
pegboard-shelf.3mf

This is a binary file and will not be displayed.

+8 -8
pegboard-shelf.scad
··· 106 106 // Bottom row pegs (anti-rotation) 107 107 for (i = [0 : num_pegs - 1]) 108 108 translate([peg_x_start + i * peg_spacing, 0, bottom_peg_z]) 109 - peg(board_thickness + 2); 109 + peg(board_thickness + 1); 110 110 } 111 111 112 112 // === MODULES === ··· 119 119 } 120 120 121 121 module j_hook() { 122 - shaft_behind = 3; 122 + shaft_behind = 2; 123 123 shaft_length = board_thickness + shaft_behind; 124 - tip_length = 3; 124 + tip_length = 4; 125 125 tip_angle = 20; 126 126 127 127 // Straight shaft through the board ··· 141 141 // Triangle in the Y-Z plane bridging tilted shelf to vertical backplate 142 142 // rotate([0,90,0]) maps: polygon_x → -world_z, polygon_y → world_y 143 143 144 - // Front-bottom of tilted shelf 145 - by = backplate_thick + bp_clearance 146 - + shelf_depth * cos(shelf_angle) 144 + // Front-bottom of tilted shelf (after tilt transform) 145 + by = backplate_thick 146 + + (bp_clearance + shelf_depth) * cos(shelf_angle) 147 147 - BASEPLATE_HEIGHT * sin(shelf_angle); 148 148 bz = BASEPLATE_HEIGHT * (1 - cos(shelf_angle)) 149 - - shelf_depth * sin(shelf_angle); 149 + - (bp_clearance + shelf_depth) * sin(shelf_angle); 150 150 151 151 // Shelf underside projected back to the backplate face 152 152 ay = backplate_thick; 153 153 az = bz + (by - backplate_thick) * tan(shelf_angle) 154 - + BASEPLATE_OUTER_RADIUS; 154 + + BASEPLATE_OUTER_RADIUS + 0.1; 155 155 156 156 // Bottom of backplate 157 157 cy = backplate_thick;