--- /dev/null
+infty = 1000;
+eps = 0.01;
+
+gap = 25; // the air gap of the bridge
+width = 10; // width of the bridge
+thickness = 1; // thickness of the bridge
+height = 2; // height of the column under the bridge
+top_len = 4; // length of the top of the bridge column
+base_add = 2; // make the base of the column this wider and longer
+
+// two columns
+for (x = [-1,1]) {
+ scale([1, x, 1])
+ translate([0, gap/2+top_len/2, 0])
+ hull() { // base column
+ // bottom rectangle
+ translate([-(width+base_add)/2, -(top_len+base_add)/2, 0])
+ cube([width+base_add, top_len+base_add, eps]);
+ // top rectangle
+ translate([-width/2, -top_len/2, height])
+ cube([width, top_len, eps]);
+ }
+}
+
+// top rectangle
+translate([-width/2, -(gap+2*top_len)/2, height])
+ cube([width, gap+2*top_len, thickness]);