Jump to content
Note to New Members ×

Adventures in plates (3D Printed)


Recommended Posts

Anyone want to generate a file for me? Can’t even get the software to draw anything....

it would be no lift, no twist, just 3 degree cant. 

Just has to be wide Enough to accommodate the Now “skate tech” doohickeys. 

Screw holes set to accommodate 20-10 angles

Link to comment
Share on other sites

It looks like if there’s no twist then the holes for the screws then they will be straight across the riser. Was trying to compensate for that. 

The software for customizing on Thingiverse would not even draw your specs nevermind when I tried to change it. So I couldn’t really mess with it. 

What I’m trying to do is build one that’s pure cant with as little lift as possible. 

Sorry to ask for the hand holding! 

I’m guessing the browser doesn’t like their website or something.

Link to comment
Share on other sites

2 hours ago, bobdea said:

It looks like if there’s no twist then the holes for the screws then they will be straight across the riser. Was trying to compensate for that. 

The software for customizing on Thingiverse would not even draw your specs nevermind when I tried to change it. So I couldn’t really mess with it. 

What I’m trying to do is build one that’s pure cant with as little lift as possible. 

Sorry to ask for the hand holding! 

I’m guessing the browser doesn’t like their website or something.

Think you can buy cant shims with asym washers so the bolts travel directly down into the inserts! 

Link to comment
Share on other sites

I'll translate:

Picture an angled block with 4x4 holes set so it can only be bolted on the board at 90-degrees (Skwal) or 0-degrees. That's what Bob DOESN'T want. He rides at 10 to 20 degrees and wants the holes to match so the binding has pure cant along its long axis. 

  • Like 1
Link to comment
Share on other sites

Ugh, won’t ship outside of Asia, those washers and screws were looking sexy! 

1 hour ago, JRAZZ said:

Ahhhh. I see. 

Cant across the axis. Let me do some math 

Thank you so much. Got it to draw in open scad but it didn’t like the input of my specs. 

Link to comment
Share on other sites

ohhh! open scad runs WAY better on mac OS! I can actually see whats going on now without buggy rotation. 

okay, so here we go, just need to fix the screw holes and maybe some other small tweak. 

this is amazing!

 

Screen Shot 2019-03-23 at 11.15.22 PM.png

would your life be made easier to add slots (like the ones daveo posted) as opposed to trying to calculate the offset?

I'm trying to learn open scad but I'm green to this...... 

  • Like 1
Link to comment
Share on other sites

37 minutes ago, bobdea said:

this is amazing!

🙂

I know. That's how I felt discovering OpenSCAD!

 

Is this what you mean?  (I'll post the code below - apparently we can't post files here)

Power_Plate.png.c3261c16c06fcaa19e36ee733fd50ac1.pngPower_Plate_2.png.a60111d10a8a26e3a322b6ae3ad0ccb1.png

 


bottom_length = 245;  //total length
bottom_width = 100;  //base width (twist will result in wider overall dimensions)
top_length = 245;
top_width = 130;
edge_rad = 4;    //edge radius of top and bottom surfaces
height = 30;        //minimum height (cant and/or lift will result in taller overall height) - NOTE: ht must be >= 2*edge_rad
twist = 9;     //degrees of twist
cant = 6;       //degrees of cant - this simple demo only supports positive (leftward) cant
lift = 0;       //degrees of lift - this simple demo only supports positive (heel) lift
screw_size = 6.25; //screw hole size
lightening_hole_spacing = 5;  // spacing between lightening holes
steps = 20;     //smoothness factor - more steps = smoother sides
screw_hole_spacing = 20; //spacing for screw holes - should not be changed
screw_hole_twist = 15;


//this adjusts the total height, to take into account height added due to the edge radius - shouldn't be changed by user
adj_ht = height - 2*edge_rad;
min_width = min(bottom_width, top_width);
min_length = min(bottom_length, top_length);

//difference to punch holes
difference() {
    //call the plate module to initiate the render
    translate([0,0,edge_rad]) //move to z=0
        plate();
    
	$fa = 1;
    //center lightening hole
	center_lhr = screw_hole_spacing*1.414 - (screw_size / 2) - lightening_hole_spacing;
    cylinder(h=100,r=center_lhr);
    
    //screw holes
    for (i=[0,90,180,270]) rotate(i+screw_hole_twist) screw_holes();
        
    //lightening holes        
    for (i=[0,180]) rotate(i) lightening_holes();
    //lightening_holes();
}

module screw_holes() {
    $fn = 20;
    translate([screw_hole_spacing,screw_hole_spacing,0]) 
        cylinder(h=100,r=screw_size / 2);
}

module lightening_holes() {
	
	s = screw_hole_spacing;
	w = (min_width / 2) - edge_rad;
	q = screw_size /2;
    lhs = lightening_hole_spacing / 2;

	side_lhy = (s + w) / 2;
	side_lhr = (w - s - lightening_hole_spacing) / 2;	
	
    $fa = 0.5;
    translate([0,side_lhy,0])
        cylinder(h=100,r=side_lhr);
    translate([side_lhy,side_lhy,0])
        cylinder(h=100,r=side_lhr);    
    translate([-side_lhy,side_lhy,0])
        cylinder(h=100,r=side_lhr);
    translate([side_lhy,0,0])
        cylinder(h=100,r=side_lhr); 
	
	tan_twist_2 = tan(twist/2);
    ta = s+q;
	incenter_hole(ta, ta*tan_twist_2, w/tan_twist_2, w, ta, w);
    incenter_hole(ta, ta*tan_twist_2, w/tan_twist_2, w, ta, ta*tan(twist/2) - w);

    rotate([0,0,twist/2-5])
        translate([min_length/2 - w*.7,0,0])
            cylinder(h=100,r=w/2 - lhs);
}

module incenter_hole(Ax, Ay, Bx, By, Cx, Cy) {
   	aL = sqrt(pow(Cx-Bx,2) + pow(Cy-By,2)); // length of BC
	bL = sqrt(pow(Cx-Ax,2) + pow(Cy-Ay,2)); // length of AC
	cL = sqrt(pow(Bx-Ax,2) + pow(By-Ay,2)); // length of AB
	pL = aL + bL + cL;
	
	//calculate incenter of triangle
	Ox = (aL*Ax + bL*Bx + cL*Cx) / pL;
	Oy = (aL*Ay + bL*By + cL*Cy) / pL;

    //calculate distance from center to AB to ger hole radius
    t_area = abs((Ax-Cx)*(By-Ay) - (Ax-Bx)*(Cy-Ay));
    rad = t_area / pL;	

    $fn = 50;
	translate([Ox,Oy,0])
		cylinder(h=100,r=rad - lightening_hole_spacing/2);
}

module plate() {
	$fa = 1;
	for (s = [0:1:steps-1]) {
	    translate([0, 0,  adj_ht/steps * s]) //move up according to step
        rotate([cant/steps * s, -lift/steps * s, 0]) //cant and lift
	    rotate([0, 0, twist/steps * s])  //twist along Z
        component_plate(bottom_width+(top_width-bottom_width)*s/steps, bottom_length+(top_length-bottom_length)*s/steps);
	}
}

module component_plate(width, length) {
	$fa = 1;
    minkowski() {	
        hull() {
            translate([-length/2 + width/2, 0, 0])
                cylinder(r=width/2 - edge_rad, h=.001);
            translate([length/2 - width/2, 0, 0])
                cylinder(r=width/2 - edge_rad, h=.001);
        }
        sphere(r=edge_rad, $fn=20);
    }
}

 

  • Like 1
Link to comment
Share on other sites

1 minute ago, JRAZZ said:

🙂

I know. That's how I felt discovering OpenSCAD!

 

Is this what you mean?  (I'll post the code below - apparently we can't post files here)

Power_Plate.png.c3261c16c06fcaa19e36ee733fd50ac1.pngPower_Plate_2.png.a60111d10a8a26e3a322b6ae3ad0ccb1.png

 


bottom_length = 245;  //total length
bottom_width = 100;  //base width (twist will result in wider overall dimensions)
top_length = 245;
top_width = 130;
edge_rad = 4;    //edge radius of top and bottom surfaces
height = 30;        //minimum height (cant and/or lift will result in taller overall height) - NOTE: ht must be >= 2*edge_rad
twist = 9;     //degrees of twist
cant = 6;       //degrees of cant - this simple demo only supports positive (leftward) cant
lift = 0;       //degrees of lift - this simple demo only supports positive (heel) lift
screw_size = 6.25; //screw hole size
lightening_hole_spacing = 5;  // spacing between lightening holes
steps = 20;     //smoothness factor - more steps = smoother sides
screw_hole_spacing = 20; //spacing for screw holes - should not be changed
screw_hole_twist = 15;


//this adjusts the total height, to take into account height added due to the edge radius - shouldn't be changed by user
adj_ht = height - 2*edge_rad;
min_width = min(bottom_width, top_width);
min_length = min(bottom_length, top_length);

//difference to punch holes
difference() {
    //call the plate module to initiate the render
    translate([0,0,edge_rad]) //move to z=0
        plate();
    
	$fa = 1;
    //center lightening hole
	center_lhr = screw_hole_spacing*1.414 - (screw_size / 2) - lightening_hole_spacing;
    cylinder(h=100,r=center_lhr);
    
    //screw holes
    for (i=[0,90,180,270]) rotate(i+screw_hole_twist) screw_holes();
        
    //lightening holes        
    for (i=[0,180]) rotate(i) lightening_holes();
    //lightening_holes();
}

module screw_holes() {
    $fn = 20;
    translate([screw_hole_spacing,screw_hole_spacing,0]) 
        cylinder(h=100,r=screw_size / 2);
}

module lightening_holes() {
	
	s = screw_hole_spacing;
	w = (min_width / 2) - edge_rad;
	q = screw_size /2;
    lhs = lightening_hole_spacing / 2;

	side_lhy = (s + w) / 2;
	side_lhr = (w - s - lightening_hole_spacing) / 2;	
	
    $fa = 0.5;
    translate([0,side_lhy,0])
        cylinder(h=100,r=side_lhr);
    translate([side_lhy,side_lhy,0])
        cylinder(h=100,r=side_lhr);    
    translate([-side_lhy,side_lhy,0])
        cylinder(h=100,r=side_lhr);
    translate([side_lhy,0,0])
        cylinder(h=100,r=side_lhr); 
	
	tan_twist_2 = tan(twist/2);
    ta = s+q;
	incenter_hole(ta, ta*tan_twist_2, w/tan_twist_2, w, ta, w);
    incenter_hole(ta, ta*tan_twist_2, w/tan_twist_2, w, ta, ta*tan(twist/2) - w);

    rotate([0,0,twist/2-5])
        translate([min_length/2 - w*.7,0,0])
            cylinder(h=100,r=w/2 - lhs);
}

module incenter_hole(Ax, Ay, Bx, By, Cx, Cy) {
   	aL = sqrt(pow(Cx-Bx,2) + pow(Cy-By,2)); // length of BC
	bL = sqrt(pow(Cx-Ax,2) + pow(Cy-Ay,2)); // length of AC
	cL = sqrt(pow(Bx-Ax,2) + pow(By-Ay,2)); // length of AB
	pL = aL + bL + cL;
	
	//calculate incenter of triangle
	Ox = (aL*Ax + bL*Bx + cL*Cx) / pL;
	Oy = (aL*Ay + bL*By + cL*Cy) / pL;

    //calculate distance from center to AB to ger hole radius
    t_area = abs((Ax-Cx)*(By-Ay) - (Ax-Bx)*(Cy-Ay));
    rad = t_area / pL;	

    $fn = 50;
	translate([Ox,Oy,0])
		cylinder(h=100,r=rad - lightening_hole_spacing/2);
}

module plate() {
	$fa = 1;
	for (s = [0:1:steps-1]) {
	    translate([0, 0,  adj_ht/steps * s]) //move up according to step
        rotate([cant/steps * s, -lift/steps * s, 0]) //cant and lift
	    rotate([0, 0, twist/steps * s])  //twist along Z
        component_plate(bottom_width+(top_width-bottom_width)*s/steps, bottom_length+(top_length-bottom_length)*s/steps);
	}
}

module component_plate(width, length) {
	$fa = 1;
    minkowski() {	
        hull() {
            translate([-length/2 + width/2, 0, 0])
                cylinder(r=width/2 - edge_rad, h=.001);
            translate([length/2 - width/2, 0, 0])
                cylinder(r=width/2 - edge_rad, h=.001);
        }
        sphere(r=edge_rad, $fn=20);
    }
}

 

Yup, that’s what I mean! 

Link to comment
Share on other sites

So this still has cant across the binding and not along the axis of the board.

If you want to get the canting axis along the axis of the board you need to do some "tweak-o-matic" math. 

Lift=sin(twist)*total_cant

Cant_across_binding=cos(twist)*total_cant

 

This will introduce a bit of lift that should (if I can still remember trig) rotate the axis of the cant to be along the axis of the board.

Anyhoo, awesome 🙂  let us know how they turn out!

Link to comment
Share on other sites

Hoof Cants modified and mounted.  Was able to get rid of lots of stack height and all the little shim hardware with the F2 Titan Flex and mimic my TD-3 stance I have been using for a long time.  3 degrees square with board so a little toe and heel lift, little tipped towards each other.

A29459DD-9ADE-41B8-90B8-6E62E90BC110.jpeg

2B9339C6-DD45-40D3-9D49-122F6FD64B56.jpeg

0853780A-55B1-42F4-B004-B7A1FEBD8C00.jpeg

  • Like 1
Link to comment
Share on other sites

  • 3 years later...

Resurrecting an older topic... but I'm excited because I just printed a set of plates for my soft bindings.  Wish I could try them out today, but our local resort is closed due to high winds.  Hopefully I'll get to try them soon.

I'm new to 3D printing and this took a lot of learning.  I traced the bottom of my bindings on paper, took a photo, drew splines in Inkscape, exported to Tinkercad, scaled to match real world dimensions.  Printing in PLA was easy, but took me quite a while to calibrate live-Z to work with PETG.  But it all came together, and at least so far the result looks good.  I should have printed them 12mm high because of the limited sizes in metric bolts my hardware store has (printed shims instead).  Used old bike tubes for the "elastomer" layer...   A few other tweaks for V2, but after I put some hours on these.

Ah, Rome bindings and a Stranda Shorty snowboard.  The motivation was of course to be able to put it even more on edge, the board is really fun to ride.

Tom.

 

img_0304_183421-sm.jpg

img_0304_181716-sm.jpg

img_0304_181708-sm.jpg

  • Like 4
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.




×
×
  • Create New...