Open Cloud

  1. FAQ

I have used the admin account to login on the server where OpenCloud is installed. However when I try to access the server from any other computer I still get the "Failed to Fetch" error message.

The most probably Web Viewer can't reach Open Cloud Server. You need to perform the next steps:

  1. Change Web Viewer configuration: https://cloud.opendesign.com/docs/index.html#/webviewer?id=build. Parameter api_host should point to the IP address of the Open Cloud Server.
  2. Run Open Cloud Server with urls " dotnet OpenCloudServer.dll --urls http://0.0.0.0:8080"

To create another user please use Open Cloud Server API.

How to connect the client to the worker with Nginx?

If you want to proxy websockets requests through the Nginx server then you can use the standard instruction, for example this.

How to select a specific entity within OdDbBlockReference, but not the whole block reference?

Example for selection sub entitiy and more lower level:

var opt = new tlib.OdTvSelectionOptions();
opt.setLevel(tlib.SelectionLevel.kSubentity);
opt.setMode(tlib.SelectionMode.kCrossing);

var selectionSet = viewer.activeView.select([0, 0, 1920, 1080], opt, viewer.getActiveModel());
var itr = selectionSet.getIterator();

for (; ! itr.done(); itr.step()) { var subEntity = itr.getSubEntity(); console.log('sub entity'); }

What is the graphics engine used in Open Cloud?

We are using our own graphic engine, it's Visualize with our render implementation.

How to extend the Open Cloud server?

You can even implement communication between your backend, some your server and our cloud server. For example if you want to do some operations with DWG files, so you can download it on your backend, perform some operations and upload the new version on the Open Cloud server.

Is GPU required on the server side?

Actually not, you do not need the GPU on the backend. It’s possible the all operations for conversion source files like DWG and so on to our VSF, these operations works without GPU unit.

Can we write our own converters?

Yes, you can implement converter to visualize stream format and then it's possible to convert the visualize stream format to different other formats for rendering in the browser, for example.

Does Open Cloud store any files in local browser?

We are storing only geometry data in the browser. So from all files like revit, .dwg, we extract the geometry data, we use .vsf (from Visualize project), and this data streamed directly through Open Cloud server to the browser. So only this data is stored in the browser.

What is the programming language for Open Cloud?

We use .NET core to point for our Open Cloud server and we use C++ code for our jobrunner and File Converter tools. On frontend we use JavaScript, but it used for our demo viewer application, but it’s only a sample.

What hardwares are required in the server side?

There are 2 parts of our Open Cloud solutions and they’ve got different requirements. We’ve got Open Cloud server, that written in .NET core and actually it doesn’t have some heavy parts, heavy functionality. But the second part of our solutions is jobrunner, it actually, this part perform the really heavy work, because it performs opening of really heavy file like revit, .dwg and it will be depending on the file size, on the internal structure of this size.

The main idea that you need provide the really good hardware for jobrunner part. For Open Cloud server you can use some middle-size of your virtual instances.

What is the relationship to jobrunner and controller and workers?

Jobrunner is light application, which run File Converter application to convert files to another file format or to extract geometry data or properties data. The controller and the workers: we decided to leave them for supporting. So we’ve got tests, some basic documentation about it using. But currently we don’t develop them, they quite stable, but we’re don’t moving forward to support some new features with these tools.

What does a "handle" look like?

The handle is identification of the object from the native database. In means that through this handle you can connect the visualization, the object that you can see in the browser and native objects in the original file, the source file. It is represented as string, because from the Open Cloud server you obtain all the data in JSON format.

How to host C++ application on the web server, so that it can be reached through web request (GET/POST) and then give back its output back to the client?

You can start from this article.

Web application should connect to Worker app through WebSocket connections. Through WebSocket, you can send commands to be executed on the Worker side.