Autodesk Forge: how to load the model on a node server? - autodesk-forge

I'm trying to run raytracing analysis on a model from Forge. The processing is pretty heavy and it must be run on the server-side. I'm attempting to load the model into threejs (with all the geometry, materials, etc) on a node server using he svf, but I'm having trouble getting this to work. Has anybody been able to do this or have any suggestions?

I haven't tried yet, but should be best with something like headless Chrome, where a JavaScript code running on the page can extract the information you need.

Related

Getting the list of all the views in a model on Forge

I am working on a Revit plugin to run on Forge (Design Automation app) that exports a 3D view through a custom exporter. As an input argument, it requires the name (or ElementID) of one of the 3D views from the Revit model. Is there a way to query the name of the views of a Revit model through other Forge solutions (like Data Management API)?
I couldn't find anything, if there is not an http api for that I assume I have to do it as part of my plugin run. What's the best to do that then?
Should I have a separate plugin that extracts the view names?
Thank you so much!
From your description, it appears that you have very little experience with Revit API add-ins. Maybe you should take a look at the getting started material first and work through the video tutorial. It explains a lot of important fundamentals, including covering this current question of yours.
The (almost) one and only way to retrieve elements from the Revit database is to use a filtered element collector. That would be the method of choice to find the element id of the 3D view you are looking for.
You cannot have searched very exhaustively, because many discussions by The Building Coder on the custom exporter and other topics include a code snippet showing how to pick a 3D view suitable for exporting.
To ensure you really have a 3D view set up just as you need it, you might prefer creating a new one from scratch.
Out of curiosity, is your task associated with the discussion thread on Revit API vs. ReCap API for historic project?

Autodesk Forge API - How can I convert DWG files?

I am an App developer with no experience with AutoCAD at all, and for my current project I need to convert DWG files into Spatial Data - ESRI Shapefile / GeoJSON, etc.
Given that DWG is a proprietary format owned by Autodesk, the Autodesk Forge API becomes my only option to interpret such file. I have been evaluating the Model Derivative API for a week now, and what I found is that it won't work for my purposes. It has only 3 output formats (f2d, f3d, rvt) for DWG files and none of them fits my purpose.
For this reason, I started to look at others API's in the platform and ended up finding the Design Automation API which might be helpful, however it lacks documentation.
One of the examples in the API is the PlotToPdf activity that exports a DWG into a PDF. I wonder if there is a way to export other formats other than PDF.
I tried to find the possible "commands" in the interface by listing all the activities, workItems and AppPackages but none of these end-points returned me any useful information.
So here are my questions?
How can I can convert a DWG into a non Autodesk format? Being more specifically, the output must be an open format that I can interpret without using proprietary tools.
If the answer for the first question is Autodesk Forge API, which one should I use?
In case I should be using Design Automation API for that, where can I find complementary documentation once the one provided is lacking details?
I would say that Design Automation API is the best option if you don't have (or don't want) AutoCAD running (or any other DWG compatible desktop app).
To be complete: Design Automation includes an instance of AutoCAD running on the cloud, where you can upload a .DWG with a sequence of commands (script) and a .NET custom app to execute more advanced routines. Then download the results. By default, neither AutoCAD nor Design Automation can export to GIS formats (like those you mentioned), only some verticals, like Civil 3D or Map 3D, but these are not available on Design Automation. As you mentioned, Model Derivative API (via REST calls) don't have what you need, it's focused on metadata, not the specifications of the geometry.
Design Automation API supports the same commands AutoCAD Console does. For DXF creation, you can use DXFOUT command, your script would be something like (not tested):
FILEDIA
0
DXFOUT
outputfilename.dxf
QUIT
As per comment, it's a huge effort to just convert to .DXF. I'm not familiar with other libraries do perform the same task.
Now I'm not an expert on GIS data formats, but you may consider move from .DWG to .DXF then an approach like described here.
I don't quite understand this point that you are making in the comments:
I would only use the API to convert DWG to DXF, which means a huge waste of resources considering the monthly cost of the API and the time to develop and maintain the interface.
Can you clarify? Are you saying that transaction cost for Design Automation is too high? Or are you saying that development cost associated with deploying the script that Augusto gave you is too high?
Thanks
Right now the derivativeApi is the way to go for this: You can convert any input format from this list (https://developer.autodesk.com/en/docs/model-derivative/v2/overview/supported-translations/) to the "intermediate format" svf and the convert the svf file to obj for example. This will also create a material file which can be downloaded seperately. I am evaluation the forge api right now and can produce obj from dwg files right now.

functional tests for google maps

I'm trying to write functional tests and we have a customer report page with google map which we use to display reported customers on in.
I read this post and I wondered whats the best way to write functional tests for google maps.
I am using Yii framework .
thanks guys
UPDATE:
I also have polygons, indicating regions of these customers, how are polygons displayed and how can I write tests for them?
In my opinion would be good to use Selenuim in this case. Obvoiusly there is lots of JavaScript involved and only good way how to really test it is to run tests in the webbrowser and replicate user activity.
For this you will need to install and setup Selenium server:
And the use PHPUnit Selenium extension

Using graphs generated my Munin in a Swing application

I'm able to generate a usage statistics graph in my browser for a particular PC using Munin. The problem is that I want to use the graphs in a Swing application where the graphs will be displayed. Is there any way to do so? What are the other options available to generate the same graphs on Swing? Do I have to manually generate the readings and plot the graph accordingly?
As Munin is written in perl, it should possible to use ProcessBuilder to evoke the desired graph. A related example is seen here.
Alternatively, it may be possible to install Munin locally and fetch the image as suggested in this example.

Idea Wanted: Raster Online Map (Possibly with ESRI API and some geoprocess model)

(I hope this is a valid question)
As I stated in my title, I'm looking for a fairly easy to moderately easy idea for some sort of online raster analysis map. I'm familiar with ESRI and their really awesome API, as I'm hoping to tackle something on that front. I'm also open to using the mapstraction lib.
Does anyone have any ideas for me?
Thanks!!
I'm not sure you mean image rasters or data rasters. This uses open source packages: MapServer and an AJAX client MsCross. It generates data rasters on the server and displays them in the browser. The rasters are contour plots for a plume of contamination in groundwater.
If you are already familiar with ESRI, then you should look at the ESRI Flex API ESRI Javascript API. You can use both of them to fire up Server side Geoprocessing services.
There are so many ways to skin the cat...
You may want to check the Publishing a GeoProcessing Service section of ESRI help
The basic idea is this... you use ArcMap/ArcCatalog to author a Geoprocessing Model (I am assuming you are familiar with this), which you later expose in an ArcGIS Server as a Geoprocessing Service. Publishing a model as a service is pretty easy provided you already have an ArcGIS Server configured - see the links I provided you above.
Then you can either use the free ArcGIS Explorer application to consume that GeoProcessing Service or write a webapp using Flex, or Javascript or DotNet or even python to consume that webservice.
And yeah, don't consume the webservice synchronously - stick with async.
You do unfortunately not write, what exactly you need. Do you want to display maps on a web page or in a application?
In the latter case i would recommend using http://www.openstreetmap.org/ it seems to be a little tricky in the beginning, buts data base gets better and better. A number of renderes exist, which you can integrate into your application.