Repository navigation
Gridfinity: open a bin on any side, with no wall and no stacking lip there, so bins side by side make one run (#682) - #725
Merged
Conversation
…there, so bins side by side make one run (henmedia#682) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Owner
|
@mlugo-apx thank you, this is a thorough piece of work. I went through it and the checks are green. I will merge it and try it here, so it goes out with the next release. On your two questions: I would keep the scoops against the dividers going with the open side as you have it, and the switches where they are. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
For #682, open sides for Gridfinity bins as you described them there: a switch per side that takes away that wall and its stacking lip, so open bins side by side make one continuous run.
Summary
layerling_create_shapeandlayerling_update_objecttakegridfinityOpenBack,gridfinityOpenFront,gridfinityOpenLeftandgridfinityOpenRight, andlayerling_read_scenereports them. No new action.How it is built
lib/gridfinityGeometry.ts:gridfinityPlangetsopen, false on every side of a solid block or a baseplate (openFits).roundedLooptakes the open sides: they stay on the outline at every inset, the corners they touch are square, and each point on a side says which side it is. The display mesh sweeps the wall along each run of closed sides only (openBin), closes the wall's end in the open side's plane together with the floor's edge, and caps the floor out to the outline.gridfinityOpenGrownandgridfinityOpenCornersare the two small helpers both kernels use.GRIDFINITY_OPEN_REACH(the 3.75 mm corner plus 2 mm), so their corner roundings and the floor's rounding lie beyond the outline, where there is no bin. In the labelled mesh the shelves, scoops and dividers are cut to that grown inside and then cut off 0.001 mm inside the outline (LABEL_OPEN_TRIM): cut exactly at it, a piece's end lay in the plane of the bin's open end and Manifold left a sliver.lib/gridfinitySolid.ts: the block is square in the corners at an open side (roundedWiretakes an optionalsquare, andprismtakes a centre andsquare), the inside's loft and the compartments' cutters are grown as above, and the shelves are cut to an inside that reaches the outline, square in its corners there.ShapeInspector.tsx: the four switches come before the label shelf and scoop switches, fromGRIDFINITY_OPEN_WALL_KEYSas the scoops' come fromGRIDFINITY_SCOOP_WALL_KEYS; the shelf and scoop rows skip an open side; the compartment card's Label shelf gets the note.gridfinityFloorHeight, with the four booleans checked inlylProject.ts. Five keys in fifteen of the sixteen catalogues, a paragraph in guide chapter 09 in the eleven languages with the Gridfinity section, the changelog entry and a whatsNew card.Testing
On 1.99.0:
npm run typechecknpm test(2813 tests, 15 more than 1.99.0's 2798) andnpm run test:e2e(438, 15 more than 423)npm run buildandnpm run exportmeshForShapebuilds for booleans and export; and the fields through a saved.lyl(which refuses a value that is not true or false), the shape settings and the MCP.WorkplaneViewport.tsx, which no test reaches, as for the earlier Gridfinity keys there. The 11 gaps (the.lylcheck of the four booleans, the mesh thatmeshForShapebuilds for export, a compartment label's clip beside an open side, and eight in the settings panel) now have tests, each seen to fail on its mutation.Notes
ShapeInspector.tsx, the four switches, the shelf and scoop rows they hide and the compartment note. IngridfinitySolid.ts,roundedWireandprismget optional arguments; a closed bin takes the same path through both as before. The MCP sentence is added to the threeSKILL.mdcopies..lyl(older files open as before); one undo step per switch.Pictures
[picture: pr682-side-by-side.png] Two bins of 1 x 1 x 3 units, open on the sides that face each other, in the editor.
[picture: pr682-side-by-side-top.png] The same from above: the floor runs through, the walls end square 0.5 mm apart.
[picture: pr682-tray-compartments.png] A tray: 2 x 2 x 3 units, open all round, with 2 x 2 compartments.
[picture: pr682-settings.png] The switches, with Open on the left on and the left shelf and scoop switches gone.
[picture: pr682-print.jpg] The two bins printed, standing in a 2 x 1 baseplate.
🤖 Generated with Claude Code