autodesk-forgeautodesk-viewerautodesk-model-derivative

Multiple SVF Files for a Single Model in Autodesk Forge Viewer


I am working on model conversion using APS and have decided to proceed with SVF instead of SVF2. To load the downloaded derivatives, I am using SVF-Utils repository.

However, when converting certain models (e.g., Snowdon_Towers_Sample_Architectural_Metric.rvt), the output consists of multiple SVF files rather than a single SVF file. The folder structure is as follows:

URN/
  ├── (1) GUID/
  │      └── output.svf
  ├── (2) GUID/
  │      └── output.svf
  ├── (3) GUID/
  │      └── output.svf
  ├── (4) GUID/
  │      └── output.svf
  ├── (5) GUID/
         └── output.svf

To properly render the model, I have to manually load all five SVF files into the viewer. While this approach improves the rendering quality, it introduces several challenges:

Model Comparison Issues: Diff tools detect conflicts due to multiple SVF files. Loading Inconsistencies: Displaying multiple models results in inconsistencies when handling multiple SVFs per model. Lack of Automatic Loading: Unlike standard behavior, the additional SVF files are not automatically loaded when initializing the model using the URN. Here’s the code I’m currently using model conversion:

service.translateObject = async (urn, rootFilename) => {
    const accessToken = await getInternalToken();
    const job = await modelDerivativeClient.startJob({
        input: {
            urn,
            compressedUrn: !!rootFilename,
            rootFilename
        },
        output: {
            formats: [{
                views: [View._2d, View._3d],
                type: OutputType.Svf,
                
            }],               
            advanced: {
                generateMasterViews: true
              }

        }
    }, { accessToken });
    return job.result;
};

Is there a way to automate the loading of all required SVFs when initializing the model? Alternatively, is it possible to restructure the model to consolidate these SVF files into a single entity for more efficient handling?

Any insights or recommendations would be greatly appreciated!


Solution

  • Each *.svf file is a separate 3D View for the given model.

    Views available inside the document

    You cannot consolidate *.svf files into a single one, but you can load them all into the Viewer at the same time.

    Your payload is wrong: advanced should be at the same level as views and type. Check sample code in this blog post:
    https://aps.autodesk.com/blog/new-rvt-svf-model-derivative-parameter-generates-additional-content-including-rooms-and-spaces

    Using advanced options