Tour Easy: Zzipper Fairing Lower Mount Plates

Those plates handle the upper mount points, but the fairing also attaches to each side of the front fork. A nice rounded oval mates the fairing to the bracket, with two foam pads adapting the flat plates to the curved fairing surface. This view shows the outside of the fairing:

Lower mount - front
Lower mount - front

The hole position requires a mirror-image pair of mounts that, mercifully, all fit on the build platform at once. The solid models look about like you’d expect:

Lower Bushings
Lower Bushings

Those little tabs on the inside edge of the bracket recess printed about as poorly as you’d expect, but they’re not really critical.

I printed a set of white plates for my bike, installed the new filament tensioner, and went full frontal Barbie for my favorite ladies. This view shows the inside of the fairing:

Lower mount - rear
Lower mount - rear

Turns out my ladies don’t like pink any more than I do.

The OpenSCAD source:

// Clamp plates for Zzipper fairing on Tour Easy recumbents
// Ed Nisley - KE4ZNU - Mar 2011

// Build with...
//	extrusion parameters matching the values below
//	4 outer shells
//	4 solid surfaces at top + bottom

include </home/ed/Thing-O-Matic/lib/MCAD/units.scad>

// Extrusion parameters for successful building

ThreadWidth = 0.55;					// should match extrusion width
ThreadZ = 0.33;						// should match extrusion thickness

HoleWindage = ThreadWidth;			// enlarge hole dia by extrusion width

// Plate dimensions

Layer1X = 35;						// against fairing surface
Layer1Y = 30;
Layer1Z = 2*ThreadZ;

HoleOffsetX = 5.0;					// will be sign-flipped as needed
HoleOffsetY = -(Layer1Y/2 - 10.0);

Layer2Margin = 1.5;					// uncovered edge
Layer2X = Layer1X - 2*Layer2Margin;
Layer2Y = Layer1Y - 2*Layer2Margin;
Layer2Z = 3*ThreadZ;

MountX = 16.3 + HoleWindage;		// front fork mounting plate
MountHoleOffset = 13.0;				// Y end to hole center
MountY = Layer1Y;
MountZ = 4*ThreadZ;					// recess depth
MountCap = 3.0;						// endcap arc height
MountR = (pow(MountCap,2) + 0.25*pow(MountX,2)) / (2*MountCap);	// ... radius

Layer3Margin = 1.5;
Layer3X = Layer2X - 2*Layer3Margin;
Layer3Y = Layer2Y - 2*Layer3Margin;
Layer3Z = 3*ThreadZ;

PlateZ = Layer1Z + Layer2Z + Layer3Z;

HoleDia = 0.25 * inch;				// these are 1/4-20 bolt holes

// Convenience settings

BuildOffsetX = 3.0 + Layer1X/2;		// build X spacing between top & bottom plates
BuildOffsetY = 3.0 + Layer1Y/2;		//	... Y

Protrusion = 0.1;					// extend holes beyond surfaces for visibility

//---------------
// Create plate

module Plate() {

  union() {
	  translate([0,0,Layer1Z/2])
		scale([Layer1X,Layer1Y,1]) cylinder(r=0.5,h=Layer1Z,$fn=32,center=true);
	  translate([0,0,Layer1Z + Layer2Z/2])
		  scale([Layer2X,Layer2Y,1]) cylinder(r=0.5,h=Layer2Z,$fn=32,center=true);
	  translate([0,0,Layer1Z + Layer2Z + Layer3Z/2])
		  scale([Layer3X,Layer3Y,1]) cylinder(r=0.5,h=Layer3Z,$fn=32,center=true);
  }

}

//---------------
// Create hole

module Hole(OffsetX,OffsetY) {

  translate([OffsetX,OffsetY,PlateZ/2])
	cylinder(r=(HoleDia + HoleWindage)/2,
			h=(PlateZ + 2*Protrusion),
			center=true,$fn=10);

}

//---------------
//-- Build the things...

// Right side

translate([BuildOffsetX,BuildOffsetY,0])
  difference() {
	Plate();
	Hole(HoleOffsetX,HoleOffsetY);
  }

translate([BuildOffsetX,-BuildOffsetY,0])
  difference() {
	  Plate();
	  Hole(-HoleOffsetX,HoleOffsetY);
	  translate([-HoleOffsetX,(HoleOffsetY - MountY/2 + MountHoleOffset),(PlateZ - MountZ/2 + Protrusion/2)])
		intersection() {
		  cube([MountX,MountY,(MountZ + Protrusion)],center=true);
		  translate([0,(MountY/2 - MountR),0]) cylinder(r=MountR,h=(MountZ + Protrusion),center=true);
		}
  }

// Left side

translate([-BuildOffsetX,BuildOffsetY,0])
  difference() {
	Plate();
	Hole(-HoleOffsetX,HoleOffsetY);
  }

translate([-BuildOffsetX,-BuildOffsetY,0])
  difference() {
	  Plate();
	  Hole(HoleOffsetX,HoleOffsetY);
	  translate([HoleOffsetX,(HoleOffsetY - MountY/2 + MountHoleOffset),(PlateZ - MountZ/2 + Protrusion/2)])
		intersection() {
		  cube([MountX,MountY,(MountZ + Protrusion)],center=true);
		  translate([0,(MountY/2 - MountR),0]) cylinder(r=MountR,h=(MountZ + Protrusion),center=true);
		}
  }

3 thoughts on “Tour Easy: Zzipper Fairing Lower Mount Plates

  1. >Turns out my ladies don’t like pink any more than I do.

    This made me laugh out loud.
    When we got the Street Machine for Nikki, she told one of her coworkers, an avid rider, about it, and her coworker said “it better not be pink or I’m gonna hit you.” Nikki reassured her that it was Ducati Red, and everything was cool.

      1. Somehow, in a mostly unrelated series of events, I actually got a Ducati of sorts (it’s secretly a Bianchi, but designed by Ducati, however that works) so now we’re pretty much team Ducati Red. I’ve always called it blood red because I figure that’s the color any bike I own is going to end up being.

Comments are closed.