What's New With Zoo, November Edition

Hi, Zoo users! This month we had KittyCAMP, our annual all-hands in Los Angeles. All our employees around the world met each other in person and we celebrated our launch of Zoo Design Studio 1.0 together. This meant we only had 3 weeks of coding, but we got a LOT done this month! Here are some of the biggest features we've added to our CAD suite this month.


New feature: holes

A lot of users need to add holes in their models. Standard mechanical engineering holes might have a countersink or counterbored top, and they might end either flat or in a drilled, pointed angle. This month, we added a basic hole tool to ZDS! Here's a sample of what you can make:

Cube with a hole drilled through

So far, we support countersink, counterbore and simple holes (i.e. no top features), as well as drilled or flat bottoms. For now, we only support holes with a blind depth, but we'll add support for holes that drill through to a particular solid or face soon. Here's a sample of our point-and-click interface for holes:

The point-and-click interface for holes

The KCL standard library has more docs and examples in our new hole module. We know our support for holes is pretty basic right now, but we'll be adding a hole lot more soon.

Extrude to

Extruding is probably the most important CAD operation, and we've given it a big upgrade this month. Previously, if you wanted to extrude a sketch, you had to specify exactly how long the extrusion should be. Today, you can extrude to something. Pick any face on any solid, and you can extrude the sketch to meet that face. Here's a quick demo:

This has been available in KCL since last month, but now it's available in the point-and-click interface. Note that now, our extrude point-and-click tool has one more step. Previously, extruding would immediately ask you how far you want to extrude, but now you have to choose to either extrude a particular distance (like before), or extrude to something (the new method).

In KCL you can extrude to a plane or point, but our point-and-click tools don't support this yet. That support is coming soon though! Great work from our engine programmer Serena and our frontend developer Pierre for shipping this. We hope this makes extruding a lot easier and more useful.

Massively reduced battery drain

Zoo Design Studio drained a lot of battery life. This was kind of embarrassing, because a big reason we do all the hardcore 3D rendering in the cloud is to save battery life, and let you do CAD without a big fancy GPU. Well, we realized the app was draining a lot of battery. But Kevin investigated and fixed this. This has also made the app snappier and more responsive. A big thank you to Kevin, and to the annoyed users who reported this! Zoo should no longer show up in your Activity Monitor or Task Manager or htop as using significant energy.

GD&T flatness UI

Last month we showed off our initial support for GD&T annotations. Initially, you had to open up the code panel and write KCL to add these, but now you can use the normal point-and-click UI. Click a face, then click our new annotation button and you can start adding these GD&T annotations, starting with flatness.

The annotation and the wizard for creating it

These tools are still experimental, and might change in the future, so you'll need to opt into experiments to enable them. We hope you find them helpful, please give us any feedback if you see anything that can be improved. You can learn more at the KCL docs.

Multi-tool subtract

ZDS lets you subtract one solid (the "tool") from another (the "target"), leaving a 3D gap where the tool used to be. We've always supported removing the same tool from many different targets, but today, you can remove multiple tools from multiple targets. This opens up a lot of new design possibilities! Here's an example.

In this model, we've got two cubes, and four rods.

Before subtraction

Now we subtract all 4 rods from both of the cubes:

After subtraction

3D subtraction is the most complicated CAD operation our engineers have developed. The math behind it is very complicated! So this is a pretty big milestone for our new CAD kernel. Doing this sort of topological calculation on the GPU took a lot of incredible work from our engine team, especially Mike, Austin and Alyn, whose recent patent for GPU-aided topology calculations has been helping us keep our engine speedy on modern hardware.

Layout resizing

Zoo Design Studio has several panels that you can open and close in the left-hand sidebar, e.g. the Feature Tree, the file picker, the KCL code view, etc. Previously, you could open or close each, but you couldn't resize them vertically. But now you can resize them horizontally or vertically, and ZDS will remember their size the next time you open the app.

Sharper highlighted edges

When you select an edge in Zoo Design Studio, it's highlighted yellow. Until this month, that highlight was a bit ugly and low-resolution. Now we anti-alias the edge, so it looks much sharper.

Blurry edges before Sharp edges now

Bugfix: smarter selections for solids

Most Zoo tools work by selecting the tool (e.g. the Shell or Fillet or Pattern tool), and then selecting something to apply it to (e.g. a face, an edge, a solid). Generally, if you've already selected something, and then you press the tool, the tool knows you want to use whatever you already selected. For example, if you've selected a face, then you click Shell, it'll assume you want to shell that face.

We had an annoying bug where, if you selected a face, then opened a tool that operates on solids (e.g. Pattern, which duplicates a solid, or Union, which combines multiple solids), the tool would assume you wanted to use it on the selected solids. So far, so good. But then when you got to the end of that tool and pressed OK, you'd get an error, complaining that you had selected a face and not a solid. That was very annoying! The bug is now fixed. If you try this now, Zoo will figure out which solid the face belongs to, and use that solid with the tool. Thanks for fixing this, Max!

Zoo acquired SOC 2 Type II

At Zoo, we are passionate about security. Zoo Design Studio is built on secure design choices -- while our core product is cloud-based, CAD source files are stored only on the user's device. We also do regular source code audits, review code of dependencies, and report them through coordinated vulnerability disclosure programs. If a bug is found in our software, we also have a security policy in place.

We are excited to share that we have successfully completed our SOC 2 Type II audit! This report demonstrates our commitment to maintaining the highest standards of security, availability, processing integrity, and confidentiality.

The report allows you to verify that security-relevant policies are in place and are being followed.

More on our policies, controls, and process of acquiring SOC 2 Type II report will be posted in a separate blog post arriving within the next week.

You can download our report at trust.zoo.dev today.

And lots more

We shipped a bunch of small improvements:

Thanks for using Zoo! We hope these improvements made your projects a little bit easier. We're working on some very exciting improvements to the very core of sketch mode and KCL, and I'm hopeful we'll be able to show it off soon. Have a great month!

Adam Chalmers

Adam Chalmers