Page 1 of 1

FREE STUDIO DESIGN TOOLS: 1) RAYTRACER AID and 2) ABSORBER

Posted: Wed Aug 28, 2019 8:16 am
by Soundman2020
I'm probably making a big mistake here, and I'll end up regretting it hugely, but I decided to release a little tool I developed a while back, that I use when designing studios, to help me visualize speaker dispersion angles, and to assist with ray tracing purposes. I'm doing this ONLY for forum members here and on another forum where I'm also active. ONLY!

This tool is a "Dynamic Component" for SketchUp. It should work with any version of SketchUp above SketchUp 2013... except for the silly little toy that they offer as on on-line browser thingy, called something like "SketchUp Free". That one is rather useless anyway, and does not support Dynamic Components at all (nor any other plugins). But my tool should work fine with any other version of SketchUp, probably as far back as SketchUp V8. I haven't tested that far back, though.

You can find the tool here:

http://spartanew.digistar.cl/StudioTools/

And this is what it looks like:
SOUNDMAN2020--Raytrace-Tool-Image-2.jpg
However, it is dynamic, so you can change a bunch of parameters to make it do whatever you want it to do, and it updates everything automatically.

If you have never used Dynamic Components in SketchUp, then it's real easy. Just load that thing into your studio model, attach the apex of the tool (the pointy end of the triangle thingy) to your RIGHT speaker (at the acoustic center of the speaker, of course), right-click on the tool to select it, and on the drop-down menu select "Dynamic Components --> Component Options". That will open an option window that displays a copyright message, which basically tells you that you are not allowed to do anything with the tool except use it for your own personal, private, individual studio project. If you agree, then triple-click anywhere on the tool, and you will get the options screen, where you can adjust the parameters to your heart's content:
SOUNDMAN2020--Raytrace-Tool-options-Image-2.jpg
With that menu, you can adjust things such as:

- The spread of the "rainbow" slices (how large or small the angle is that you want the dispersion "rainbow" to cover), both vertically and horizontally,

- The angle between adjacent rays. In other words, how wide each slice of the "pie" is. You can choose angles as small as 1 degrees steps, but it will be VERY slow to calculate like that. Especially if you have broad vertical and horizontal spread angles. A 5° step is more useful, and not too slow. Larger steps make it go faster. If you choose to display the angle numbers, it only displays them at multiples of 5° anyway (see below).

- Length of the rays: how far you want the tool to extend into the room. You can set that in either distance (only metric: sorry) or in time (milliseconds).

- Rotation. You can rotate the entire tool left or right, to match the acoustic axis of your speaker.

- Tilt: You can tilt the horizontal plane up or down. I don't know why I put that in there, really, but I thought it might be useful to someone one day, especially if you decide to tilt your speaker up or down (not recommended!), and it wasn't too hard to implement, so there it is!

- Horizontal display: You can choose whether or not you want to see the horizontal part inboard of the speaker (towards the center of the room), outboard of the speaker (towards the wall), both, or neither.

- Vertical display: Ditto for the vertical plane.

- Speaker Axis: You can display an axis that pokes out beyond the end of the "rainbow", and there's a couple of ways you can set the length of that.

- Time Circles: You can also add what I call "time circles" to each slice of the ray-trace pie, at intervals of every few milliseconds. That shows you where the sound wave-front will be "x" ms after it leaves the speaker. Useful for resolving some design issues in studios.

- Color Fill. You can choose to fill each time circle with an individual color, or to leave them empty. The same applies to each ray "slice"

- Numbers: You can choose to show or not show the angle of each ray-trace slice, and the time circle numbers. The angle numbers appear as a dimension beyond the end of each slice, and the time circle numbers appear as a string of dimension arrows along the central axis of the tool. You can also select how far beyond the end you want them displayed, and how high above or below the plane you want the numbers, and for the time circles, how far you want the offset to the left or right. This can make it a bit easier to see them sometimes.

- Temperature: Finally, you can enter the air temperature in your room. This is important, as air temperature affects the speed of sound, and that has an effect on the size of the time circles: if sound travels faster, it gets to any given distance sooner, so the time circles all shrink a bit for higher temperatures, and grow a bit for colder temperatures.


CAVEATS/DISCLAIMER:

1. This is not an earth-shattering tool that will design your speaker layout for you automatically! (I developed one of those too, but I'm not planning to release that one.). It's just a simple "helper" that can assist a bit in visualizing what your speakers are doing, where the sound is going, at what angle it is hitting the walls, ceiling and floor, what the time delay is for each such hit, and things like that. I find it useful. You might not.

2. I'm releasing this AS IS! There is no support. Don't expect any help with it. Don't even ask, please. I don't claim that this thing does anything useful, or that it is fit for any specific purpose, or that it is accurate, or even that it works! I don't claim anything all about it at all, except that I use it myself. That's it. If you try to use it and it doesn't work for you, then too bad. I'm really sorry about that, but I don't have the time to be trying to help you make it work (unless you want to pay my normal consulting fees). Just throw it away and go back to using pencil and paper. If you can't get it to work, then maybe try visiting the SketchUp website help pages for Dynamic Components. Or just give up and forget it. If you use it and it destroys your studio model, then too bad: I'm not responsible for that either. Sorry. So make sure you save your model with a bunch of different names and on a bunch of different hard disks, thumb drives, and backup services BEFORE you try it. Ditto if it crashes SketchUp, or hangs, or crashes your computer, or hangs the computer, or burns down your house, or starts World War Three, or whatever. I'm not responsible for any of that. I did my best to make it work without it doing anything nasty, but if it does go wrong, then that's sad, but it's on your head, not mine. Be warned! it might go wrong. It might crash and burn. It might bite you and give you rabies. It might nuke the entire planet. It might tank the Dow-Jones. I really don't know what it might do or what might happen when you use it or listen to my advice about anything, so I can't be responsible for what you do with it. Use it at your own risk. You have been warned. (Yep, you guessed it: my lawyers said I had to put a disclaimer on here, even if I'm giving it away for free, so there it is!).

3. It is really slow! There's thousands of things it has to calculate in order to draw all of those slices, lines, angles, color, and numbers. It can take many seconds to update, after you click on the "Apply" button. While it is updating, you will see the word "Working" followed by a series of green bars advancing across the bottom of the main SketchUp window, as it does it's calculations. I did my best to make it fast, but it is not fast. The more options you select, the slower it will be. If you select a 90° spread in both directions, with 1° rays, that are many meters long, plus time circles every millisecond, colors on everything and numbers too, then you might as well go make a cup of coffee, 'cause it's gonna take a while! It might even crash SketchUp (or start World War 3), so make sure you save your model before you try: With different names. In different places. The reason it is so slow is because of the silly way SketchUp has implemented dynamic components. Dynamic Components is a very useful and powerful thing, but very quirky, and very basic. Things that would be easy to do in other programming languages are very complicated in SketchUp Dynamic Components. There's no global attributes, for example, so I had to manually copy every single attribute that I need, to every single part of the component. There's also no way to display a number based on data: for example, the angle numbers you see there are not calculated, like you'd think, because that doesn't work. You can't just tell it "Put the number of the angle you just made on a dimensions arrow". Nope. Doesn't have any way of doing that. So in this tool, for each ray angle, there are actually number dimensions for every possible angle that might occur there (all 45 of them, in each of four directions, on every single ray...)! All of which I had to create manually, typing each individual number, and then I had to write code to select which one to display depending on the angle, while hiding all the others. So there's hundreds more dimensions in there than are needed: you just can't see them. You only see the one that makes sense. That's also why you only get angle markers every 5°, not ever single degree. because otherwise there would be thousands more, and I'm not prepared to do that... It's also why you only get 20ms of timing circles, and nothing less than 1 ms increments (it would be nice to have .5ms increments too, and maybe even .1 ms... but it ain't gonna happen here).

Sorry for the rant, but SketchUp loves to make things unnecessarily complicated hard for you in Dynamic Components, when it could be so simple if they would just use normal programming language conventions.

So that's why it is slow. Because: SketchUp! AAARGH!!! Because I had to jump through silly hoops to make the darn thing work at all!

Also about SketchUp Dynamic Components: they grow like a hungry monster in a B grade horror movie! Each time you change paramaters and hit "Apply", the size of your file will increase. If you change lots of things as you play around, the file can get REALLY big. As in big enough to fill the entire universe! OK, slight exaggeration there, but it can get large. So every now and then, open the "Model Info" window from the SketchUp main tool bar, select the "Statistics" tab, and hit "Purge Unused". That will clear out the accumulated garbage, and make your file small enough to fit on just one planet. Warning! This will clear out ALL of the garbage from your ENTIRE model, not just the garbage created by this ray-tracing tool.

4. IT PROBABLY HAS BUGS: It's still rather crude: the circles are not really circular, but jagged lines, and ditto for the ray-trace slices... I might fix that on a later version, but for now I find it useful just as it is, for helping to figure out what the speakers might be doing in a studio that I'm designing. It might also have bugs that I haven't found yet. If you find a bug, then please let me know, and I'll see if I feel like fixing it.

So, there you have it! Download it if you want, play with it, then throw it away if: 1) you don't like it, 2) you can't figure out how to use it, 3) You don't find it useful, 4) smoke comes out of you computer, or 5) smoke comes out of the planet. Or just use it for free as much as you want on YOUR personal studio project, if you find it useful. But remember: this tool is ONLY for members of the forum, to use on their own individual, private, personal studio projects! It is NOT for you to sell or rent to others, or for you to use if you design studios commercially, or if you would make money from using it in any other way, from whatever you do with it. Nope. Uh-uh! Bad! That's not why I am releasing it. Its for folks here on the forum who want to make their own home studio, and that's it. It's free to you guys, but prohibited for everyone else. If you want to use it commercially, then contact me and we can talk about licensing fees. It took me many dozens of hours of head-knocking hard work to create this tool, so I'd really appreciate if you respect that, and don't use it commercially. (I'm the only one that is allowed to do that!)

I hope you find it worthwhile.


- Stuart -

Re: FREE RAYTRACING VISUALIZATION TOOL

Posted: Thu Aug 29, 2019 2:28 am
by Soundman2020
New version uploaded, with some bug fixes and a more compact options menu. Current version: V3.046

- Stuart -

Re: FREE STUDIO DESIGN TOOLS: 1) RAYTRACER and 2) ABSORBER

Posted: Sat Sep 07, 2019 3:30 pm
by Soundman2020
I'm now releasing ANOTHER component, also for free. Same disclaimer applies here.

This time its a simple acoustic absorber, but it is fully dynamic, meaning that you can reshape it and resize it in different ways to fit whatever is you need to do in your own room. It also has automatic dimensioning on it, where the dimensions update as you change the parameters. Like the raytracing aid, this is not an earth-shattering component: just something that I developed to be helpful in quickly trying out treatment options in the SketchUp model of studios.

Here's what it looks like:
SOUNDMAN2020--Absorber-Tool-cutaway-dimensioned-Image.jpg
Nothing fancy. Just your basic porous absorber panel. A wood frame with insulation inside it, and plastic mesh front and back to hold the insulation in place. That view shows it without the fabric cover visible, so you can see the inner parts. Here's what it looks like if you make the fabric visible:
SOUNDMAN2020--Absorber-Tool-normal-Image.jpg
Boring! But useful. What makes it useful is the ability to re-size it quickly and change the options, to help speed up the layout of your room. Instead of needing to manually create and re-size each part of each absorber, this component does it all automatically.

Here's the Dynamic Component options control panel:
SOUNDMAN2020--Absorber-Tool-options-Image.jpg
This lets you set several options, such as:

- Choosing the frame dimensions in three different ways: 1) A list of nominal lumber sizes, such as 2x4, or 1x8 etc. 2) A list of metric sized panels, or 3) manually entering the exact size you want. If you choose #1 or #2 then the manual dimensions are ignored, as they are set automatically by the lumber size. There are sensible limits on how big or small you can make the framing, and those are shown, along with the current width and thickness of the frame members.

- Set the overall height and width of the device. Limits apply here as well.

- Set the insulation thickness: you can select to have that set automatically based on the lumber size, or to enter it manually yourself, or choose from a list of common sizes.

- Air temperature: needed for the acoustic calculations.

- Projected lowest useful absorption frequency. This is presented in three different ways: first as the traditional "quarter-wave length" old-school theory, which has been proven to be wrong but you still find it in some texts that aren't yet up to date. Then as the more correct " 1/16 wave length " theory, which has been shown to be correct. This theory states that an absorber provides useful absorption down to the wavelength that is 1/16th of the thickness of the absorber for normally incident sound (sound waves that hit the panel head-on, hitting the face at a 90° angle), and down to one octave lower for randomly incident sound waves (arriving at the panel face from all angles at once). Be warned that the "randomly incident" number makes a number of assumptions that probably are not true in your room, unless it is VERY large! The "normal incidence" number is more realistic, and shows the lowest frequency where your panel will have some usable effect. The 1/4 wavelength number shows the lowest frequency where maximum absorption can be expected (assuming that the type of absorption is optimum).

- Acoustic data: shows the frontal area of the insulation (does not take into account the parts of the insulation exposed through the side slots - maybe in the next version...), along with the number of sabins of absorption (both imperial and metric) that this panel will provide, assuming that the coefficient of absorption is 1.

- Display controls: the final section provides a set of controls for making some parts of the absorber invisible, so you can see what's going on better. One of these controls the visibility of the dimensions, in case you don't want to see them all the time. The dimensions will still update automatically every time you change something, even if the visibility is turned off: you'll be able to see the new dimensions once you turn it on again.

And that's it! Nothing fancy, really. Just a useful component you can insert into your SketchUp model of your studio, for quickly placing and sizing acoustic absorbers in your room.

Hopefully you'll find it worthwhile.


- Stuart -

Re: FREE STUDIO DESIGN TOOLS: 1) RAYTRACER AID and 2) ABSORB

Posted: Wed Sep 11, 2019 3:54 am
by richroyc
WOW! Stuart thanks for these tools - I imagine they were not easy to design!!

Re: FREE STUDIO DESIGN TOOLS: 1) RAYTRACER AID and 2) ABSORB

Posted: Wed Sep 11, 2019 8:40 am
by Soundman2020
richroyc wrote:WOW! Stuart thanks for these tools - I imagine they were not easy to design!!
Right! The Dynamic Component module of SketchUp is actually quite powerful, but not so easy to use. You can do lots of stuff with it, ... as long as you are prepared to suffer a bit, and do it slowly! It's rather quirky, and tedious... but if you beat it up hard enough, it's possible to tame it, and persuade it to do fancy things. These two are fairly basic examples that I don't mind sharing... I have some much fancier ones that I've developed over the years... :) Maybe one day, if I feel extremely generous, I'll release one of those too. But there's too many hours of time invested in them to do that quite yet.... 8)

- Stuart -

Re: FREE STUDIO DESIGN TOOLS: 1) RAYTRACER AID and 2) ABSORB

Posted: Wed Dec 30, 2020 12:47 pm
by henroc305
thanks for your contribution we really appreciate it. But the link seems to be broken. Is there a new link to be able to download the acoustic panel software. Thanks again

- Henry