Viewing Revit Drafting Views with the Forge API's

纵饮孤独 提交于 2020-01-16 17:49:45

问题


It seems to be possible to view and navigate Revit Drafting View(s) graphics using the Forge API's based on how the BIM 360 Document Management web browser interface does it with our own Revit (.rvt) model having published Drafting Views where it list the 2D Drafting Views (thumbnails) in the left panel and the actual detail of the selected Drafting View in the right viewer. We do have one of the more recent Forge API Viewer examples setup and working, and tried modifying some of its code, but is seems to be designed to only work with Models (.rvt) components in the left panel, and its not obvious where and what code needs to be modify to change it to list 2D sheets/views like the Document Manager does. We are having difficulty locating a Forge API example that shows how to do this using the Forge API's and would like to obtain a working example that illustrates how to do this using the Forge API's?

Tried changing the ViewingApplication.bubble.search to include role 2d type view

function onDocumentLoadSuccess(doc) {
// We could still make use of Document.getSubItemsWithProperties()
// However, when using a ViewingApplication, we have access to the 

*bubble** attribute, // which references the root node of a graph that wraps each object from the Manifest JSON. //var viewables = viewerApp.bubble.search({ 'type': 'geometry' }); var viewables = viewerApp.bubble.search({ 'role': '2d', 'type': 'view' }); if (viewables.length === 0) { console.error('Document contains no viewables.'); return; }


回答1:


The drafting view is kind of 2d role geometry, Therefore you can load it with the same way for the 2D view.

const rootItem = doc.getRoot();
const filter = { type: 'geometry', role: '2d' };
const viewables = rootItem.search( filter );

if( viewables.length === 0 ) {
    return onLoadModelError( 'Document contains no viewables.' );
}

// Take the first viewable out as the loading target
const initialViewable = viewables[0];

const loadOptions = {
    sharedPropertyDbPath: doc.getPropertyDbPath()
};

viewer.loadDocumentNode(doc, initialViewable.data, modelOptions).then(onItemLoadSuccess).catch(onItemLoadFail); 

To show a list of views like the BIM360 Docs, you could load Autodesk.DocumentBrowser extension. It will show viewable items on it, and just click on it to switch. See below snapshot:



来源:https://stackoverflow.com/questions/56735369/viewing-revit-drafting-views-with-the-forge-apis

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!