Using 3D Symbols to Sketch Simple Buildings and Objects

1022
6
01-25-2020 08:34 PM
BennettDahl
New Contributor

Hello,


I'm currently in the VERY early stages of developing an app in which I need to be able to draw buildings in a 3D scene. I'll be using the data for size and distance measurements. One of the key thing's I'll be doing will be building residential homes with sloped roofs. Is it possible to use 3D symbols to create these types of objects? From what I can tell it looks like we're limited to Z-height extrusion of 2d polygons. Which doesn't allow for more complex roof slopes etc.

Thanks in advance!

Tags (2)
0 Kudos
6 Replies
DavidPike
MVP Frequent Contributor

Hi Bennet,

I know pro allows this drawing functionality which I was very poor at using! Once you get your head around it I think it becomes quite straightforward. It could also be done with multi patch polygons, which may be what pro is creating (still stuck on desktop here).

0 Kudos
BennettDahl
New Contributor

does pro offer a way for me to implement this as part of a web viewport? It is my understanding that pro is a desktop platform.

0 Kudos
DavidPike
MVP Frequent Contributor

I'm not really up on pro unfortunately so can't really offer any more without possibly misdirecting you. Maybe look into if the newest implementation of portal can do this out of the box? Though I'm guessing you're developing a standalone app. Perhaps a gp service which allows users to sketch the polygon then attribute heights of various vetices of a multi patch. I have a very surface level knowledge but I hope it helps somewhat.

0 Kudos
RalucaNicola1
Esri Contributor

Hi Bennett,

From what you said, you want to build a web application, so here's some state of the art for ArcGIS API for JavaScript.

Can you explain to me a bit your use case and how you imagine the user experience? So your initial data are polygons (footprints of buildings I assume)? And then the user goes in and starts extruding the polygon? How would he add the rooftop? 

Currently what we have in the API in 4.14: 

- sketching a polygon and drawing it with a given extrusion: Sketch in 3D | ArcGIS API for JavaScript 4.14 

- importing a 3D model as a GLTF and scaling/rotating it and moving it around: Import glTF 3D Models | ArcGIS API for JavaScript 4.14 

We are now working on editing the z values of points/lines/polygons and their vertices. This should be a new feature in the upcoming release.

However, from what you wrote it sounds like you would really need to modify 3D geometry, which is currently not possible and we aren't going to work on it in the next releases...

0 Kudos
BennettDahl
New Contributor

Correct, I am looking to build a webapp. 

As for user experience I you're on the right track. Effectively the building footprint would add the height of the building. Then yes, the user extrudes the polygon to get building height. Ideally, drawing the roof would be something like this. Select the roof of the 3d model, and create a ridgeline. Then specify how far up you'd like that ridge line to be. Or if it is a single slope roof, being able to specify the heights of the extrusion on one side vs the other would also work. Something to be able to just get basic slope angles present. 

I would however then like to be able to place objects like vent's, and AC units on top of the object. 

Given what I'm looking for, and what you've described, I think the api might just be a bit limited at the moment. Are you by chance familiar with any map system that could integrate in this way?

Thank you for your help!

0 Kudos
RalucaNicola1
Esri Contributor

Hi Benett,

sorry for the late reply! Indeed, this is a bit of a more advanced workflow and the ArcGIS API for JavaScript doesn't support it currently. 

However, your input is very useful, I added it to our editing use cases for when we'll start working on editing 3D geometry.

0 Kudos