Knurled Surface Library v2

by aubenc, published

Knurled Surface Library v2 by aubenc Oct 9, 2012
1 Share
Download All Files

Thing Apps Enabled

Order This Printed View All Apps

Use This Project

Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag.

Print Thing Tag


Thing Statistics

13654Views 5761Downloads Found in Parts


A new version of the knurled finishing library with some added refinements, information, new modules and features.
(Everything detailed in the Instructions section)
Did my best to keep this backwards compatible with the previous knurl library.
Unfortunatelly, this thing keeps on finding it hard to render (as from example 06 you'll need to compile to see the output).
Hope you enjoy it.


Refinements: Changed the way the final shape of the knurled cylinder is made.
Information: Console ECHO for the knurled cylinder final diameters (top and bottom of the knurl)
More Info: Added the module "knurl_help()" that echoes available modules and parameters.
New module: "knurl()" parameters supported but not required, will generate a knurled cylinder with some "default" parameters.
Updated "Ends Smoothing" functionality: In the previous version this was "carving a bevel" to the knurled cylinder, now it can also "emboss that bevel". This can be of some use when substracting the cylinder from another cylinder.
Set "e_smooth" parameter to a positive value to carve, set it to a negative value to emboss, set it to zero for no bevel at all. The value is for the height of the bevel.
Browse the examples in the OpenSCAD and play a little bit with them!
Please do check the PDF available in thing:9095 if you need more information.

More from Parts

view more

All Apps

3D Print your file with 3D Hubs, the world’s largest online marketplace for 3D printing services.

App Info Launch App

This App connects Thingiverse with Makeprintable, a cloud-based mesh repair service that analyzes, validates and repairs most common mesh errors that can occur when preparing a 3D design file for p...

App Info Launch App

Kiri:Moto is an integrated cloud-based slicer and tool-path generator for 3D Printing, CAM / CNC and Laser cutting. *** 3D printing mode provides model slicing and GCode output using built-in...

App Info Launch App
KiriMoto Thing App

With 3D Slash, you can edit 3d models like a stonecutter. A unique interface: as fun as a building game! The perfect tool for non-designers and children to create in 3D.

App Info Launch App

OpenScad is depreciating the assign module... this is the error that appears

DEPRECATED: The assign() module will be removed in future releases. Use a regular assignment instead.

I read some info in a OpenScad forum and there was talk of using for instead. Do you have a view as to what would work? Or... till it really stops working in OpenScad, should we just ignore the warning.

Thanks for the cool tool. I am using it to make repair for a portable sprlinkler right now... Will post when I finish my guess and test of the measurements. =)

Yes, you're right, OpenSCAD doesn't support variables, in the past, the "assign" trick was the only way to "assign" different values to a constant. Now you can do a direct assignment just using the equal sign.
I don't use the assign module any more in my new OpenSCAD scripts which often call (use/include) my old libraries with assigns without any problem but the warning message in the console.
I can live with that.
One day it will not work any more and I will have to do something about it unless someone else takes the time to post a derivative without those assigns ;)
Thanks for the comment!

Wow, I was looking to make a knob for the Z axis screw on my Printrbot Simple Metal and I like knurled knobs. Google turned up your library. I have made a flat plate of knurling but was wondering how to do it on a Cylinder. Thanks!!

You're welcome, thanks!

Do you have a source repository where we can follow the history/fork?

aubenc - in reply to l0b0

Sorry for the late answer, I'm finding some little technical issues with the Thingiverse's comments system.

No, I don't have such a thing, sometimes I think I should but I know I wouldn't be able to maintain it, I'm constantly jumping from one design back to an old one and suddenly starting something new... I never ever get to finish anything, what I upload here is that small portion of designs that are close to completion, or at least, functional enough to be published.

There wouldn't be any need to maintain it, just to make sure people can always find the latest version without having to search for the latest related thing. With version control it would also be very easy for others to help out with expanding the code.

would there be a way to make a flat piece for an anti-slip surface?

I did this by rotating a long cube 45 degrees and making a bunch of them in a for loop, then do it again at -45 degrees.
Probably a better way to do this (I am new at OpenSCAD) but here is what I have:
module cross_hatching() {
intersection() {
for(i = [1:110]) {
translate([1.5i,-L/4,0])rotate([45,90,0])rotate([0,0,45])cube([1,1,5W], center=true);
translate([1.5i,L/4,0])rotate([-45,90,0])rotate([0,0,45])cube([1,1,5W], center=true);
translate([L/2,0,0])cube([0.9L,0.9W, 10], center = true);
module to

No, not with this library (sorry) it only works for cylinders :(