Jump to content

JRAZZ

Member
  • Posts

    1,142
  • Joined

  • Last visited

  • Days Won

    31

Everything posted by JRAZZ

  1. Must... Resist.... Urge.... Too bad I lost weight! Sweet ride. Was that SVR's?
  2. Feeling better and better about this code :) I've updated the lightening holes using a formula for finding incenters of triangles. It works!!! I know it looks the same but now the code is much more robust. I've updated the thingiverse link (found here: www.thingiverse.com/thing:2790669) Hopefully they get it running and we can use that to generate plates. In the meantime I've printed another set based on this code and they look primo. Super stoked on that! I think that the OpenSCAD version looks better but that's a personal preference :). The nice part is that the base is only 10cm wide while the tops are 13cm wide. That means that the bindings are fully supported while the footprint on the board is reduced, hopefully allowing it to bend more naturally. I've examined the screw holes, plates, screws, and bindings - no sign of damage whatsoever. While I'm not the most aggressive rider they do seem to be pretty skookum. Best part is that they work!! I'd love to know if anyone else is trying these out! (If you need help generating the files let me know too)
  3. I figure it’s got my back... (until it stabs me there) :)
  4. Nice!! To be emulated on the 27th.
  5. I have to agree.... The HAL9000 eye especially. I found a jepg with a lot of detail and it came out SPECTACULAR.
  6. OK, I guess I know what I'm doing tonight.... (let me find my caliper :D)
  7. Because more is better!! And more interesting. I would be bored riding the same thing all the time.
  8. Finally time for me to join the 21st century and Coiler up! Apparently customs are afraid Canada will infect us with poutine and a health care system. That's the only explanation of why it took them a WEEK to pass this through. Still, it got in undamaged (phew) and looking awesome!!! Can't wait to ride it on Sunday. Coiler NFCB 174 built for a 190(ish) person with a 10/12.7/12 sidecut. #superexcited!!!
  9. I tried doing the math to have the holes fill up the area more efficiently. My desk looks like it came from a holywood movie about some mad scientists - papers with equations and sketches all over the place. Not admitting defeat yet though! How did you do the hollowing out? It looks super neat!
  10. Who said nobody tried to print it? Maybe nobody has successfully printed it Long story short it's not strong enough when printing it with an FDM printer. I haven't given up but haven't succeeded yet - hence the silence on the issue.
  11. Probably easiest to machine them from stock from the get-go instead of dealing with casting. Just the finishing operations from casting would cost more than the entire machining operation. Another advantage of machining is more freedom of materials. For small parts the cost would be low for a reasonable batch.
  12. I've pretty much settled on 27/9 on 25cm wide boards. Seems to be the most comfortable for me with size 10 boots. I think that anything under 15 degrees on the back boot is pretty much the same in terms of bootout. I've only very recently discovered plates and have been having a blast trying them out. If you're looking for a cheap solution..... (caution - heavy nerd content)
  13. OK, This is becoming a serious brain teaser. Not happy with how I do the lightening holes yet but at least now you can do a different size top and bottom. I think I'll print a pair of these to see how they perform. Here's the code. I'm going to bed. My head hurts... 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 = 23.5; //minimum height (cant and/or lift will result in taller overall height) - NOTE: ht must be >= 2*edge_rad twist = 27; //degrees of twist cant = 3; //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 lightening_hole_size = 32; steps = 20; //smoothness factor - more steps = smoother sides screw_hole_spacing = 20; //spacing for screw holes - should not be changed //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_holes(); //lightening holes for (i=[0,180]) rotate(i) lightening_holes(); //lightening_holes(); } module screw_holes() { $fa = 1; 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; q = screw_size /2; //side_lhy = s + (((q + w)*(q - 2*s + w)) / (2*(q-s+w))); side_lhy = (s + w - edge_rad) / 2; side_lhr = (w - s - 2*lightening_hole_spacing) / 2; x_c1 = s + q + lightening_hole_size/2 + lightening_hole_spacing/2; y_c1 = lightening_hole_size/2 + lightening_hole_spacing/4; r1 = lightening_hole_size/2; adj_c1 = sin(twist/2) * s; r2 = r1 + lightening_hole_spacing; x_c2 = x_c1 + r2 + r1 + lightening_hole_spacing/2; y_c2 = -lightening_hole_spacing; $fa = 1; translate([0,side_lhy,0]) cylinder(h=100,r=side_lhr); rotate([0,0,twist/2]) { translate([x_c1 + adj_c1,y_c1,0]) cylinder(h=100,r=r1); translate([x_c1 - adj_c1,-y_c1,0]) cylinder(h=100,r=r1); translate([x_c2,y_c2,0]) cylinder(h=100,r=r2); } } 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); } }
  14. Do you mean make an attachment system like this for softboots or emulate what they are doing for hardboots? I've played around with multi-material prints and flexibles, you could definitely make a nice dampening system for hardboots but making it strong enough to be the actual attachment point is difficult. The plates above are specifically designed so the screws pass through them. Otherwise they would probably not be strong enough. Regardless, another project! Awesome!!!
  15. Yup, those values cause the top plate to intersect with the bottom plate. That will always cause a problem unless we increase the height (which the original code does automatically). I like the newer code because it measures the height at the center which is how I understand it. The problem becomes the screw height. With the old code you would need to adjust the height parameter to compensate for the tilt so you would get the correct screw length. When measuring from the center this becomes an issue only if the angles are large (and then you'd have a problem anyway). In the meantime my test print came out really nice! The steps are much less pronounced than they look like in the picture. I think that having 20 steps is plenty for our purposes. I still want to be able to have a different size top and bottom and also incorporate the lettering (sizes, angles, etc...). It's interesting how the resulting design comes out subtly different than what the CAD modelers (Solidworks and Onshape) spit out. Especially the fillet. While the CAD modelers produce a more technically correct shape I think I like the result that OpenSCAD gives. Feels somewhat chunkier and more pleasing to me.
  16. Oh my gawd. You guys are so LUCKY!! Do you have any idea how trenchy the slopes in Loveland get?!? How can an aspiring carver see his own tracks when they're constantly being run over by heavy heavy trenchers? I need to replace my knees every season just because of the slopes condition every Sunday. And let's not talk about being special. You guys get all the attention and gawking. "Hey look, here's an alpine carver, let's watch him"... On Loveland you're just another one of those carvers. Really, riding alone... Sounds almost fun * Above rant is a work of satire and should not be taken too literally. The author does not think riding alone is fun and seeing skiers fall on Mario's trenches is always entertaining.I can only recommend you move to Colorado and join the LCI so you can join an ATC every Sunday in Loveland (where the lifts are slow and it's always windy - you won't like it)!
  17. If you look closely at the first print I did I had a fillet around those holes. Then I realized that the entire clamping pressure is going around those bolts and I quickly removed it. I figure that the tradeoff between ease of installation and mechanical strength is an easy one here. :) I had a head start and didn't need to find how to do a minkowsky union. Arrow (and maybe some lettering is in the works! I'm printing a plate now just to see how it comes together. I'm not sure... What are duos? (My brain is this morning)
  18. JRAZZ

    Yo Lci!!

    One of those days which give all indications that will suck and end up being awesome! Great people, blue skies, not too terribly crowded for a Sunday after a dump. Was fun!
  19. That makes sense. I played around with it a bit and finally realized that smooth sides are overrated :) In all seriousness the sides themselves play a very small role in the overall strength of the plate. I think 10 is a good compromise. I did pick up on a more insidious problem. Doing the twist after the cant/lift caused a compound rotation that introduced unwanted angles. You could see it if you set the lift to zero. I reordered things around and removed the translations to keep things just around the origin. The result is more accurate IMHO. I've cleaned things up a bit and removed the comments because it's actually clearer like that to me Aaaand I published it on thingiverse so others can play around with it :) https://www.thingiverse.com/thing:2790669 Take a gander and let me know what you think! length = 245; //total length width = 120; //base width (twist will result in wider overall dimensions) edge_rad = 4; //edge radius of top and bottom surfaces height = 23.5; //minimum height (cant and/or lift will result in taller overall height) - NOTE: ht must be >= 2*edge_rad twist = 27; //degrees of twist cant = -3; //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 = 10; // spacing between lightening holes lightening_hole_size = 35; //self explanatory steps = 10; //smoothness factor - more steps = smoother sides quality = 20; //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; sh_rad = screw_size / 2; // screw hole radius lh_size = ((width-40)/4)-7; // lightening hole size lhz = lightening_hole_size / 2; //difference to punch holes difference() { //call the plate module to initiate the render translate([0,0,edge_rad]) //move to z=0 plate(); //center lightening hole cylinder(h=100,r=lhz); //screw holes for (i=[0,90,180,270]) rotate(i) screw_holes(); //lightening holes for (i=[0,180]) rotate(i) lightening_holes(); } module screw_holes() { $fn = quality; translate([20,20,0]) cylinder(h=100,r=sh_rad); } module lightening_holes() { $fn = quality; translate([0,(width/2+18)/2,0]) cylinder(h=100,r=lh_size); rotate([0,0,twist/2]) { translate([length/2 - lhz - lightening_hole_spacing*2,0,0]) cylinder(h=100,r=lhz); translate([length/2 - lhz*2 - lightening_hole_spacing*4,lhz + lightening_hole_spacing/2,0]) cylinder(h=100,r=lhz); translate([length/2 - lhz*2 - lightening_hole_spacing*4,-lhz - lightening_hole_spacing/2,0]) cylinder(h=100,r=lhz); } } module plate() { 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(); } } module component_plate() { $fn = quality; minkowski() { hull() { translate([-length/2 + width/2, 0, 0]) cylinder(r=width/2 - edge_rad, h=.001, $fn=120); translate([length/2 - width/2, 0, 0]) cylinder(r=width/2 - edge_rad, h=.001, $fn=120); } sphere(r=edge_rad); } }
  20. We had a group of 4-5 riders today. For some reason all of us chose softboots and all of us chose rear-entry bindings (flows and one GNU). I remarked on how easy it was to get in and out once you get them dialed in right. It might not be as easy as they advertise and on some situations kinda awkward but overall much easier than traditional.
  21. Sooo.... I've added some lightening holes. Still working on getting a different top and bottom sizes. However, it seems to take AGES to build into an STL. In fact I still haven't gotten a complete one. Any ideas on how to speed it up? len = 245; //total length wid = 120; //base width (twist will result in wider overall dimensions) edge_rad = 4; //edge radius of top and bottom surfaces ht = 23; //minimum height (cant and/or lift will result in taller overall height) - NOTE: ht must be >= 2*edge_rad twist = 27; //degrees of twist cant = -3; //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 = 10; // spacing between lightening holes lightening_hole_size = 35; //self explanatory steps = 100; //smoothness factor - more steps = smoother sides //this adjusts the total height, to take into account height added due to the edge radius - shouldn't be changed by user adj_ht = ht - 2*edge_rad; sh_rad = screw_size / 2; // screw hole radius lh_size = ((wid-40)/4)-7; // lightening hole size lhz = lightening_hole_size / 2; //call the plate module to initiate the render difference() { plate(); //center lightening hole cylinder(h=100,r=lhz, center=true); //screw holes translate([20,20,0]) cylinder(h=100,r=sh_rad,center=true); translate([20,-20,0]) cylinder(h=100,r=sh_rad,center=true); translate([-20,20,0]) cylinder(h=100,r=sh_rad,center=true); translate([-20,-20,0]) cylinder(h=100,r=sh_rad,center=true); //lightening holes for (i=[0,180]) rotate(i) lightening_holes(); } module lightening_holes() { translate([0,(wid/2+18)/2,0]) cylinder(h=100,r=lh_size,center=true); rotate([0,0,twist/2]) { translate([len/2 - lhz - lightening_hole_spacing*2,0,0]) cylinder(h=100,r=lhz,center=true); translate([len/2 - lhz*2 - lightening_hole_spacing*4,lhz + lightening_hole_spacing/2,0]) cylinder(h=100,r=lhz,center=true); translate([len/2 - lhz*2 - lightening_hole_spacing*4,-lhz - lightening_hole_spacing/2,0]) cylinder(h=100,r=lhz,center=true); } } //because OpenSCAD performs all rotations around the X, Y and Z axes, it is necessary to move the geometry to // proper relative position wrt X, Y and Z. Cant and Lift will be rotated wrt X and Y axes, respectively, so // for Cant and Lift rotations, the geometry should be aligned with X and Y axes //for Tiwst rotation, because this needs to be around the center of the plate, the geometry must be centered // on the Z axis, which requires moving the piece so it is centered at Z, rotating around Z, then moving it // back to where it needs to be (it needs to be in a different position for Z rotation than for X and Y rotation...) module plate() { lift_rot_shift = lift>0?-1:1; cant_rot_shift = cant>0?-1:1; //translate([len/2, wid/2 + (len - wid)/2 * tan(abs(twist)), edge_rad]) for (s = [0:1:steps-1]) { translate([0, 0, adj_ht/steps * s]) rotate([0, 0, twist/steps * s]) translate([lift_rot_shift*len/2, cant_rot_shift*wid/2, 0]) rotate([cant/steps * s, -lift/steps * s, 0]) translate([-lift_rot_shift*len/2, -cant_rot_shift*wid/2, 0]) component_plate(); } } //generate a plate of the desired length and width, with a thicness of 2*edge_rad (this how minkowski() works) // minnkowski operation here is cheap/quick, as its applied to a very thin piece of geometry //$fn value should be high on the end radii, for smooth side surfaces on the end module component_plate() { minkowski() { hull() { //note the adjustment for edge_rad contribution to X and Y that will be added back by minkowski() translate([-len/2 + wid/2, 0, 0]) cylinder(r=wid/2 - edge_rad, h=.001, $fn=120); translate([len/2 - wid/2, 0, 0]) cylinder(r=wid/2 - edge_rad, h=.001, $fn=120); } sphere(r=edge_rad, $fn=45); } }
  22. I think it's absolutely brilliant! Way different than what I had in mind but it works excellent! This works just as well for generating STLs for printing. More to play with. Thanks!!!
×
×
  • Create New...