3D printing horns

I’ve been playing with 3D printing horns recently, and thought that I’d share how I’ve got on so you can mock me accordingly.

The process is as follows:

  1. Create a horn profile using some kind of software. There are several options here, but generally they create a “point cloud” of the 3D profile. I’ve been using an Excel spreadsheet some dude wrote for this.
  2. Use this point cloud and create a 3D surface that is the same shape. I’ve been using a free software package called Meshlab for this.
  3. Take the 3D surface and make it into a 3D shape, and also create a base to attach it to the compression driver. After some fails with online 3D CAD systems, I’ve been using a free software package called Blender for this.
  4. The 3D shape then needs to be sliced for 3D printing for my specific printer model. The standard here is Cura, also free.
  5. And then it’s printed.

I’ll do a post on each step, then add some final thoughts…

1 Like

1 - creation of the point cloud

The first thing is a horn profile. I’ve been using this guy’s stuff:


He’s created an Excel spreadsheet (actually several) that’s quick and easy to use. You can create a round spherical horn (a la Avant Garde), but also add modifiers to the expansion, separately to horizontal and vertical. It outputs a point cloud, which is what is needed for the next stage.

Here’s its illustration of my first horn attempt:

That’s a 700Hz horn expanded especially in the horizontal (blue) plane, with a throat size to fit my JBL 2461 drivers.

The idea behind the expansion is that it takes place further towards the mouth, so you retain much of the low frequency loading (close to the driver) but change the directivity so it doesn’t beam so much at higher frequencies. But really I just want it to look cool to start with.

1 Like

2 – creation of the 3D surface

The point cloud is made into a 3D surface using a free software package called Meshlab, as recommended by the guy who wrote the Excel spreadsheet. The steps are dead easy, it’s one menu selection for each:

  1. Import the point cloud
  2. Calculate the normals (perpendiculars, if you like) based on the points (Filters – point sets – compute normal)
  3. Using the normals and points, create a 3D surface (Filters – Remeshing – Surface Reconstruction, Ball Pivoting)
  4. Recreate the face normal based on this new surface (Filters – Normals – Recompute Face Normals)
  5. Export as a .ply file

This is what it looks like once the surface is created:

1 Like

3D modelling

I started off using some of the online 3D modelling systems, such as TinkerCAD by Autodesk and Sketchup, which was once owned by Google. They were useless – neither imported the mesh correctly:

So I went for proper software, an open source, free package called Blender. The thing is, there’s a bit of a learning curve. Even the beginner YouTube explainers have these gurus flying through keyboard shortcuts to get stuff done. There are still some operations that I’m convinced I have done correctly, but it’s not done the expected thing. That said, I’ve only wasted about 5-6 hours and now I can get what I need.


So I created a cylinder for the base. Then another cylinder for the holes, which were then removed (Modifier – Boolean – Difference) from the base cylinder. Added the horn mesh, and extruded it (Edit mode – Mesh – Extrude – Extrude along normal) by 3mm.

Now I know what to do, a fresh one will take a couple of minutes. There have been several hours of irritation to get to this stage!

Once the model is ready, it’s time to slice. Export as .stl file.

1 Like


Cura is free software and is the standard package for slicing. My 3D printer is an Ender 3 Pro; it comes with its own slicing software, but that’s just an older version of Cura. Might as well use the up to date one, it has a complete profile for my printer model.

All you do is load up the .stl file, change any settings and click Slice. The only real quirk is that Blender uses “Blender units” that are kinda metres, but some things are scaled, so you might need to scale the resultant model It’s easy to tell – does it look like it’s about a centimetre long on the representation of the model bed?! The one above I had to scale up 10x because of reasons.

Also with 3D printing, you may need supports. Since it works on a layering basis from the bottom up, printing on thin air doesn’t work. So some areas, highlighted in red in Cura, need supports. Simple check box and it’ll add these.

Once it’s sliced, it’ll offer to save to the SD card, which you then put into the 3D printer.

3D printing
3D printing is an exercise in frustration. My printer didn’t work properly when I built it, which took me a year to bother to fix as I was so annoyed with it. Any slight fault with the setup or settings can result in it not working, and it’s rarely clear what has caused the problem.
Here is my history of 3D printing the horns:

Base to fit to 2461 driver to check it works. Win.

Started printing it with the horn, and realised that the base was projecting into the horn, as you can see by the ridges inside, to left and right. Fail. Moved to a 3mm thick base instead.

This one got this far and fucked up. Fail.

I think that the supports outside this one came free from the printer bed. Fail.

This one got over half way and then the printer just decided to stop extruding the PLA. That’s after about 27 hours. Cunt.

And this is what the above one looks like with the supports removed. You can see the shape fairly well.



Final thoughts

That’s as far as I’ve got. I’m not terribly bothered about the fails, as it’s all part of the experience, but I do get annoyed with the 3D printer getting so far and then getting bunged up (this was what the first problem with it was, as well – maybe my fix wasn’t quite right…). It was just a “try it out” model – I don’t think it will load the driver as low as I want. But still, bah!

I still have the following unresolved issues:

  • The 3mm thick base distorts too much. I was right with something closer to 10-12mm, but I need to work out how to cut a conical hole in it for the horn.
  • I can’t access all three mounting holes to attach it to the compression driver. This will be worsened by moving to a thicker base. That said, with a thicker base, 2 bolts was enough to it to fit very tightly to the driver.
  • I need to disassemble the 3D printer and clean the nozzle. And then see if that fixes it, or if it’s something else.

I’m likely to do nothing for a while though, until I’m less irritated with the 3D printer! I may try the horn design software here: https://at-horns.eu/ next, to see how that works.

I don’t know. I feel by curious quirk of fate, this is likely to be the most accurate representation of the end result of any image here.

1 Like

I’m not sure there are fails here if each effort brought some insight. Does your printer allow for a variety of mediums? I’ve been looking at some stuff with isotropic graphite additive which may be interesting acoustically.

So, you stick your horn in the blender?:joy:

Had to be said🙂

Looks good.

What sort of materials are available?
Are they all the same density throughout or is that variable?
Is there a softwood like printable material?

The coffee grind funnel Coco 3d printed me is very good.

Only PLA (which I’ve been using), plus TPU and PETG - basically all plasticky stuff (technical term). I doubt there will be much difference between them - much more difference is likely to be had by making the walls thicker or more solid, I would think.

1 Like

Praise be to lord the of Bitumen

1 Like

Yeah could just slap some asphalt around the back!

Thick car body undercoat and sand mix is good.

If it doesn’t reek like a tinkers trailer, I’m out.
Bitumen or bust.

1 Like

What, the filler stuff?

My technical testing of whacking the horn with a long bolt (I was flicking it until my finger started to hurt) indicates that it rings dully, but at a frequency that I’d guess around 500Hz. That’s not great as it’s so close to the working frequency of the horn.

I’m not convinced that any thickness of PLA will be solid/dense enough, so some kind of thick shit stuck on the back is likely to be necessary.

1 Like

Thick black bitumen type underseal.

It’s solvent based and once the solvent evaporates, even poor dear sensitive Rup’s nose😂 won’t smell anything.

Apply in increasing thin layers over a 30 yr period. The horns will age like a fine claret and festoon the nostrils with ongoing heady odors to surpass even the purest distilled Oud.

Some progress with the 3D printer, that’s working OK at the moment. They really are frustrating things. Current policy is to stick masking tape onto the base so that the PLA actually sticks to it. Yes, that’s a thing that I learned off the internet, so it must make sense.


I have created a screw system, so the first print sticks onto the compression driver, and the other bit screws into it. I’ve just tried it with a test screw as shown. It works, yay.

Now I’ve been fucking about with the 3D software and it’s reached a point where I’m going to stop and have a gin. It’s rather frustrating software to learn, especially as I want to just do a specific thing, not have a week of YouTube videos to learn how to make a stupid owl or whatever.