A gift I decided to make for the community and especially to Danny, as I've learned a ton from him over the past 20+ years. I'm hoping that the waveguide project especially helps being able to easily model up and measure all kinds of waveguide shapes.
I built 3d parametric modelers in OpenScad for tweeter/midrange waveguides, bass reflex ports and speaker terminals. I put quite a bit of work especially into getting the waveguide to baffle transition edges smooth. The "inner top fillet r" (set to smooth by default) smooths the waveguide to baffle transition even if the waveguide shape itself doesn't auto blend. Turn that to 0 and the conical profile has a hard waveguide to baffle edge similar to Danny's current Neo3 waveguide design
Danny, also let me know if you'd like the source code to these scripts, I'm not planning on sharing them publically as everyone can use the Makerworld modeler for free which works really well and I wanted to avoid people stealing the work, but if you need to save values and are comfortable with the slow rendering openscad desktop app or another openscad tool, just let me know and I'll send them to you. I also grant Danny free commercial use of these tools, so you can sell parts generated from them. If you need that officially written up, I can send you that too.
Bass Reflex Port
https://makerworld.com/en/models/2916325-parametric-speaker-smooth-flow-port-generator#profileId-3262338Set inner diameter and tube length. Those numbers drive tuning; everything else is cosmetic or mounting.
Both ends have optional bell-mouth flares with independent radial extent and axial length per side. The profile is a quarter-ellipse oriented so dr/dt = 0 at the tube junction, meaning the flare blends in with zero slope discontinuity. No visible crease, no kink. It matters more than you'd think: a hard corner at the throat is a turbulence trigger at high excursion.
The `port_length` parameter is the straight section only. When you're plugging numbers into WinISD, subtract end corrections for the flared ends (roughly 0.85 × tube radius per flared end) to get your effective acoustic length.
Slip-fit fins on by default. Drill your baffle hole slightly undersized, press the port in, done. Or enable countersunk screw holes if you want a bolted mount. Both options supported simultaneously if you want belt-and-suspenders.
TPU gasket mode: switch the view selector to `gasket` and it generates a matching annular ring sized to the flange OD with screw holes in the same pattern.
Print: for best surface quality on the exterior flare, print exterior-flare-up with supports. If your filament handles overhangs well, exterior-flare-down with no supports.
Speaker Waveguide
https://makerworld.com/en/models/2923238-custom-parametric-speaker-waveguide-generator#profileId-3271400Parametric acoustic lens for compression drivers, dome tweeters, ribbons, and planars.
Four flare profiles: Conical, Exponential, Elliptical, and Tractrix. Tractrix is where I'd start for most applications; it gives the most controlled directivity and the gentlest expansion near the throat. The profile is computed analytically so you're getting the real curve, not an approximation.
Circular or rectangular throat. Rectangular mode lofts rect-to-rect with independent corner radii at both ends; the transition is smooth, not faceted.
Speaker mount posts with real ISO internal thread geometry. Select M2-M8, and the bore comes out threaded off the printer: no tap required. Four mount patterns: 4-point rectangular for standard speaker bolt grids, and 3, 5, or 6-point circular for drivers with a bolt circle. Set BCD and rotate the pattern to clear obstructions.
TPU gasket mode here too. Same idea: switch to `gasket`, export a second file, print in TPU, get a compliant acoustic seal between waveguide and baffle.
Print: for best surface quality on the mouth face, print mouth-face-up with supports. If your filament handles overhangs well, mouth-face-down with no supports.
Terminal Cuphttps://makerworld.com/en/models/2912884-parametric-speaker-terminal-cup-generator#profileId-3258031I know Danny and most of you probably don't have much of a need for this except replacing broken ones because tube connectors are way better

Round or rectangular body, any size, configurable wall thickness and depth. Down to zero depth if you want a flush terminal plate with no cup.
The mount hole placement on the rectangular variant accounts for the flange corner radius: corner holes shift diagonally inward so they land in the straight-edge portion of the flange where there's actual material, not in the curved corner where they'd be close to the edge.
Countersink geometry is computed from the included angle, so it's correct for both 82-degree imperial and 90-degree metric flat-head screws.
Terminal holes are a columns-by-rows grid with configurable diameter and spacing. Set it to 0-by-0 for a blank panel: useful for covering an unused cutout or filling a hole from a driver you removed.
TPU gasket mode here as well. Generates a matching annular gasket with the same OD as the flange, inner clearance sized to slip over the cup, and screw holes aligned to the mount pattern.
Let me know if there's any features you'd like me to add or if you find any bugs!