
OFCOMs plan for automatic compensation for broadba.Our OpenSCAD book is part of the latest Humble Bundle. Where are we with Unifi and iPhone roaming? t OpenSCAD linearextrude(15) text(t, 50) color(darkslategray).I added a point for the centre top and bottom, and then used loops to create the triangles for the polyhedron function.įirst the bottom, joining the centre to each point at the bottom of the thread. I created a set of 3D points of the helix that is the bottom of the outer edge of the thread, then the next edge above it, and then the bottom of the inner edge, and then the top of the inner edge (I did not round the inside of the thread, as that is optional). Millions of faces for a simple screw thread. You also need a lot of points on the circle simply to ensure the rotation works. When you realise that for a 1mm pitch screw thread that is 360 degrees per 1mm, you need a hell of a lot of slices. So the only answer is to have a lot of slices so that the twist between each slice is small. If you slice exactly at the layer height you are printing and it is all aligned, then this may not matter, but it does not make for a very general purpose model - even slightly off and you will print very different shapes and dimensions. It makes a number of slices (you can say how many) and each slice takes the 2D shape, and then a small increment above it, and twisted accordingly, the same shape, and it creates the sides to join them together, like this. However, I realised another problem with the whole idea of using linear_extrude. Using lookup and a loop to create a set of 2D points for the polygon function I was able to create the correct shape, and use it with linear_extrude/twist, and it looked fine and worked. That, in itself, was not easy, I ended up using a lookup function to linear interpolate the radius for each angle: an arc at the higher radius then an arc linearly reducing to the lower radius then an arc at the lower radius then a final arc linearly increasing back to the higher radius. My first idea was that instead of rotating a circle I would create a 2D shape that matches the cross section of a standard thread, and linear_extrude/twist that. As I say, it works, and is very simple.īut I thought I would have a go at making a standard thread instead.

Do look at the wiki page and see the difference. This is not really a problem, but it is far from conventional. One is that the cross section of the thread is a sine wave.
