[HN Gopher] Show HN: Design/build of some parametric speaker cab...
___________________________________________________________________
Show HN: Design/build of some parametric speaker cabinets with
OpenSCAD
Author : naggie
Score : 48 points
Date : 2025-01-28 13:28 UTC (9 hours ago)
(HTM) web link (calbryant.uk)
(TXT) w3m dump (calbryant.uk)
| ukd1 wrote:
| Showing OpenSCAD without showing any code, or even really talking
| about the code is a real shame - there are some cool ideas in
| here, but none are shown (e.g. "I even made an algorithm to
| calculate the screw positions evenly").
| naggie wrote:
| Good point. I'll add some code snippets when I get a chance
| bdcravens wrote:
| Yes, the only reason I ever use OpenSCAD over Fusion 360 is
| because my brain works better with code. I'd like to see a
| Github repo.
| cellular wrote:
| Yes, exactly, code is easier to edit!
|
| I use "projection" in openscad to directly create SVGs that i
| can import into GatorCAM for CNC.
|
| https://sites.google.com/view/gatorcam/home
| aeonik wrote:
| Fyi the latest builds of OpenSCAD have a new fast-csg library.
|
| My compiling never takes more then a minute, usually it's less
| than a second.
|
| Waiting over an hour to compile a CAD drawing seems untenable to
| me.
|
| https://ochafik.com/jekyll/update/2022/02/09/openscad-fast-c...
| naggie wrote:
| Since then there's manifold. It's even faster.
|
| To be clear, it was an hour years ago, now it's 1m40s. This
| includes all post processing and PNG rendering too.
| mmcwilliams wrote:
| Yes, manifold has been the way to go. I still get geometric
| artifacts with fast-csg and it doesn't nearly have the same
| impact on performance. Took a day-long compilation down to
| 10m for me just adding the `--enable manifold` flag.
| ajross wrote:
| Standard comment in these threads that, while OpenSCAD is a ton
| of fun and absolutely a breath of fresh air for code geeks
| wanting to apply their skills to the 3D world without having to
| hand-draft an object in scary GUI software...
|
| It's actually really limited, based on a needlessly simplified
| data model and using a kludged up DSL syntax instead of a proper
| software development environment.
|
| Look at CadQuery and build123d, both of which are python packages
| build on top of OpenCASCADE[1]. They have wildly different
| syntax[2], but very similar capabilities. You can do the same CSG
| work in them that you do in OpenSCAD with similar complexity, but
| have access to a far more expressive underlying toolkit and a
| real programming language with which to manage your own
| parametrization needs.
|
| [1] A CAD-focused boundary representation toolkit, which you can
| actually use directly if you want but which is aimed more at
| "build a CAD tool" use cases than "design a speaker cabinet".
|
| [2] Truthfully I don't love either, but CadQuery is at least
| explicit in most cases about what is happening where build123d
| relies on some dynamic scoping tricks that irk me. Seems like
| most of the community disagrees with me though.
| Archit3ch wrote:
| > As the design was fully parametric, I could change a single
| variable to move to a floorstanding design.
|
| How far are we in 2025 from defining a Differentiable design,
| setting a target (e.g. maximally flat frequency response for a
| certain speaker placement in a certain room) and solving this
| automatically?
| neRok wrote:
| A basic speaker can't do a lot to improve "room acoustics" [1],
| particularly below the Schroeder frequency where room modes
| greatly affect the bass response. From my experience, it's the
| bass that needs fixing in room, because even a "perfect
| speaker" will get boomy/muddy at some frequencies (ie.
| reflections overlapping constructively), and thin/null at
| others (ie. reflections overlapping destructively). And if you
| aren't going to worry about "fixing the room", then there are
| already companies/products like Kali Audio IN-5 speakers [2]
| that have squeezed in some good performance and tech (eg.
| active DSP with coaxial driver) in to an affordable package.
|
| There are ways to improve the bass situation, and one is by
| implementing "directional bass", aka a Cardioid array. This
| could be achieved with multiple individual speakers (add-
| on/upgrade existing system), or could be integrated in to 1
| "speaker". Examples of the latter have been around for a few
| years - see Dutch & Dutch 8c or Kii Three. They are relatively
| expensive (which you could consider an early adopter tax), but
| affordable competition is starting to mature with speakers such
| as Mesanovic CDM65 [3].
|
| There is another way to improve things too, and that is via
| "Active Room Treatment" [4] as Dirac calls it. Basically it
| uses excess capability in various speakers to "clean up" the
| audio of other speakers in the system by outputting
| "cancellation waves" (to cancel the problems). The results
| appear amazing, but they are taking their sweet time getting it
| released on to affordable equipment.
|
| There's also "spatial audio" like Dolby Atmos that should/could
| work around room problems in a similar way to Dirac ART. So
| good speakers (like already exist) + ART + Atmos + AI
| "upscaled" 2 channel source music could be the final frontier?
| But that's just for "mechanical" sound reproduction. Maybe in
| the future I can just transmit the song straight in to my
| brain, bypassing my ears and the need for speakers entirely?!
|
| [1] https://en.wikipedia.org/wiki/Room_acoustics [2]
| https://www.kaliaudio.com/independence [3]
| https://www.audiosciencereview.com/forum/index.php?threads/m...
| [4] https://www.dirac.com/live/dirac-live-active-room-
| treatment/
| ge96 wrote:
| Tangent
|
| I feel like such a noob still using SketchUp but it works,
| Fusion360 is on my list to learn at some point
|
| There are some great tools like GLB export (Khronos) for ThreeJS
| and STL mesh check for 3D printing.
| franklovecchio wrote:
| Don't feel like a noob, SketchUp's interface and controls are
| AMAZING (or were in 2016, which is where I am stuck because I
| do not want to "upgrade"). I have tried many modeling tools
| over the years, but always come back to using SketchUp for
| moderately complex designs. I haven't seen a CAD tool that does
| exactly what I want yet, which is to be able to define geometry
| either via a GUI or code (e.g. build123d), but then to easily
| go back and forth between the two, say adjusting some geometry
| output manually with my mouse by dragging it, and having the
| code update as well (which I acknowledge is difficult).
| JKCalhoun wrote:
| I noped out of Fusion360 due to the intrusive (and dark-
| pattern) onboarding. Having to create an account is going to be
| a deal-killer for me for what should be standalone software. It
| feels like they may well pull the rug out from under the
| community at some point.
|
| I never could "get" SketchUp. (Didn't they also kind of become
| more of a walled-garden after Google or whoever sold them off?)
|
| Went with FreeCAD instead. I'm pretty sure it is grossly
| inferior to Fusion (the Mac version crashes on me periodically)
| but is free as in Blender. It has worked for the simple things
| I have been sending to the 3D printer.
| jszymborski wrote:
| If you like those, take a look at OnShape. Completely free and
| browser based. I had a great time designing some wainscotting
| with it.
| ge96 wrote:
| yeah that looks good, trying to avoid a multi-thousand dollar
| price tag
| BrandoElFollito wrote:
| I am an (amateur) developer so when I needed to create some
| simple 3D objects to print them afterward OpenSCAD looked like a
| dream come true ("object as code" :)).
|
| I tried three times (over two years) to use it but it was
| absurdly difficult to build a piece, with something that looked
| like "callbacks from hell" in JS (boxed in boxes in boxes of
| code. I had to keep track of the position all the time and there
| are no constraints.
|
| Compared to that I tried Onshape (the free version which is
| almost the full one but all models are public) and it took me an
| afternoon to create my pieces. It was really simple, on a generic
| laptop without any power (a Lenovo P14s)
| gunalx wrote:
| You should have a look at CadQuery It is a pyhton library witch
| uses opencascade. 3d models as code, pyhton and since it is
| opencascade you get relative and feature based positioning.
| Klaster_1 wrote:
| I recently build a Hexibase subwoofer and a lot of stuff you
| described was along the same lines. Even better, I have an UMIK-1
| on order and the calibration parts will come useful too. Didn't
| know about CamillaDSP, gotta check it out if I don't like
| Equalizer APO. Thank you for posting this!
| causi wrote:
| This guy might be good at designing but he is really bad at
| 3D-printing. All of that post-processing would've been completely
| unnecessary if he'd made better choices about material and print
| orientation.
___________________________________________________________________
(page generated 2025-01-28 23:01 UTC)