use ; module frame() { l=3000; w=1000; h=160; translate([-l/2, -w/2, 0]) cube([l, w, h]); } // specify (f)ront/(c)enter/(b)ack as -1/0/1 and (l)eft/(r)ight as -1/1 module wheel_position(fcb, lr) { translate([1300 * fcb, 450 * lr, -250]) children(); } // specify (f)ront/(b)ack and (l)eft/(r)ight as -1/1 module steered_wheel(fb=-1, lr=-1, rot=0) { rotate([90, 0, fb*rot]) wheel(); } // specify (l)eft/(r)ight as -1/1 module powered_wheel(lr=-1) { rotate([90]) wheel(); } module lasttretrad() { frame(); for (lr = [-1,1]) for (fb = [-1,1]) wheel_position(fb, lr) steered_wheel(fb, lr, rot=30); for (lr = [-1,1]) wheel_position(0, lr) powered_wheel(lr); } lasttretrad();