ShapeDiver upload obj/npy file

Hi Team,

We are new here, had a question regarding shapediver. a client of ours wants to modify their 3d files on the browser, and then send them for 3d printing. they want end users like doctors to upload a 3d file of their patients foot, make some modifications to it to create an insole and then print it. however, end users have no idea about to create a file in grasshopper. is there a way for them to upload a normal 3d scanned file (obj/npy formats) and have them rendered and modified in shapediver?

This is possible and several ShapeDiver users have already achieved this workflow (see here for example).

On a technical level, all you need is to use the Import Geometry component of the ShapeDiver plugin to import the scans. If your Grasshopper definition takes care of created the geometry for 3d printing, or the printing instructions you can export them in various formats using the Export components.

These components are only available with a Designer subscription or above (you can start a trial from your dashboard directly). Don’t hesitate to contact our team if you need more information or support to start developing your application.

Thanks for the quick reply, Mathieu!

So, if we are able to create the geometry definition file, is this a one time activity?
Any kind of OBJ file (as long as its an insole) will be modifiable using this definition file?

I am not sure I fully understand your question. I am assuming you are working or have already developed a Grasshopper definition which can take scan data as input and process it to create a 3d printing file. Your next steps would be to make sure the input and output geometry are handled using the components I mentioned above (Import Geometry and Download/Email Export). Once you upload this file to ShapeDiver, it will be possible to upload any OBJ file directly to the online model, update parameters to trigger remote computations, and download back the resulting 3d printing file.

Thanks for the clarification.

Is it possible to have some pre-uploaded assets (curves, Mesh/Cad files) with the grasshopper definition which would be used to split or boolean on and off the user-uploaded scan in shapediver?

It is always possible to internalize geometry in the definitions you upload to ShapeDiver, which should solve your issue. For all Import components of the plugin, you can also upload a file as a default value for the input, which would be loaded for every subsequent session of users interacting with your model.

Thank you for all the help so far, Mathieu!

We are looking to start a trial version to test it out.
As of now, we can do it on the Viewer provided by ShapeDiver, so for that, I guess we can take a Designer version, right?
In the future, if we want to create our own app using your tech, we would need the Designer Plus or Business version? We would want to create an application (iOS/Android based) to modify a obj file. For that, would we also need Backend APIs?

You can embed your Apps in iframes using a Designer subscription.

If you want to develop a custom application, either using the viewer API or with the App Builder components, you will need a Designer Plus subscription.

A Business subscription will only be needed if you need long computation times (30 seconds) or the backend APIs for your application. Depending on your application’s architecture, you might need to rely on the backend APIs, but in many cases the viewer API will be enough. This needs to be further defined once you start planning your application.

Hi Mathieu,

Our definition file has a lot of parameters. I would like to break the definition file into 5 separate files, because my process has 5 stages.

I am guessing, if I do this, I will need to create 5 apps, 1 for each definition file.
When I am on stage 1, I want to show parameters from file 1 only. Once, I finish stage 1, I want to export this geometry and go to the next app (with file 2 definition) and import the exported geometry on stage 2. This will go on until stage 5.

Is this the most optimal way or do you suggest a better way?
Also, is there a better way to pass on the data from one app to the other without exporting/importing it?

At the moment, the way you are suggesting would work, although I agree it is not the most convenient workflow.

In the future we will add the possibility to build apps connecting several ShapeDiver models together. This new feature would prevent you from having to import and export files between the different models. However, this is not implemented yet.

Another suggestion I have would be to make use of our new Speckle integration: ShapeDiver for Speckle
You could use the Speckle import and export components to bypass the need for files and directly store the data in Speckle.

Feel free to join a community catchup to discuss those ideas: https://www.shapediver.com/app/community