How to Make a Plate with Rounded Corners in OpenSCAD
Round a 2D rectangle with offset(r=radius), then extrude it into a plate. Subtract twice the radius from the starting rectangle dimensions so the finished outline has the intended width and depth.
Round the outline without changing the target size
width = 60;
depth = 40;
height = 5;
radius = 4;
$fn = 64;
assert(radius > 0 && 2*radius < min(width, depth));
linear_extrude(height=height)
offset(r=radius)
square([width - 2*radius, depth - 2*radius], center=true);
This produces a centered 60 × 40 outline, 5 units tall, with rounded vertical corners. The top and bottom perimeter edges remain sharp. The radius changes the outline rather than adding a fillet to every 3D edge.

Add mounting holes to the rounded plate
width = 60;
depth = 40;
height = 5;
radius = 4;
$fn = 64;
difference() {
linear_extrude(height=height)
offset(r=radius)
square([width - 2*radius, depth - 2*radius], center=true);
for (x=[-22,22], y=[-12,12])
translate([x,y,-0.1]) cylinder(h=height+0.2,d=4);
}
Four mounting holes sit inside the rounded outline. The plate is centered in X and Y, which makes the symmetric hole coordinates easy to read.
What to watch for
Keep the corner radius smaller than half the shorter dimension. Starting with a full-size rectangle and offsetting outward would enlarge it by twice the radius.
This technique is useful for panels and mounting plates because the curved work happens in 2D before extrusion. It does not soften the top edge. For full 3D rounding and its cost tradeoff, use the existing rounded-box lesson.
Try it: change radius from 4 to 8 in the first model. The overall width and depth stay fixed while the straight portions get shorter.
Related guides
- How to Cut Holes in OpenSCAD with difference()
- How to Make Cylinders and Circles Smoother in OpenSCAD
- OpenSCAD cheatsheet
Reference: OpenSCAD manual.