Skip to main content

My question is similar to this one: https://community.safe.com/s/question/0D54Q000080hbnqSAA/extruding-building-heights-from-3d-terrain-model-creates-sloped-buildings and Takashi's answer helped me to progress.

 

However, in Takashi's answer, the z value of each vertex is the same (the minimum z value of the whole vertices) but I would like to keep the proper z value of each vertices and then extrude them with different elevation in order to keep a flat roof.

 

My idea is to extract each vertices of the building footprint and extrude them with their own elevation values.

 

  1. SurfaceDraper: Drape the polygon by the terrain surface.
  2. VertexExtractor:
  3. Calculate elevation of each vertices (building highest altitude minus z value)
  4. Extruder: vertical using the elevation calculated before
  5. Rebuild the 3D building geometry from those extruded vertices

 

My question then, is there a way to rebuild the 3D buildings from those extruded 3D points (that are now lines)?

 

 

 

Hi @bgeorges​ , I have no idea how you can rebuild a 3D solid from the extruded vertices, but here is another thought.

1) Create an extruded solid upward from the minimum elevation to the roof.

2) Create extruded solid(s) downward from 3D polygon(s) bounded by the draped vertices.

3) Clip out the upward solid by the downward solid(s) with the Clipper.

Hope this helps.


Hi @bgeorges​,

It might be simpler to extrude the entire polygon by distance between the lowest point and the roof, then clip the high points to flatten the roof.

 

Screen Shot 2022-03-03 at 3.33.05 PM


Reply