We have been using Autodesk Forge for viewing our STL 3D models, this has been working great.
We have some new file types, glTF (.glb) that we would like to use. Unfortunately the Measuring Tool in the Viewer is only allowing a small area for measurement.
When the model is loading into the viewer it is loading it in "sections". I am only able to measure one of those sections.
You can view an example here:
https://architecturalinfo.com/autodesk-forge/viewer-test.html
I appreciate your help.
From your demo site, I can see you're using a legacy Forge Viewer (v6.6.4), please consider upgrading it to v7 at least. Our engineering team made lots of improvements on this.
I tested the sample experiment/gltf2 from this blog, and it looks fine. The measurement tool works as expected.
https://forge.autodesk.com/blog/gltf-20-support-forge-viewer
Related
We want to embed a 3D CAD viewer into our web-based collaboration platform. It would work similar to the one offered by Opencascade. You can see it here.
We do not charge for the use of our platform and we would prefer an open source option if it is available (Opencascade viewer is not open source).
Does Autodesk Forge have a similar offering?
Thanks!
CAD viewer solution for a WEB can be split into several pieces:
On-server converter of CAD model.
Conversion of CAD file into intermediate format. You might need a lot of Data Connectors in case if you need supporting wide range of CAD formats, or restrict functionality to import vendor-neutral formats like STEP.
Generation of Web-friendly triangulation-based 3D model. This step might include model simplification in case if you have to deal with large models.
Server backend implementing business logic and backend for 3D viewer. The complexity of 3D Viewer backend depends on functionality provided with it and ability of viewer to handle extra-large models. In simplest case, this might be just a file server providing 3D model in format like glTF.
Client part, e.g. HTML+JavaScript code for displaying 3D model using WebGL, as well as GUI and application-specific logic. The viewer might just display 3D model (in which case it is barely distinguishable from non-CAD viewers), or give many features like Shaded and Wireframe (not just mesh edges) modes, picking sub-parts, Clipping Boxes, clipping with capping, annotations, dimensions, explode view, HLR view, a bunch of them!
Although it is technically possible loading some small CAD models directly in the Browser, in general this task is expected to reside on server to improve user experience and give some protection to intellectual properties (of CAD models). The converter may be based on Open CASCADE Technology, which is an open source framework, in case if STEP/IGES input file formats are enough (output could be your custom file format or glTF 2.0, for instance). But in case of native CAD formats support (like CATIA and others) you will unlikely find any free open-source libraries.
The Web viewer itself relies on WebGL and normally can be based on any traditional JavaScript-based library like Three.js (or existing 3D Viewer on top), or may rely on C++-based engine (again, Open CASCADE Technology can be build as WebAssembly module). WebAssembly-based viewer may give some performance benefits and it is more friendly to C++ developers (but apparently - less friendly to JavaScript developers). There is a hidden issue, though, as many open-source C++ libraries commonly have LGPL license - pretty good for desktop, but might have legality issues in case of a Web application. In contrast, WEB-based libraries are normally more proprietary-friendly with permissible licenses ignoring open-source software ideas put into licenses like (L)GPL.
In general, 3D CAD Viewer definition is very wide, and requirements list in your question are very basic and unclear - just to embed 3D Viewer in your WEB application. You may write your own Web Viewer based on open source components, or consider commercial options already implementing features you are looking for, and aware of / providing some solutions for handling tricky problems.
Looks like Forge Viewer fits the bill perfectly and covers most of the features available with the demo ;)
You may experience/preview Viewer following this link using a model of your own here and follow here to build up a MVP here...
For the features that are not readily/built-in out of the box Viewer is highly extensible and offers API making it pretty straight forward to develop extensions following here and also the blogs/tutorials available here.
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?
I'm building a cross platform 3D viewing application in C#/C++ and would like to add support for Autodesk SVF files.
I looked at Autodesk Forge but it has limited support for exporting to open formats such as OBJ, and Autodesk SVF does not appear to be the same format as the similarly named Simple Vector Format (http://www.svf.org/) as was stated here: https://forge.autodesk.com/blog/updated-little-more-detail-behind-autodesk-forge-apis-0
Is there a schema or specification available somewhere that details the structure of Autodesk's SVF format?
The short answer: no there isn't as it's a proprietary format (that has been breached in some country already and legal actions were needed to resolve the issue...)
The long answer and please view this as my personal rambling w/o any real authority or credibility:
I'd recommend to stay tuned to the official Forge website and see if they'd choke up more info on SVF(aka the Streaming Viewing Format) for public knowledge.
We essentially work with Revit and its API.
We export our Revit models into Forge for our customers to view them.
But we would like them to be able to do simple modifications (such as textures modification) and later larger modifications (change an object for another). And of course visualize the modified model.
Let's start with the simplest task: modify a texture. Is that possible? I understand from that post that I could modify metadata of the model. Does this include textures, and does it mean that the modified texture will appear in the model in Forge?
Thanks by advance
Benoit
In general, the answer is Yes. You can use the API to modify the metadata, geometry and texture as you mentioned. You can do most of the job that you did in your Revit desktop plugin which doesn't require UI interaction. Of course, it still has some limitation, please refer Design Automation for Revit limitation for some details.
Back to your question to view the Revit model, that's another topic, after you modified the texture of Revit model, you need to trigger another translation and then view it in browser, there are some issue or limitation of Revit material/texture to be translated/viewed in Forge viewer, handle revit custom texture is some suggestion while viewing custom texture.
Remote control for Autodesk Forge Viewer. Allows to interact with Viewer using Natural Language or Speech Recognition interfaces to perform conversation in chat-like mode.
Currently works fine in Google Chrome and Mozilla Firefox due a Speech-To-Text issues.
Feel free to check it on GitHub repository: viewer-remote
Thank you for raising this issue here for all to evaluate and discuss!
You also say: "Probably you could suggest some more places to discuss this with developers?"
Not really. This is probably the best place, and I can think of no other ones. We are trying to concentrate all questions and discussions on Forge related technical issues here on StackOverflow.