It has been just over three weeks since the ARbase beta was launched. The support from the OnShape community and beta users has been incredible. Over 60 users have signed up to try the beta and there has been lots of useful feedback. In this post, I will cover a few of the improvements I have made to ARbase thanks to beta user feedback and discuss the top priorities on the roadmap.
Early on in the beta, I got some feedback about poor frame rates when viewing models through iOS devices. Unfortunately my first attempt at converting from glTF (the file format used on Android devices) to USDZ (the file format used on iOS devices) was not ideal. There were lots of opportunities to combine mesh instances and eliminate redundant materials. Over the last two weeks I have completely re-written the conversion process to include gltfpack to initially optimize the exported mesh from Onshape and my own fork of Google's USD from glTF to convert from glTF to USDZ. The result not only improves augmented reality viewing on iOS and Android devices but also improves load times throughout the app.
ARbase now has the ability to convert Onshape Assemblies into Augmented Reality models. While the initial launch of the beta allowed Part Studios to be converted, Assemblies took a bit more time to get working. The re-write of the conversion process helped make assemblies possible by allowing the app to handle models with more parts. As some beta users found, any Part Studio or assembly with more than 50 parts took a very long time to convert and often timed out completely. With the new mesh optimization, I have been able to generate Augmented Reality models for Assemblies with up to 500 parts!
A challenge that I am still in the process of solving is material editing with Assemblies. Unlike Part Studios, Assemblies can have an unlimited depth of sub-assemblies and parts. Ideally duplicate parts would be grouped together for material editing. That way you don't have to select and edit 50 instances of the same screw used throughout your assembly. Grouping parts that occur at different depths of the assembly is much easier said than done. For now it will not be possible to edit the material settings of Assemblies. Making material editing work for Assemblies is my top priority.
QR codes were requested by a few beta users. Rather than copying a link to the viewer, you can now just send and scan a QR code. The QR codes are available to scan, copy or download in the editor. QR codes will soon be added to the viewer when viewed on a desktop; if your customers initially receive the viewer link on desktop, it will be easy for them to scan the QR code to view the model on their mobile device. Give it a try with the QR code below.
Better material editing
As mentioned above, adding material editing to Assemblies will be a top priority. I also plan on improving the material editing workflow for Part Studios. The current dropdown selector works well for models with a small number of parts but it does not scale well. I will be improving the interface for part selection to include better grouping of parts and highlighting of selected parts in the model. I will also be persisting materials between model refreshes so you don't lose your materials settings when you update your document.
A few beta users have pointed out that the conversion always uses the default configuration of a Part Studio or Assembly. I will be updating the process to use the current configuration of the document. Anytime you change the configuration you will be able to refresh the model to get the latest configuration in Augmented Reality. For the full release of ARbase, I will also make it possible to save multiple Augmented Reality models for the same Part Studio or Assembly so you can share multiple configuration at the same time.
I am still on track to release a full featured app on the Onshape app store in May. There is still plenty of time to become a beta user before then. You can sign up here.
If you are a beta user please do not hesitate to reach out to me if you have any feedback, feature requests or if you come across any bugs. You can reach me by email at email@example.com.