Skip to content

Instantly share code, notes, and snippets.

@ednisley
Created October 12, 2025 20:01
Show Gist options
  • Save ednisley/edda26feff6da0d5297790ce28afcfe2 to your computer and use it in GitHub Desktop.
Save ednisley/edda26feff6da0d5297790ce28afcfe2 to your computer and use it in GitHub Desktop.
OpenSCAD source code: Carrier for baseboard heating radiator
// Baseboard radiator sled
// Ed Nisley - KE4ZNU
// 2025-10-11
include <BOSL2/std.scad>
Layout = "Sled"; // [Show,Build3D,Build2D,Sled,Wrap,Glue]
/* [Hidden] */
HoleWindage = 0.2;
Protrusion = 0.1;
Gap = 5.0;
Radiator = [25.0,62.0,50.0]; // X = support base, YZ = radiator element
SledBase = [Radiator.x + 10.0,Radiator.y,1.0]; // support under wrap
Runner = [SledBase.x - 2.0,3.0,1.6]; // bars contacting radiator support
GlueOA = [SledBase.x,SledBase.y] - [2.0,2.0]; // glue sheet
Wrap = [SledBase.x,Radiator.y + 1.0,Radiator.z + 1.0]; // chipboard wrap around radiator
WrapFlat = [Wrap.x,Wrap.y + 2*Wrap.z];
WrapThick = 1.2;
WrapSlit = 0.4;
//-----
// Sled base
module Sled() {
cuboid(SledBase,rounding=2.0,edges="Z",anchor=BOTTOM)
position(TOP)
for (j=[-1,1])
fwd(j*SledBase.y/3)
cuboid(Runner,rounding=Runner.z/2,edges="Z",anchor=BOTTOM);
}
//-----
// Glue sheet
// Export as SVG for laser cutting
module Glue() {
rect(GlueOA,rounding=2.0);
}
//-----
// Radiator wrap
// Export as SVG for laser cutting
module Wrap() {
difference() {
rect(WrapFlat,rounding=2.0);
for (j=[-1,1])
fwd(j*Wrap.y/2)
rect([Wrap.x/2,WrapSlit]);
}
}
//-----
// Build things
if (Layout == "Sled")
Sled();
if (Layout == "Glue")
Glue();
if (Layout == "Wrap")
Wrap();
if (Layout == "Show") {
xrot(180)
Sled();
color("Yellow",0.6)
Glue();
up(1)
color("Brown") {
cuboid([Wrap.x,Wrap.y,WrapThick],anchor=BOTTOM);
for (j=[-1,1])
fwd(j*Wrap.y/2)
cuboid([Wrap.x,WrapThick,Wrap.z],anchor=BOTTOM);
}
}
if (Layout == "Build3D") {
Sled();
}
if (Layout == "Build2D") {
left(GlueOA.x/2 + Gap/2)
Glue();
right(Wrap.x/2 + Gap/2)
Wrap();
}
@ednisley
Copy link
Author

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