Use of Karamba in standalone application

Hello,

I am currently developing a winForms standalone C# application in Visual Studio. I’d like to run structural analysis computations from my application by using Karamba but without running Rhino and Grasshopper.

The library karamba.dll requires the rhino library RhinoCommon.dll. As I understand it, this Rhino library can only be used from within Rhino (and I can’t import RhinoCommon.dll in my VS project). Fortunately Rhino has recently released an open source library Rhino3dmIO.dll which provides the main simple tools from RhinoCommon (like Vector3d, Point3d, Mesh, etc). I’ve therefore replaced my RhinoCommon.dll by the Rhino3dmIO.dll. But my new problem is that Karamba classes don’t seem to be usable without RhinoCommon. Indeed, I get the following kind of errors for every Rhino.Geometry classes used be any Karamba method:

The type ‘Vector3d’ is defined in an assembly that is not referenced. You must add a reference to assembly ‘RhinoCommon, Version=5.1.30000.14, Culture=neutral, PublicKeyToken=552281e97c755530’.

Does anyone every tried to used Karamba from outside Grasshopper and faced this kind of issue?

Thank you for your help.

Greg

Dear Greg,
in the next release of Karamba3D the library ‘karamba.gha’ will be split up into a part which offers an interface to the FEM functionality and does not reference RhinoCommon or Grasshopper and a second dll which communicates with GH.
Best,
Clemens

Dear Greg,
it is now possible to test Karamba3D without Grasshopper: see https://github.com/karamba3d/K3D_tests.
Best,
Clemens

3 Likes

Hi @karamba3d ,

A general question regarding using karamba without rhino.Is it possible to use karamba as background fem solver for a standalone software? Basically if i understand correctly the only requirement is to have the karamba license file in the same folder as the rest of the program?

another question regarding this. Could it then be also possible to use karamba with cloud computing so the server computer would use the license(s) and the users would run the models in the server and get results back?

With best regards
Matti

Hi @matti.pirinen,

yes this is possible.

At the moment this works with static licenses or special versions of K3D which do not require license validation. We plan to add a cloud license possibility in addition to zoo cloud in the future.
A working example of how to use Karamba3D without Rhino is the units-test project available from here.

You can run Karamba3D on the cloud. In that case we would have to provide you with a special K3D-version which does not validate the license. Currently there is no payment system in place as it exists for Rhino Compute.

– Clemens