This template is used to create Gridfinity shadow boards using Python scripts and OpenSCAD.
![]() |
|
![]() |
![]() |
- Take Photos: Use a lightboard to take photos of your tools or components. Best images can be taken in an enclosure or dark room. Ensure to include a 3" token in the photo for scale reference (you can 3d print the token found in the main folder folder). Based on your ambient lighting conditions, you will need to fine-tune your Threshold Input value.
- Example Images: An example image taken on a lightbox is located in the
examplesfolder. You can use these to learn the workflow or debug problems. - Crop Photos: Ensure the borders of the photos are all white.
- Touch-Up Photos: Edit the photos as needed to create the shape you want to outline. The basic Paint application is most popular. Black filled shapes do well to ensure crisp, high contrasting edges are found
- Run the provided Python script to create your OpenSCAD files.
- Enter a project name. This will save all design files to a folder of that name to aide in documenting your work.
- General description of settings:
- Threshold Input: This helps with edge detection. Images should have high contrast of edges to background
- Offset: offset in inches from traced image
- Token Size: used for a scale reference
- The OpenSCAD file can be opened directly from the Step 1 Python user interface.
- In the customizer, you can modify various settings:
- General Settings: Adjust
gridx,gridy, andgridzto match the size of your desired shadow board. - Finger Slot Options: Customize the size, angle, and position of the finger slots.
- Cut Depth: Set the depth for the cuts.
- General Settings: Adjust
- Render and Export:
- Click the "Render" button (F6) to render the model.
- Once rendered, click "Export" to save the STL file.
- Open OrcaSlicer or Bambu Studio to generate the gcode for the printer. A .3mf template is available in the repository with preferred printer settings.
- Add text (hotkey "t"). Preferred Font = "Arial Rounded MT Bold", Height = 12mm. Smaller text height must use smaller nozzles on the printer.
- Use the color painting feature (hotkey "n") to fill the outline with a color that pops, like red. Standard colors used are:
- Black for the main print
- Red for the tool outline
- White for the text/trim
- If large shadow boards are being created you may need to cut (hotkey "c") the board into smaller pieces. Preferred method is to use dovetails
Want a walkthrough of the process? Check out the YouTube tutorial for a step-by-step guide!
Clone or download a copy of this repository. You can click the green "Code" button above and select "Download ZIP"
Download and install the latest nightly version of OpenSCAD from OpenSCAD Nightly Builds.
Important OpenSCAD Settings:
- Go to
Edit>Preferences>Advanced>3D Renderingand set the Backend to Manifold for best compatibility and performance. - Under
Design, ensure the checkbox for Automatic Reload and Preview is enabled. This will automatically update your model when you save changes to your SCAD file.
Download and install either OrcaSlicer from OrcaSlicer releases or Bambu Studio from Bambu Studio.
Bambu Studio Setup:
- After installing a fresh copy of Bambu Studio, you can run the
profile control.pyscript found in thePrinter Setupfolder. This will remove all but one profile and preset Bambu Studio to the standards used for making the shadowboards.
Keeping Your Desktop Version Updated:
- You can run the
github_sync_gridfinity.pyscript at any time. This will copy everything needed to your desktop and sync your desktop version with GitHub to get the latest updates.
- Setup Python:
- Download and install the latest version of Python from python.org. Ensure to add Python to your system PATH.
- Install Dependencies:
- Use the following command from a terminal or command prompt to install the required dependencies:
pip install PyQt5 opencv_python pillow colorama ezdxf fonttools iniconfig numpy opencv-python packaging pillow pip pluggy pyparsing pyperclip pytest typing_extensions
- Use the following command from a terminal or command prompt to install the required dependencies:
This project uses code from ostat's gridfinity-extended-openscad project for creating the Gridfinity base bins.



