Entitlement API, Trial Period and Floating License

I had an exciting weekend with ski tours under challenging weather conditions around Oberalppass, Sedrun-Andermatt, skiing on Piz Maler on Friday, piste in a snow storm on Saturday, and climbing Piz Cavradi via the Maighelshuette Sunday morning in splendid conditions, with 50 cm of fresh powder snow for the descent (photo album).

Here is today's Revit news for you:

Trial Period, Floating License and the Entitlement API

Here is a question that came up in the Revit API discussion forum on how to set up a trial period for a custom add-in, answered by my colleagues Cyrille Fauvel and Virupaksha Aithal:

Question: I have an external application Revit add-in that I want to set a trial period on and sell on Autodesk AppStore, formerly known as Autodesk Exchange Apps.

My first question is:

Where should I store the trial period information?

I tried setting the RegistryKey on Registry.LocalMachine but Revit does not allow that because of the security problem.

My second question is about the Autodesk Entitlement API service:

Is it possible for a user to use one single permission account on multiple computers and pass the Entitlement API at the same time?

Answer: On the first question, where to store the trial period information:

That is completely up to you.

For instance, you can store it in your remote website database, in a local encrypted file, or anywhere else you like.

On the second question about the Autodesk Entitlement API service:

Yes, the entitlement API is a REST call to check whether the license is valid. It does not track the usage. You would have to implement your own service to track usage.

I assume that the scenario you wish to avoid is one single user, John, running the app from several different computers at the same time. To prevent that, you can use a floating license schema, like this:

John starts the app on computer A:

If John starts the app on computer B, you proceed similarly, but:

If more than two computers are playing in this game, you may decide on stronger rules, set a priority on who can take the license, etc.

So, you need to implement your own solution to handle simultaneous use of the app on multiple machines.

For information on the current implantation entitlement API implementation, please refer to the following material – it is general in nature and thus holds good for Revit also:

I mentioned some additional resources in the recent discussion of the Autodesk reorganisation and Kean's move to Octo:

I hope that this helps and provides a final, complete and comprehensive overview.

SketchUp Plugin for Grevit

Last year, I mentioned the exciting open source project Grevit, a Rhino and Grasshopper app that enables assembling a BIM in Grasshopper, sending it to Revit or AutoCAD Architecture, and later dynamically updating it.

Its author, Max Thumfart, Senior Engineer at Thornton Tomasetti in the UK, points out that the latest Grevit release also adds support for SketchUp.

You can now build your BIM Model in either Grasshopper or SketchUp and send it to Revit or ACA, where it is translated into native elements like walls, floors and columns.


EMEA ADN Team Meeting in London

I am travelling to London tomorrow, for a short team meeting with my closest colleagues, the European ADN team.

We will discuss many exciting things, our internal organisation, efficiency, meetups, webinars, developing material and samples, best practices, individual achievements, upcoming events, other plans for the coming year, and last but not least all the APIs we support: Manufacturing, Fusion, BIM, BIM360 Docs, the View and Data API, AutoCAD I/O, ReCap, Spark, EXPO, Shotgun, Stingray, Maya I/O, 3ds Max I/O, Rendering, etc. – all handled by just four people in this part of the world!