3D-printing

You clearly have not worked in an industrial environment where engineers use computer simulations everyday to evolve the design of products..

..When it comes to large commercial engineering packages the cost is more for the support than the software itself.


True.. but I was thinking more along the lines of this sort of analysis at a more "consumer" level, and particularly a hobbyist level. I'd bet that there are quite a few people that would like to use some level of this analysis, but aren't willing to pay for a robust solution.


I suspect though that support is going to be problematic for any software package, depending on how "finished" the package already is for that particular user's needs.
 
This is the kind of surface you can expect directly from the printer. Add som primer and matte paint and I'm guessing the finish is acceptable for most.
I've seen acetone used (carefully, because it melts the plastic, and is of course bad to breathe - use in a ventilated area) to smooth out prints such as that. There's plenty of instructions online for acetone and other "post-processing" of 3d prints.

The local hackerspace has gone through four or five 3d printers in five years or so, starting with the Makerbot Cupcake. The two currently running are from Lulzbot. The latest is the Lulzbot mini that has a relatively small build volume (but I think plenty enough for that horn). I haven't printed anything on it myself, but I saw it taken out of the box and the first two prints made on it. The first thing it does is "level" the print bed by moving the print head down to each corner to see where it makes contact, and adjusting accordingly. On all previous printers I've seen this is a manual operation. People around here who have used 3d printers a lot are impressed (in a good way, of course) with the prints it has made.

I'd also like to have the .stl file to print. It will give me an excuse to get more involved with the thing. If everyone who prints it posts a "hot off the printer" pic along with printer model, we can get an idea of the relative quality of these things.
 
True.. but I was thinking more along the lines of this sort of analysis at a more "consumer" level, and particularly a hobbyist level. I'd bet that there are quite a few people that would like to use some level of this analysis, but aren't willing to pay for a robust solution.
I used to think this until recently when I prodded a bit in some threads on DIY speaker forums. I was considering putting together a how-to plus a bit of glue code to enable speaker hobbyist to use open source CAD, FEM, BEM,... to design speakers close to the way it would be done in industry (or at least in the medium/high tech engineering industry not so sure about typical speaker companies). The interest was not zero but it was a lot smaller than I expected and there was opposition in the sense of the resulting information being of little value, untrustworthy or irrelevant. People get different things from their hobbies and this aspect seems to be a significant interest to only a few among the DIY speaker folk.
 
I used to think this until recently when I prodded a bit in some threads on DIY speaker forums. I was considering putting together a how-to plus a bit of glue code to enable speaker hobbyist to use open source CAD, FEM, BEM,... to design speakers close to the way it would be done in industry (or at least in the medium/high tech engineering industry not so sure about typical speaker companies). The interest was not zero but it was a lot smaller than I expected and there was opposition in the sense of the resulting information being of little value, untrustworthy or irrelevant. People get different things from their hobbies and this aspect seems to be a significant interest to only a few among the DIY speaker folk.

Yeah, it's to "small" of a group. And the anticipated learning requirement is high.. PLUS it's based on (better) CAD modeling skills which most don't have either. (..I was thinking of lower "prosumer" CAD purchasers-users (in total) wanting access to this without having to pay for more.)

I also think the value is reasonably suspect as well for some aspects of loudspeaker design, mostly because people tend to think of it in terms of interior box design - and most cabinets are just to small with respect to their operating pass-band to accumulate pressure problems. (..and upper freq. reflections can be well attenuated with basic stuffing, and panel flexing isn't something most are likely to "chase-down" beyond a few braces either).

On the other hand there is the exterior of the cabinet, which could even include horn loading. And this is not at all trivial, but there are other less intensive solutions.
 
Last edited:
I used to think this until recently when I prodded a bit in some threads on DIY speaker forums. I was considering putting together a how-to plus a bit of glue code to enable speaker hobbyist to use open source CAD, FEM, BEM,... to design speakers close to the way it would be done in industry (or at least in the medium/high tech engineering industry not so sure about typical speaker companies). The interest was not zero but it was a lot smaller than I expected and there was opposition in the sense of the resulting information being of little value, untrustworthy or irrelevant. People get different things from their hobbies and this aspect seems to be a significant interest to only a few among the DIY speaker folk.
I haven't spent a lot time on other forums (maybe rec.audio.tech 15-20 years ago - also rec.audio.pro, but maybe that doesn't qualify as "hobby"), but it seems there's a lot of high end interest here on diyaudio.
 
First of all, let me say I've seem to have attracted exactly the kind of people I was looking for. A lot of knowledge and interested gathered among you guys :)


It is good to see simulations like this because it reveals and quantifies what is important in the physics and what is less so in a way that is rarely seen in most discussions on this forum.

...

Good stuff. I look forward to seeing lots more.
I agree with you and I'm happy you are here to follow the progress and read your input.

Please post .stl files! :D
I will when I've got something that is worth printing.

from Comsol Application Gallery

Optimizing the Shape of a Horn

Application ID: 4353

URL: Optimizing the Shape of a Horn

Google Search: "Acoustic Horn Shape Optimization" will yield a lot of articles on the subject, most of which are free.

Also here

http://www.diyaudio.com/forums/multi-way/178566-uppsala-gets-better.html

Regards,

WHG
Interesting!

I've seen acetone used (carefully, because it melts the plastic, and is of course bad to breathe - use in a ventilated area) to smooth out prints such as that. There's plenty of instructions online for acetone and other "post-processing" of 3d prints.

The local hackerspace has gone through four or five 3d printers in five years or so, starting with the Makerbot Cupcake. The two currently running are from Lulzbot. The latest is the Lulzbot mini that has a relatively small build volume (but I think plenty enough for that horn). I haven't printed anything on it myself, but I saw it taken out of the box and the first two prints made on it. The first thing it does is "level" the print bed by moving the print head down to each corner to see where it makes contact, and adjusting accordingly. On all previous printers I've seen this is a manual operation. People around here who have used 3d printers a lot are impressed (in a good way, of course) with the prints it has made.

I'd also like to have the .stl file to print. It will give me an excuse to get more involved with the thing. If everyone who prints it posts a "hot off the printer" pic along with printer model, we can get an idea of the relative quality of these things.
Acetone works for ABS, I'm using PLA (non-toxic fumes). There are other solvents (MEK) that work for PLA, but they aren't very nice... Another problem with using solvent for smoothing is that it will probably distort the throat edge that we seem to want.

Great that you want to try printing, I'll post *.stl:s.


I'm writing about the method I used to make the profiles now.

/Anton
 
Modeling a SEOS-profile in CAD (Creo)

Alrigt, this is an attempt to describe a way to model a Super-elliptical oblate spheroid profile in CAD-software (specifically Creo, but should be transferable to others as well).

The short version
1. Make OS-curves (2 for horisontal and 2 for vertical).
2. Make end-curves (1 circle at the throat and 1 super-ellipse at the mouth).
3. Make a Boundary Blend using all 6 curves to make a surface of the waveguide.
4. Add outer surfaces.
5. Merge into one surface and convert to solid. Now you have a block with waveguide cut-out.
6. Make additional modifications to make guide suitable for 3D-printing (e.g. shell) and add mounting plate with screw holes.

The long version
1. Make OS-curves (2 for horisontal and 2 for vertical).
a) I used the spreadshet that can be found here. Choose two spread angles (horisontal and vertical) and let the spreadsheet calculate B_hor and B_vert with desired throat radius and angle.

b) Create a new part in Creo and add some parameters:
D_TOTAL: total depth you want.
ALPHA_THROAT: Chosen throat angle.
R_THROAT: Throat radius.
ALPHA_HOR: Chosen horisontal spread angle.
ALPHA_VERT: Chosen vertical spread angle.
X_HOR: X Throat from spreadsheet for horisontal spread angle.
X_VERT: X Throat from spreadsheet for vertical spread angle.
B_HOR: B from spreadsheet for horisontal spread angle.
B_VERT: B from spreadsheet for vertical spread angle.
N: Chose a shape for the super-ellipse. 1 makes a normal ellipse, larger than 1 makes it more of an rectangle. I chose 1.5.

c) Create a Coordinate System and datum planes. Let the one of the planes be the throat (I chose the one with Z as normal).

d) Choose Datum->Curve->Curve from equation. You need to choose the Coordinate System created above as reference.

e) Insert the equation:
z = t*(d_total+x_hor)-x_hor
y = sqrt(b_hor+(t*(d_total+x_hor)*tan(alpha_hor))^2)

f) Repeat d-e above to create another horisontal but make y negative.

g) Repeat d-f above but exchange hor for vert and y for x.

Now you should have something that looks like this:
E1lQHcOl.png


2. Make end-curves (1 circle at the throat and 1 super-ellipse at the mouth).
a) Make a circle with the throat radius at the datum plane located at z=0.

b) Make another Coordinate System that is parallel to the one above and located at the end of the OS-curves.

c) Make another Curve from equation and insert
x = h_ellips * cos(t * 90)^(1/n)
y = w_ellips * sin(t * 90)^(1/n)
in equation. You need to calculate h_ellips and w_ellips. I let Creo do it using Relations like this:
w_ellips = sqrt(b_hor+((d_total+x_hor)*tan(alpha_hor))^2)
h_ellips = sqrt(b_vert+((d_total+x_vert)*tan(alpha_vert))^2)

d) Use Mirror twice to create the complete super-ellipse.

e) Make a new Datum Plane that is parallel to the one at Z=0 and located at the end of the OS-curves (Z=d_total).

f) Make a Sketch on the datum plane and Project the four super-ellipse curves, thereby making one continuos super-ellipse.

3. Make a Boundary Blend using all 6 curves to make a surface of the waveguide.
Click Boundary Blend and then choose the four OS-curves. Click Close Blend and then choose the circle and super-ellipse for the other direction.

Should now look like this:
ccYFq7zl.png


4. Add outer surfaces.
a) Make rectangle on sketch with super-ellipse, use Fill to make surface.

b) Extrude edge of rectangle as surface to plane with circle.

c) Create sketch with circle and rectangle (at throat). Use fill to create surface.

5. Merge into one surface and Convert to solid. Now you have a block with waveguide cut-out.
2ep3WXIl.png


6. Make additional modifications (e.g. rounding), make guide suitable for 3D-printing (e.g. shell) and add mounting plate with screw holes.


Notes
1. The OS-profile is strictly kept at the defined lines. I'm not sure how well it agrees in between. If it is important you can calculate intermediate OS-curves at other angles (e.g. 45 degrees) and use those as well when making the Boundary Blend.

2. I've taken the equations from the spreadsheet to make my model completely parametrised. Just choose alpha_ver, alpha_hor, alpha_throat and d_total to get a model.

3. I can't find what n is used for the real SEOS waveguides.

4. You can't choose alpha_throat smaller than 0 or larger than alpha_hor or alpha_vert.

5. If anyone wants my Creo-file to play around I'll upload it.

6. Credit for the spreadsheet goes to John Kreskovsky "John K..." and to Dr. Earl Geddes for the OS-profile.

/Anton
 
Last edited:
Different rounding for horisontal and vertical

I was looking at the SEOS-waveguides and noticed that the rounding radius seems larger in the horisontal direction than in the vertical:
An externally hosted image should be here but it was not working when we last tested it.


I added this to my model. This is with 40 mm radius on the horisontal and 10 mm radius on the vertical:
XmpOT2a.png

66 degree vertical, 90 degree horisontal coverage, 210 x 140 x 80 mm (W x H x D). 38 mm throat with 10 degree angle.

/Anton
 
First print for measurement!

I felt like it would be a good idea to print a simple OS waveguide for two reasons:
1. To verify that the simulations give decent results. An OS waveguide can be modelled as axisymmetric (2D) which is 10-100 times faster than a 3D-model.
2. To se if I have measured the R2604 correctly.

So I made this CAD:
Pug9srKl.png

It's 115 mm wide and 40 mm deep. The spread angle is 98 degrees and the throat angle is 10 degrees. There is a 1/2" rounding on the mouth. It is still using the SEOS CAD from earlier, but with identical parameters for horisontal and vertical.

Fresh from the printer:
5ssQOeMl.jpg


vFIrZgol.jpg


fzbpGsBl.jpg


After a few minutes of removing support material and scraping defects off with my fingernails:
EfEdo2Xl.jpg


kr5rlpZl.jpg


6dihZhzl.jpg


s4m4Hmsl.jpg

Quite decent fit and finish :)

JDSsmX7l.jpg

This is the area where the finish is worst. When the first layer is added on top of the support material it isn't forced into the previous layer to avoid too much adhesion to the support material. This in turn results in a poor surface finish.

wEnP44Cl.jpg

2.5 hours in the machine, 50 g of PLA used (less than 2 USD).

My plan is to measure flat baffle and this waveguide today.

/Anton
 
Last edited:
Onni,
Very cool! :cheers: Would you please upload the .stl file for us to try this along with you? PM me if you need to send via email if too big for upload.
Thanks,
X
Sure X!

I've mounted it to the R2604 by removing the head from 16 mm long M3 screws and then using a nut on the waveguide. One problem with the attached stl is that there is not enough room for the nut.

I'm doing measrurements now, I'll post them later.

/Anton
 

Attachments

  • os_first_print.zip
    87.5 KB · Views: 99
I felt like it would be a good idea to print a simple OS waveguide for two reasons:
1. To verify that the simulations give decent results. An OS waveguide can be modelled as axisymmetric (2D) which is 10-100 times faster than a 3D-model.
2. To se if I have measured the R2604 correctly.

This looks like a very good idea to me. Unless something is making the 2D simulations inefficient I would expect an equivalent resolution 3D simulation of a quarter of the waveguide to be significantly more than 100 times slower. Which is why it is a good idea to sort out as much you can by running lots of 2D simulations, as you seem to be doing, before running a few 3D simulations.

The triangles in the provided STL file are both too large and unnecessarily subdivided over some of the flat sections. Are the creases in the waveguide running from the throat to mouth caused by this too coarse a tesselation? Or did you use a finer tesselation when printing.
 
This looks like a very good idea to me. Unless something is making the 2D simulations inefficient I would expect an equivalent resolution 3D simulation of a quarter of the waveguide to be significantly more than 100 times slower. Which is why it is a good idea to sort out as much you can by running lots of 2D simulations, as you seem to be doing, before running a few 3D simulations.

The triangles in the provided STL file are both too large and unnecessarily subdivided over some of the flat sections. Are the creases in the waveguide running from the throat to mouth caused by this too coarse a tesselation? Or did you use a finer tesselation when printing.
You are correct about the simulation time, the current 2D sims take about 2 minutes, the 3D sims take hours and are less detailed.

I really appreciate the feedback I've never done this before. The attached STL is the one used for the print, which looks fine to me. I'm not sure how to tune the parameters for a better file.

/Anton
 
The attached STL is the one used for the print, which looks fine to me. I'm not sure how to tune the parameters for a better file.
I am a bit baffled by it looking fine. You cannot see the creases every 8 degrees or so in the waveguide, or that you consider them unimportant, or that you believed they come from printing in layers, or something else?

An STL file is simply a list of triangles. Triangles have a flat surface. In order to approximate the curved waveguide with triangles the triangles need to be small enough for their flat surface not to show. Using too many triangles on a flat surface only makes the file size bigger than necessary but not using enough triangles on a curved surface will degrade the surface finish.

There will be a tolerance somewhere in whatever software you used to transform your smooth solid model into a bunch of triangles for the STL file. Reducing that tolerance substantially and rerunning the print is likely to be a fairer test of the surface finish of the printer.