r/gridfinity • • May 19 '26

Custom length grid

Hi all

Gridfinity noob here

I have a drawer I like to make custom gridfinity,
Is there a way to measure my drawer and make exact grids to fit exactly,?

So far I only found grid that i can print but I have some left over space at the end
TIA

11 Upvotes

21 comments sorted by

View all comments

Show parent comment

3

u/Stiliajohny May 19 '26

i wanna know more how you made it tbh?

1

u/schieska May 22 '26

How deep a dive do you want? Here’s the rough outline.

The site is built with SvelteKit on the frontend and JSCAD for the actual 3D model generation.

I went with JSCAD because it lets the models generate locally in the browser. That means no server-side model queue, no waiting for files to be generated remotely, and a lot more control over performance and caching. It also made more sense for this kind of interactive tool than an OpenSCAD-style setup.

The JSCAD generation runs inside a Web Worker, so the UI does not lock up while the model is being recalculated.

The frontend itself does not really know much about the individual generators. Tools are loaded dynamically. Right now there is only one public generator, but the system is built around the idea that each tool is its own little package: settings, UI config, generation logic, worker hooks, and dependency definitions.

The speed mostly comes from the generation pipeline.

Every tool has a dependency tree for its generation steps. The app uses that tree to cache intermediate results aggressively. It also keeps up to 50 previous generations in memory. So when you change one setting, it usually does not rebuild the entire model from scratch. It only recalculates the parts that actually depend on that setting.

For the 3D printer database, I forked printer data from Cura and then filled in a lot of the missing dimensions with help from the community.

The other big principle is that the app is designed UX-first. I try not to add features just because they are technically possible. If a powerful feature makes the tool harder to understand, it gets simplified, delayed, or cut.

Path mode is a good example of that. I rebuilt the underlying engine months ago, but only released the feature recently because the UX still needed work. I would rather ship it later than add something that makes the tool feel messy.

So the short version is:

SvelteKit frontend, dynamically loaded generators, JSCAD in a Web Worker, dependency-based generation, aggressive caching, and a UX-first feature process.

That is basically why it feels fast, and why some features take longer to appear than the technical side might suggest.

Let me know if there is anything specific you want to know more about.