Easy Enclosure
EasyEnclosure is an open-source 3D modeling software tailored specifically for designing 3D-printable enclosures. It aims to provide an intuitive interface and a set of user-friendly controls that allow even those with little or no 3D modeling experience to create custom enclosures for their electronic projects, prototypes, or DIY gadgets.
Try it online now
Key Features
- User-Friendly Interface
- Real-Time 3D Preview
- Export to STL (Mesh) and STEP (Solid CAD) Formats
- Parametric Snap-Fit Clippable Lids (screwless assembly)
- High-strength PCB standoffs with automatic proportional root fillets
- Internal cable clamps with ribbed strain-relief grip and matching printable straps
- Save and load parameter presets as JSON
Export Formats
EasyEnclosure supports multiple 3D exchange formats with single-file download and multi-part ZIP bundling:
- STL (Mesh): Triangulated surface mesh for 3D printing slicers (Cura, PrusaSlicer, Bambu Studio, OrcaSlicer).
- STEP (Solid CAD): Standard ISO-10303-21 (AP214) faceted boundary representation for CAD modeling and assembly interoperability (FreeCAD, Autodesk Fusion 360, SolidWorks, Onshape).
ExportFormatService) enables adding additional formats (such as 3MF or OBJ) in the future.
Technology Stack
TypeScript, Angular, JSCAD
Development
Prerequisites
- Node.js 20+
- npm 10+
Install
npm install
Run Locally
npm run dev
This starts the Angular app from the repository root and synchronizes the UI version badge from package.json.
Build
npm run build
Test
npm test
or watch mode:
npm run test:watch
Deploy to GitHub Pages
npm run deploy
Deployment publishes dist/angular-app/browser.
Contributions
If you find this software useful and would like to see further development please consider donating or sponsoring.
It is very time consuming and expensive to continuously test prints with all the various combinations of settings, so you can also help by printing with as many different settings as possible and reporting any issues you may find.
Pull requests are also welcome!
Fastening & Screw Strategies
When securing the lid to the base, EasyEnclosure provides several hole strategies to match your fastening hardware:
1. Blind Holes (Self-Tapping Screws)
- Best for: Compact builds, prototypes, and projects where the enclosure will rarely be opened.
- Pros:
- Cons:
2. Blind Holes (Heat-Set Threaded Inserts)
- Best for: Professional enclosures requiring frequent opening and long-term durability.
- Pros:
- Cons:
3. Captive Hex Nut Pockets
- Best for: Strong machine screw fastening using standard, widely available hardware without needing a soldering iron.
- Pros:
- Cons:
4. Through Holes
- Best for: Long through-bolts with external nuts on the bottom, mounting standoffs, or clamping the entire enclosure to a surface.
5. Snap-Fit (Screwless Clippable Lids)
- Best for: Tool-free assembly, quick access battery compartments, sensor housings, and compact enclosures without screws.
- Mechanism: Parametric horizontal retention beads extruded along the lid insert rim snap into mating detent pockets cut into the interior base walls. Bead profiles use smooth elliptical arcs for easy insertion and positive retention without layer delamination.
- Snap Configurations:
- Tunable Parameters: Bead width along the edge, protrusion depth, bead height, mating pocket clearance, and corner setback percentage.
- Safety Safeguard: Snap bead projection depth is automatically clamped to $80\%$ of enclosure wall thickness to ensure outer wall integrity. Can be combined with or used instead of corner lid screws.
Screw Head Recesses & Lid Thickness
When enabling screw head recesses (Counterbore or Countersunk), the recess is cut directly into the top of the lid. Ensure that your Lid Thickness (roof) in the Dimensions tab is greater than the recess depth so a solid clamping shoulder remains:
- Countersunk Screws (DIN 7991 / ISO 10642):
roof): $2.5 - 3.0\text{ mm}$, which leaves $0.8 - 1.3\text{ mm}$ of solid plastic to bear screw clamping force.
- Counterbore (Socket Head Cap Screws - DIN 912):
roof): $4.0 - 4.5\text{ mm}$ with a $3.0\text{ mm}$ recess depth.
- Counterbore (Low-Profile Button Head Screws - ISO 7380):
roof): $2.5 - 3.0\text{ mm}$ with a $1.7\text{ mm}$ recess depth.
Tip: Increasing the lid roof thickness by $1 - 1.5\text{ mm}$ uses very little filament (just a thin flat layer), while keeping the four vertical base corner posts compact to maximize usable internal space for your PCB.
PCB Mount Standoff Reinforcement
Standard cylindrical standoffs printed vertically along the Z-axis in FDM 3D prints are vulnerable to shearing off at the first layer where they meet the enclosure floor or lid due to stress concentration under screw insertion torque. EasyEnclosure automatically reinforces all PCB standoffs with built-in root fillets:
- Automatic Proportional Root Fillet: A smooth circular transition ($360^\circ$ annular concave radius) that eliminates the sharp internal corner notch, providing maximum isotropic strength against both lateral shear and screw tightening torque while staying within standard circular PCB keep-out rings. The fillet is automatically sized in proportion to the standoff outer diameter ($1/3$ of outer diameter; e.g. a $2.0\text{ mm}$ fillet on a $6.0\text{ mm}$ standoff, capped safely at $45\%$ of standoff height).
Notes
- All measurements are in millimeters
- Enclosures intended for outdoor use should be printed with PETG filament
- Waterproof seal should be printed with TPU filament
- Supports are required for holes
- Overall height = Base Height + wall thickness
- Inner height = Base Height - wall thickness
- Inner width = width - (wall thickness \* 2)
- Inner length = length - (wall thickness \* 2)
- Screws take up extra space in corners, keep this in mind when deciding length and width
- PCB mount X and Y is derived from center of base
