Alan Gaudet
HW-01

3D Prints

Parametric household parts for an Elegoo Neptune 3 Pro, kept together from source model to G-code.

Risers in use; caddy in tuning

Render of the desk caddy: bin block on the drawer frame, two drawers with flush fronts, and relief patterns on the front and side.
Desk caddy, CAD render.
Render of the honeycomb dish rack riser block showing the hex lattice wall and the grooved draining deck.
Honeycomb riser block, CAD render.

Description

These are parts for my own home where no store part fits: riser blocks and a stabilizer for a dish rack, and a desk caddy with drawers and a valet dish. Every print folder keeps the source model, the mesh, the exact slicer profiles and the G-code together, so a part can be re-sliced after a nozzle or filament change without rebuilding the setup from memory.

Block diagram

  1. OpenSCAD source
  2. STL mesh
  3. Orca presets
  4. G-code
  5. Neptune 3 Pro

Decisions

Split the desk caddy at the shelf line

A one-piece caddy puts the bin floor over the drawer bay as a wide ceiling, which needs supports and leaves a scarred floor. Split at the shelf line, both halves print bottom-up on flat faces and the bin block becomes the bay's ceiling. The parts register on small rim tabs that drop into notches in the wall above, so nothing is glued. The cost is an extra part and a joint that has to stay consistent across every body in the stack.

Keep flattened slicer presets in every print folder

OrcaSlicer's command line does not merge a preset's hidden base parent, so values that live only there go missing at slice time. Three of them bit: the bed type defaulted to a plate with no heat, the relative-extrusion reset was absent so Orca refused to slice, and filament temperatures read zero. Each print now carries its own machine, process and filament presets with those values written in, maintained by hand.

Gate committed STLs against a rebuild from source

The riser STLs are committed so a slicer alone can print them, which means they can drift from the OpenSCAD source. The gate rebuilds each mesh and compares sorted facet sets, because OpenSCAD writes the same facets in a different order every run. It also checks that every mesh is watertight and fits the bed. A small parameter change still shows up as a whole-file STL diff in git.

Errata

  • The desk caddy's PETG G-code was sliced for the old brass nozzle and needs a hotter re-slice before any PETG print on the steel nozzle.
  • The first desk-set print on the current silk PLA slices failed on the first layer. The Z offset after the nozzle swap and a wet spool are the open suspects.

Revision history

Version Changes
riser 0.3.0 Front stabilizer block with side feet for the sink and counter, plus a foot test piece.
riser 0.2.0 Honeycomb riser variant with a graded draining deck and a built-in dovetail joint.
riser 0.1.0 First parametric riser block with a perforated deck and a separate dovetail key.