Raytracing Assitant

Useful tools, documents, links, reference materials and other items that might be of help in designing or building your studio.
Forum rules
Some things on this page may be protected by copyright, trademarks, or other intellectual property rights. To the best of my knowledge, everything here is freely available in the public domain (especially my own stuff that I'm releasing here!). However, if you do find something that you think is a copyright infringement, please let me know and I'll remove it or add any necessary accreditation.

Regarding my own items listed on this forum (tools, articles, photos, advice, etc.) they are all released without any claim of fitness for a purpose, correctness, or any other representation at all. Use them entirely at your own risk. I am not responsible for anything here on the forum, nor for what you do with it, nor for any results you obtain, or fail to obtain, from using any information or other item that you find here.

If you would like to upload your own items here that you think might be useful to others, please contact me by Private Message ("PM").
User avatar
Site Admin
Posts: 185
Joined: Thu, 2019-Sep-19, 22:58
Location: Santiago, Chile

Raytracing Assitant

Postby Soundman2020 » Fri, 2019-Sep-20, 13:43

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!

It's FREE for you if you are a forum member, but even though it is free, please consider donating to the forum if you find it useful. If you are not a forum member, then either register as a member (also free!), or just don't use this tool at all.

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:


And this is what it looks like:


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:


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.


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. If you DO find it useful, then please use the "Donate" button at the top of the page, at the lower edge of the forum title picture.

- Stuart -

New Member
Posts: 7
Joined: Mon, 2019-Oct-14, 00:49
Location: Boston, USA

Re: Raytracing Assitant

Postby Kpgushue » Wed, 2019-Dec-11, 21:32

Thanks Stuart! I dont think releasing it us going to put you out of work, instead it will generate tons of questions about how to use it and interpret the results. The more leg work the client can do, the more the pro can focus on the areas where expertise is required. Cheers!

User avatar
Site Admin
Posts: 185
Joined: Thu, 2019-Sep-19, 22:58
Location: Santiago, Chile

Re: Raytracing Assitant

Postby Soundman2020 » Thu, 2019-Dec-12, 01:12

Kpgushue wrote:Thanks Stuart! I dont think releasing it us going to put you out of work, instead it will generate tons of questions about how to use it and interpret the results. The more leg work the client can do, the more the pro can focus on the areas where expertise is required. Cheers!
Very good points! In fact, I've been working on a few more tools that I'm tempted to release as well. Simple tools, really, but it makes the whole process of designing studios a bit easier. So stay tuned here: there might be updates to the "freebie" SketchUp tools! :)

- Stuart -

Who is online

Users browsing this forum: No registered users and 1 guest