19 Apr 2020

Model simplification



There can be multiple reasons for the need to simplify models:
- reduce IP (Intellectual Property) that the original model contains 
- make the model lighter for use in other systems (e.g. AR / VR)
- etc

One useful functionality in Inventor is to generate a shrinkwrap. It has many options:
ShrinkWrap Options
I created a Design Automation API for Inventor project that exposes most of these settings, so you can run these tasks on Forge as well.

You can simply adjust the values in the params.json file to test the affects of the various shrinkwrap options. You could even create a web interface to expose the options and drive the functionality from there. Apart from creating a shrinkwrap part, we also export it to OBJ

To show how you can run additional programs on Design Automation server, I'm also using this FbxConverter utility to convert the OBJ file to FBX.    

If you want to debug the add-in locally and use the "Engine MKII.iam.zip" sample assembly, then just extract it into the Assembly folder:

Extract sample assembly

If you want to use the Interaction project to deploy the AppBundle, create the Activity and run the WorkItem, then just provide the credentials of your Forge app in appsettings.json and specify the location of the input and output files in GetWorkItemArgs inside Publisher.Custom.cs.
Probably the easiest is to create an OSS bucket for testing, upload the sample assembly there and use that. If you use https://oss-manager.autodesk.io/ utility for that, then that will print the access token it's using in the Browser Console so you can just copy it into the the accessToken variable in Publisher.Custom.cs before running the Interaction project.

Here is the project on GitHub: https://github.com/adamenagy/ModelSimplificationDA

Related Article