Skip to content

Instantly share code, notes, and snippets.

@ednisley
Created May 12, 2025 19:20
Show Gist options
  • Save ednisley/a9cb3ae6ec21129b7aa7bf7f59f8e014 to your computer and use it in GitHub Desktop.
Save ednisley/a9cb3ae6ec21129b7aa7bf7f59f8e014 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);
}
@ednisley
Copy link
Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment