Skip to content

Instantly share code, notes, and snippets.

@baudneo
Forked from ednisley/PC4 Fitting Plates.scad
Created January 11, 2026 00:18
Show Gist options
  • Select an option

  • Save baudneo/d3515211274328af1fb81e719ccb796b to your computer and use it in GitHub Desktop.

Select an option

Save baudneo/d3515211274328af1fb81e719ccb796b to your computer and use it in GitHub Desktop.
OpenSCAD source code: Adapter for PC4-M10 to Polymaker PolyDryer box lid
// PC4 Fitting Plates for PolyDryer
// Ed Nisley - KE4ZNU
// 2025-05-02
include <BOSL2/std.scad>
include <BOSL2/threading.scad>
Layout = "Plate"; // [Plate,Gasket,DrillGuide]
/* [Hidden] */
HoleWindage = 0.2;
Protrusion = 0.1;
NumSides = 3*3*4;
Gap = 5.0;
TubeStop = 0.5; // prevent PTFE tube from sliding through
ThreadLength = 6.0;
PlateOA = [28.0,22.0,ThreadLength + TubeStop];
ScrewOC = 20.0;
$fn=4*3*4;
//----------
// Define it
module Plate() {
difference() {
cuboid(PlateOA,anchor=BOTTOM,rounding=4.0,edges="Z"); // plate to fit PolyDryer
up(TubeStop) // thread for fitting
threaded_rod(d=9.7,l=ThreadLength + Protrusion,pitch=INCH/28,internal=true,bevel2=true,anchor=BOTTOM);
down(Protrusion)
for (i = [-1,1])
right(i*ScrewOC/2)
cylinder(4.5 + TubeStop + Protrusion,d=3.7,anchor=BOTTOM); // M3 4×4 inserts
down(Protrusion)
cylinder(2*TubeStop,d=2.5,anchor=BOTTOM); // filament clearance
}
}
//----------
// Build things
if (Layout == "Plate")
Plate();
if (Layout == "Gasket")
projection(cut=true)
Plate();
if (Layout == "DrillGuide")
difference() {
projection(cut=true)
Plate();
circle(d=10);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment