Bell Helmet Visor Mount Tabs

Santa delivered a pair of helmets that will require mirror mounts and a mic boom before the spring riding season kicks in. The visor has tabs that snap into sockets on each side of the helmet:

Bell Helmet Visor Mount - socket
Bell Helmet Visor Mount – socket

It occurred to me that I could make an interposer between the helmet and the visor that could anchor the mic boom, with a tab for the helmet and a socket of some sort for the visor. While that’s still on the to-do list, the tab looks like this:

Bell Helmet Visor Mount
Bell Helmet Visor Mount

Those are 1 mm cubes on 10 mm centers, so this is a teeny little thing.

I don’t have a good idea for the corresponding socket, because those little grippers seem much too small for 3D printing, but now I have some tabs to play with:

Bell Helmet Visor Mount - OEM vs 3D Printed
Bell Helmet Visor Mount – OEM vs 3D Printed

The OpenSCAD source code puts the tab atop an oval base plate, but it’ll eventually stick out of the boom mount:

// Bell Helmet Visor Mount
// Ed Nisley KE4ZNU
// December 2013

// Layout options

Layout = "Build";			// Build Show

//-----
// Extrusion parameters must match reality!

ThreadThick = 0.20;
ThreadWidth = 0.4;

HoleWindage = 0.2;

//-- Handy stuff

function IntegerMultiple(Size,Unit) = Unit * ceil(Size / Unit);

Protrusion = 0.1;			// make holes end cleanly

inch = 25.4;

//----------------------
// Dimensions

//----------------------
// Useful routines

module PolyCyl(Dia,Height,ForceSides=0) {			// based on nophead's polyholes

  Sides = (ForceSides != 0) ? ForceSides : (ceil(Dia) + 2);

  FixDia = Dia / cos(180/Sides);

  cylinder(r=(FixDia + HoleWindage)/2,
           h=Height,
	   $fn=Sides);
}

//- Put peg grid on build surface

module ShowPegGrid(Space = 10.0,Size = 1.0) {

	RangeX = floor(100 / Space);
	RangeY = floor(125 / Space);

	for (x=[-RangeX:RangeX])
		for (y=[-RangeY:RangeY])
			translate([x*Space,y*Space,Size/2])
			%cube(Size,center=true);

}

//-------------------
// Shapes

TabBaseLength = 17.0;
TabTopLength = 15.5;

TabWidth = 4.00;
TabHeight = 5.5;
TabEmbed = 0.5;
TabTaperHeight = 3.70;
TabBaseHeight = TabHeight - TabTaperHeight;

LatchBar = 2.25;					// square cross section
WebIndent = 1.60;					// from outside edge of post
WebThick = TabWidth - 2*WebIndent;
LatchIndentTall = TabHeight - LatchBar;

PostLength = 5.00;
PostTaper = 1.25;
LatchIndentLength = TabBaseLength - 2*(PostLength + PostTaper);

module BellLatch() {

	difference() {
		intersection() {
			translate([0,TabWidth/2,0]) rotate([90,0,0])				// side view
			linear_extrude(height=TabWidth)
				polygon(points=[
					[-TabBaseLength/2,-TabEmbed],[-TabBaseLength/2,TabBaseHeight],[-TabTopLength/2,TabHeight],
					[TabTopLength/2,TabHeight],[TabBaseLength/2,TabBaseHeight],[TabBaseLength/2,-TabEmbed]
				]);

			translate([0,0,-TabEmbed])
			linear_extrude(height=(TabHeight + TabEmbed),convexity=3)				// top view
				polygon(points=[
					[-TabBaseLength/2,-TabWidth/2],
					[-TabBaseLength/2, TabWidth/2],
					[-(TabBaseLength/2 - PostLength), TabWidth/2],
					[-(TabBaseLength/2 - PostLength - PostTaper),LatchBar/2],
					[ (TabBaseLength/2 - PostLength - PostTaper),LatchBar/2],
					[ (TabBaseLength/2 - PostLength),TabWidth/2],
					[ TabBaseLength/2, TabWidth/2],
					[ TabBaseLength/2,-TabWidth/2],
					[ (TabBaseLength/2 - PostLength),-TabWidth/2],
					[ (TabBaseLength/2 - PostLength - PostTaper),-LatchBar/2],
					[-(TabBaseLength/2 - PostLength - PostTaper),-LatchBar/2],
					[-(TabBaseLength/2 - PostLength),-TabWidth/2]
				]);
		}
		for (y=[-1,1])
		translate([0,y*((TabWidth/2 + WebThick/2)),LatchIndentTall/2])
			cube([LatchIndentLength,TabWidth,LatchIndentTall],center=true);
	}

/*	difference() {
		translate([0,0,TabHeight/2])
		cube([TabLength,TabWidth,TabHeight],center=true);
	}
*/
}

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

ShowPegGrid();

if (Layout == "Show")
	BellLatch();

if (Layout == "Build") {
	translate([0,0,2.0])
		BellLatch();
	difference() {
		resize([20.0,10.5,2.0])
			cylinder(r=2,h=2,$fn=32);
		for (x=[-1,1])
			translate([x*(5/2 + TabBaseLength/2 + 0.5),0,5+0.6])
				cube([5,25,10],center=true);
	}

}

7 thoughts on “Bell Helmet Visor Mount Tabs

  1. I assume you switched to the bright red filament to make ’em easier to find if they come loose?

    1. Nah, I’m lazy. That’s what was in the M2 at the time; it took three iterations to get the dimensions right and I’d rather burn through the red filament.

      Also, if I don’t use up that red stuff, I’ll have it forever. Another not-my-favorite-color, rather like pink ABS from the early TOM days.

  2. Was that PLA or ABS? The printer I backed on Kickstarter backed out of providing a heated bed and is therefore PLA only and I am wondering if I should ask for a refund and look elsewhere.

    1. It’s PLA, printed on hairspray with the glass bed at 75 C.

      I think a heated bed is absolutely necessary, even for PLA, because objects stick like glue until the bed cools below 45 C and then pop free without a struggle. I’ll put up with slow turnaround to get impeccable results.

      if I should ask for a refund and look elsewhere

      The strict interpretation says you’re backing a concept, not buying a specific product. That said, omitting the heated bed seems like a major goal adjustment. If they haven’t spent all the money yet, I’d want a similar adjustment in return.

      FWIW, the more I watch Kickstarter, the less I like what I see…

      1. I looked into it. Kickstarter is pretty clear that the Makers are required to honor their commitment in full or provide a refund, also in full. I had intentions of printing in ABS because of the easy gluability. PLA seems like more of a PITA in that regard. That said, it doesn’t look too hard to add a heated bed to machine. Maybe $100 total expenditure. And I still like the overall concept of what they’ve built. However, they were funded last February with a July delivery for my backer level. I had a reasonable expectation of September. Here it is, January, and they’ve just started shipping. To say I am disappointed with their performance has long since past being an understatement.

        As near as I can tell this project was a bunch of engineers of the sort who think managers are a waste of time, plans are a waste of time and business is a simple matter. They obviously got caught by surprises and they also got caught up in feature creep. Though they say omitting the heated build platform is a safety issue, I would bet they simply ran out of money, time or both.

        Of all the pithy amusements I imagine they are going through is this one: “It takes HOW LONG to assemble one of these things?”

        An aside: what the heck are these white bars falling down the screen? Are you punishing this southerner for not having to deal with the snowfall you have to deal with?

        1. Here it is, January, and they’ve just started shipping.

          I rest my case.

          punishing this southerner for not having to deal with the snowfall

          Got it in one!

          For most folks, they’re little white specks, not bars. Evidently, WordPress snow exercises all the glitchy video drivers… [evil grin]

        2. printing in ABS because of the easy gluability. PLA seems like more of a PITA in that regard

          I’ve been satisfied with PVC pipe cement, the kind delivering a significant dose of THF, although I haven’t run any formal tests. It seems to be not quite as good as solvent as acetone for ABS, but Good Enough.

          YMMV, of course…

Comments are closed.