[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)