How to Make a Plate with Rounded Corners in OpenSCAD

All OpenSCAD tools and guides

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);

Run this example

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.

Rectangular plate with rounded corners

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);
}

Run this example

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

Reference: OpenSCAD manual.