Protobot Beta 1.2 is now available! (Windows version delayed)

Hello!
Protobot Beta 1.2 is now available for public beta testing!
Head on over to https://protobot.web.app to use it!
If you find any bugs don’t forget to report them here so they can be fixed ASAP.

IMPORTANT: As of the date of this post, the release of the downloadable windows version has been delayed until a future date hopefully within the coming days. This is due to some issues with windows applications that should be resolved soon.

However, this means that the online demo version is FULLY available to use at the website above!

With this release, a feature showcase video has been made to show off the new features in Beta 1.2.

On top of that, a Protobot Fundamentals video has been made to show you how to use Protobot in its current state. You can watch it below:

Don’t forget to subscribe to the YouTube channel for more updates and videos about Protobot!

That’s about it! More updates are coming soon but in the meantime, have fun testing out the current features of Beta 1.2! Also, keep an eye out for a second post when the Windows version becomes available.

Once again, thank you for all of the support thus far!
-Dave G.

18 Likes

Hey Dave,

First things first, I’m super impressed with what you’ve pulled off here. Making this kind of program is a huge feat, let alone by yourself, just on top of Unity. It works better than I would’ve expected for a beta. That said, I have some suggestions, from the point of view of a “regular CAD” power user.

This is in approximately random order:

  • As far as I can tell, untightened screws don’t need to exist. The entire thing would be much faster to use if the screwdriver tool just inserted a screw and automatically tightened. Maybe you can loosen it from there if that has some other purpose in the future. The whole constraint system felt clunky to me, there are a lot of steps, even if you place the screw directly in the hole. Maybe there could even be a quick key I can press after using the move hole tool to add a screw in that hole and tighten it.

  • Move hole needs a way to switch which side of the hole you selected. In many cases, it’s very difficult to drag from the point you’re moving to the correct side of the c-channel hole. Another (additional?) thing that would be super nice is like middle clicking the move point and that toggles the move selection on it, so you can then navigate around to the c-channel hole you want and click on it, without needing the drag.

  • Things like shafts and standoffs should be able to quick-place into holes like screws are able to. Just saves a move tool.

  • Orbit tool feels a bit off, coming from SolidWorks and Inventor. I don’t really know what’s off about it, I just know its off. The focus tool is meant to fix that, but you never really need to use it in the major cad programs, so you should try to figure out what they do for that and copy it.

  • The rest of the parts (including all the c-channels and variable length shafts). I have no doubt that this is planned for later, just figured I’d put it here.

  • Keyboard shortcuts is another really important thing that I’m sure it planned for later. You should be able to set keyboard shortcuts for all the parts, and the tools, and stuff. Again, I’m sure you were already going to do this.

  • Setting and saving default options for parts. There are two ways to go about this really - either it picking your most recent option, or you being able to set a default and that’s what it goes to. I’d really prefer the second one for usability, and it would tie in better to keyboard shortcuts for parts.

  • Lock parts - similar to Inventor’s grounding or SolidWorks’ fixing, being able to lock the position of a part is important. I know you can’t free move parts without using the transform tool, but if you accidentally Move Tool it or something, that can flip your whole robot upside down if you’re not careful. If parts are screwed to the locked part, then they shouldn’t be able to move either.

  • (Suggestion from @vexreally) Shaft axis tool doesn’t really need to exist, would probably be easier to use if you could hover the shaft hardware over the shaft and just snap it to where you want it

  • You can’t constrain shafts axially at this time, that needs to be possible.

  • By far the least necessary here, but if you have numbers for the IRL weight of each part, telling users how much their cad would weigh should be pretty easy. Nice to have, fairly low dev time (outside of weighing everything lol), figured I’d throw it on.

This seems like a lot, and it is, but half of it was probably planned anyway. These are just the realistic timeline improvements to the current feature-set that I wanted when testing it out, there are of course tons of new features that would be awesome but are far out of the scope of this beta (custom parts, motion sim, etc).

Once again, this is super cool, great work, I can see this being an awesome option for new users in the future when it’s more polished.

Leo

14 Likes

Amazing job with this project, I’m really impressed with what you’ve done with it.
I took it on a bit of a spin to make a basic frame for a chassis
vvb test

I really like the part selection, I think this is probably the biggest advantage this has over traditional cad software. I also really like the screw-centric constructing, its an interesting alternative to the mating system other programs have, although like @djavaisadog said it could use some streamlining.

Some recommendations I have for the future:

  • allow the controls for panning/rotation to be swapped, like have the option for shift+scroll wheel drag to rotate and scroll wheel drag to be panning. This is how inventor does things so it’s probably what a lot of people are used to.
  • one thing I really like about inventor that this doesn’t do is that when you zoom in or out, it zooms in on your cursor, not on whatever the focus of the scene is. I found it really annoying to have to either re-focus the camera on what I wanted to zoom in on, or have to pan constantly to find it
  • when trying to move (btw I would change the name of the move function to “connect” or something) a hole into another hole, especially that has a screw inside of it already, it’s really difficult to select the hole with the screw’s hitbox taking up most of it. I had to zoom in all the way, and even then it took incredible precision of the mouse to select the hole. perhaps enlarging the hitbox of the holes when trying to use the move tool would make it a lot easier to select them.
  • there needs to be an undo key
  • this probably would require a pretty major addition to the program, but being able to click on and drag parts have have them move according to the connections they have with other parts is a really important feature of cad software in my opinion. being able to pull on your lift and have it actually lift up according to the constraints that the linkage has is really useful.
  • being able to copy-paste parts or groups of parts is a really important feature
  • I think it would be useful if you could adjust the length of parts without deleting the part and replacing it with a new part. perhaps have some sort of tool that allows you to select a viable edge of a part and drag it to increase/decrease the length of that part.
  • The grid is kind of annoying, being able to get rid of it would be nice
  • I think the upper limit on zoom sensitivity is still too weak
  • the zoom limit isn’t far enough to be able to consistently and quickly select tiny hitboxes.
  • clicking and dragging on holes to link them is kind of cumbersome, I would instead have a system where you click on the first hole, and then click on the second hole to move them together instead of having to drag across the entire assembly while rotating and zooming to get to the second hole.

I’ll also add a +1 to all of @djavaisadog’s suggestions, I agree with them all.

14 Likes

Was gonna mention the swap movement controls thing, forgot it.

The cursor zoom is probably the “off” thing with navigation I was talking about

Cant believe I forgot undo lmao

5 Likes

It looks nice! I would like a way to perhaps change pan/scroll controls, and instead of having pre-made c-channel sizes, I might use something like the modify tool add-in for fusion 360, where you can choose the amount of holes, or the length in inches. Good work, though.

3 Likes

What is the approximate date when the Windows version is going to be released?

1 Like

I made an account just to comment on this… and forgot to do so until today. :sweat_smile:

This is a huge project you’ve undertaken, and with Beta 1.2 looking this good, I’m stoked to see where this will go in the future. Being that this is beta, I do understand there is still more to be added, so while I might cry a little about the lack of gussets, I’ll focus on the issues that I noticed and suggestions for things that are currently in this version. I’ll try not to repeat what’s already been said.

  • Duplicating is an awesome feature! I made use of it several times while building, but there is a bug where you can’t exit placing down the duplicated parts with right click, like any other part. The only way to exit is to pick a part on the right, then right click as one would normally do.

  • Screw-based building and grouping is an interesting concept, and I like where it’s going. As others have stated, it’s still a little clunky. A funky detail I found quite unrealistic was that a single screw was all it took to consider two C-channels together “rigid.” Unless you really cranked down on the screw and used keps nuts, this would very easily go out of alignment in real life.

  • On the topic of grouping, I think it would be nice if objects on shafts could be considered a group as well, similar to how screwing together pieces of metal works.

  • Continuing with that topic, there should also be a way to mate axles to bearings, or at least keep your work stationary. I had one too many accidents where I misclicked and dragged my chassis off my wheels.

  • I know I said I would keep this to constructive criticism of features present in this version, but I found the lack of an undo button a slight bit nerve wracking.

  • The “snapping” functionality found by right clicking the transform tool does indeed snap pieces at 1/8" intervals. However, I had difficulty trying to align parts with this snapping tool, which I am aware is not its intended purpose. I do not understand what purpose it serves in Protobot when the move tool can snap pieces together with much better precision.

  • The move tool is actually quite frustrating. It reminds me of the SIGBots library I used to use with inventor, and its system of using iMates to constrain two parts by the holes. While this is many times better than dealing with a cloud of iMates, the “hitboxes” as @Xenon27 called then need to be larger. It’s difficult to place screws where you want to without zooming in to your work.

  • Speaking of zooming in, the camera controls could use some work, which has been explained already. I personally had issues trying to use middle click to navigate around my model, as it kept resetting to a position directly overhead the model every time I clicked my middle mouse button.

  • The grid underneath the build area seemed like it was following an arbitrary spacing, but was actually a 1/4" square grid! I was pleasantly surprised. However, I personally would have preferred 1" squares, as trying to gauge 18" off of increments of 1/4" is painful.

  • The transform tool arrows that appear on a part looks hilariously oversized, especially with parts farther away. It can even hide what you’re trying to rotate.

  • I feel that this is the one of the more pressing issues present in this version, so I saved it for last. A large part of VEX is its components for movement, and while being able to see your creation move is a nice feature of other CAD software, I think most users would be fine just being able to place static parts to get a semblance of what they can build in real life. That said, a large majority of modern VEX EDR parts for motion (and this library) are compatible with High Strength shafts and inserts. There seems to be an error made with deciding to import hardware without high strength inserts when Protobot at this stage is only using low strength shafts. Building with low strength shafts and no inserts results in a fit too loose to be usable. Not only this, inserts add some thickness to the side of wheels, gears, and sprockets. This error will add up to the point where it can make or break some builds in tight quarters, such as inside a drivetrain. Below is a demonstration of its implications.
    image
    Above is a screenshot taken in Inventor 2018, which has HS 36T gears with inserts. Below is a screenshot taken in Protobot Beta 1.2, which has HS 36T gears without inserts. Both setups used four 1/4" nylon spacers with 3 HS 36T gears, lined up against arbitrary pieces of standard VEX metal to give a sense of scale. The difference is noticeable. Protobot displays a slimmer profile when both should be identical. As a CAD for building VEX robots, making sure everything is correctly sized is required to build without hassle. This error in width, if it went unnoticed, could result in users creating robots that are far too slim to work, requiring rebuilding in the real world, and having to deviate from the CAD. Adding the inserts to all high strength compatible parts, or high strength shafts should remedy this issue.

Overall, I enjoy what I’m seeing. With some work, I could see myself recommending this to students who want to familiarise themselves with CAD to work on their VEX robots. I agree with everything that others who have posted before me have stated, and I am looking forwards to seeing what comes from this. Well done.

Kumpu

13 Likes

Since the closed beta started, I have had major issues with panning and orbiting. For one, It seems like the orbiting is reversed vertically but works normally horizontally. I am used to Solidworks controls. I also noticed an issue with panning. I would press the Middle mouse button and the second I started to move the mouse, the pan jumped significantly to the right. This kept happening every time I tried to pan back. Also I find it extremely hard to pan, orbit and zoom far enough. In software such as Blender, the mouse wraps around the screen when panning/orbiting. Is this possible to implement in this program? This would also make the pan button that you drag actually useful. I have had these issues on both a windows laptop and a Mac and unfortunately, this completely prevented me from being able to use it. Are these issues unique to me? I haven’t heard them anywhere. Thanks for making this software. It could be really beneficial to newer teams wanting to get into CAD.

3 Likes

Looks great man, one thing I’d suggest is to pan with “wasd” instead of clicking the pan button. Would make it so much easier. But, overall great work!

1 Like

I mentioned this issue in passing in my post a little earlier in the thread. Middle click jumped around a bit too much for my liking, so I was mostly stuck with using the pan/orbit tools at the top right of the screen. I have a feeling this may be an issue with the browser based version, as Dave was using the windows version and middle click just fine in his feature showcase video linked at the beginning of this thread.

1 Like

“wasd” cameras or free-roam cameras rarely ever exist in CAD programs, to focus on a specific part of a model or assembly you’d do a combination of panning, zooming, and rotating the camera view around a point (a 3d mouse makes it easier)

4 Likes

Yeah, I get that, but some of the people that will be using this haven’t ever used these programs making it difficult to get into. Maybe there should be hotkeys to set different functions.

Or better yet, the user could set their own hot keys

1 Like

I was too. This was why I thought the cursor should wrap around the screen when using one of these tools.