Select to view content in your preferred language

Multipatch to GLTF

3251
14
12-30-2022 11:27 AM
Status: Open
Labels (1)
EricEagle
Frequent Contributor

Currently, the only 3D model transfer format that ArcGIS Pro supports in terms of exporting is Collada.  However Collada is an older spec and not handled well by many 3D design software titles.

I would like functionality to export a 3D Multipatch object from ArcGIS Pro into GLTF (ascii AND/OR binary).

The general flow would be similar to arcpy.MultipatchToCollada_conversion() and could be something like arcpy.MultipatchToGLTF(output_path, output_name, prepend_source_name, format="BINARY")

(or, format="ASCII")

GLTF/GLB files are handled very pleasantly not only by numerous 3D design titles (e.g., Blender can open a 100mb GLTF without breaking a sweat while a 50mb Collada will bring it to its knees) but also the universal three.js framework.

Please bring GLTF export support to ArcGIS Pro!

14 Comments
JohXENIE

Hello,

 

i'm working with arcgis pro and want to export to glb an arcscene or raster or multipatch for blender.

After that, I want to put the .glb into 3D vista for making VR.

Currently, i trying to find an issue but still can't export from arcgis pro to glb.

Like EricEagle:

Please bring GLTF export support to ArcGIS Pro!

 

EricEagle

@JohXENIE There is a way to go smoothly from a terrain/image raster combo to a glb that Blender handles beautifully, but it involves using QGIS and the Qgis2three.js plugin.  This is my current workflow but it causes me to have to maintain extra software.  If you want more info just message me privately.

SimonSchütte_ct

You could export your scene as i3s/SLPK and then look for conversion tools.

The ArcGIS Data Interoperability extension for example offers support for various formats.

CityEngine supports multiple formats, so for those of you with a license this is a good option.
https://doc.arcgis.com/en/cityengine/latest/help/help-export-gltf.htm

The CityEngine SDK (https://github.com/Esri/cityengine-sdk) is free for personal, educational, and non-commercial use. Commercial use requires at least one commercial license

However, having native support for GLTF export within ArcGIS Pro would be great.

BruceHarold

To echo Simon, Data Interoperability extension can export multipatch to GLTF/GLB.

EricEagle

I do appreciate this but would like to stay away from extras like the massive Data Interop extension.  As an Idea, it has precedent (as 3d export of multipatch is already supported) and is a logical evolution of the Multipatch to Collada tool.

RodneyChin
Status changed to: Already Offered

Hi Eric,

Have you had a chance to look at the Add 3D Formats to Multipatch geoprocessing tool? That tool is designed to do exactly what you are asking for. I'll post the link to the documentation below.

There are some caveats to the tool. First, you need to be using Windows 10 build 1809 or higher. This will give you access to the 3D Objects folder which is necessary when exporting your multipatches out of Pro.

Secondly, you need to be using Pro 2.7+ and have either the Standard or Advanced licenses.

Next, you need to turn on Windows Projected File System. This setting can be found by going to the search bar under the start menu and typing in, "Turn windows features on or off." This will open up a new dialog window. With that new window open, scroll all the way to the bottom and look for, "Windows Projected File System." Select that checkbox to turn that feature on and hit OK. This will activate the windows projected file system which creates a live link between Pro and windows. The 3D objects folder is where Pro will export your files to. The 3D Objects folder can be found under "This PC" in windows explorer.

With those settings updated, go to Pro and open up your geoprocessing tools. To find Add 3D Formats to Multipatch, you can search for that tool directly or go to the Toolboxes and navigate to it by going to Data Management Tools > 3D Objects > Add 3D Formats to Multipatch.

When the tool pane opens up, select your multipatch layer as the Input Feature, then choose the file format(s) of your choice and select run. When the process is complete, navigate to the 3D Objects directory that I mentioned earlier, find your project, and navigate down to find the file(s) you exported. They will be exported as a generic file name but it will be the 3D model(s) on your feature layer.

Hope this helps!

https://pro.arcgis.com/en/pro-app/latest/tool-reference/data-management/add-3d-formats-to-multipatch...

JanHorák

Hi, I was wondering if there is a workflow, where you can take a multipatch into GLTF and keep the attributes asociated to given geometries, i would like to make a interactive 3D city model in VR but i keep bumping into data interop. problems, eg. i dont have access to Data Interoperability extension.

RChin
by

Hello Jan,

The workflow you would use in your situation would be similar to what I have listed above in my response to Eric. Keep in mind that this tool does not require Data Interop as it is found in the Standard license for Pro.

I'm going to assume you are using ArcGIS Pro 2.7 or higher and you have turned on Windows Projected File System. This is important because when you use the Add 3D Formats to Multipatch GP tool, it will output to your 3D Objects folder. This can be most easily found by using Windows Explorer and finding it on the side bar, underneath "This PC" in the hierarchy.

Go back to ArcGIS Pro and open up your geoprocessing tools. To find Add 3D Formats to Multipatch, you can search for that tool directly or go to the Toolboxes and navigate to it by going to Data Management Tools > 3D Objects > Add 3D Formats to Multipatch.

When the tool pane opens up, select your multipatch layer as the Input Feature, then choose gltf or glb and select run. When the process is complete, navigate to the 3D Objects directory that I mentioned earlier, find your project, and navigate down to find the file(s) you exported. They will be exported as a generic file name but it will be the 3D model(s) on your feature layer.

Hope this helps!

Rodney

NDGraphics

Hello everyone,

We are working on bringing an export feature that will save all your 3D symbols (Points, Polygons, Lines, Multipatch, etc.) along with the terrain tiles that the symbols sit on in a folder in Pro as glTF files.

The feature is expected to allow you to select the features that you want to export, and the selected features and terrain tiles will be saved in their own folders, inside a folder of your choosing. Each individual feature folder will contain the glTF file, the binary file that holds the mesh and material data and their texture images (if any).

EricEagle

@RChin @RodneyChin Sorry for the incredibly late response, for some reason I didn't get an email on this and only caught up that you responded by chance.

 

I would call your solution "partially implemented."  No offense but that is a Bad Workflow.  I cannot simply walk into my enterprise which is controlled by enterprise/configuration management boards and tell them to "turn on projected filesystem."  Similarly I question the architectural wisdom of binding 3D outputs to the Windows 3D folder when nothing else in ArcGIS Pro has such a requirement.  So I request that this be opened up again, as my Idea has to do with a specific functionality added to arcpy, not the ArcGIS Pro GUI.

@NDGraphics Who is "we"?  Does this feature carry a cost and a separate license?  Will it be yet another acquisition action?  We operate on systems that do not touch internet, so phoning home and so on for feature activation is not a realistic solution (which is why we wanted such a straightforward function just baked into 3D Analyst).