Select to view content in your preferred language

Any way to custom Extrude...Intersect 3D?

2309
1
02-24-2012 09:35 PM
RyanSchuermann
Emerging Contributor
Hello,

I'm somehow not seeing the simple way of accomplishing this, which is probably staring right at me....

I'm wanting to extrude a polygonZ by unique values per vertex. I don't think that's possible as there is no vertex/edge editing within ArcGIS... How about in python?
I basically have an irregular polygon feature footprint (all vertices have unique Z values), and I want to extrude that, but to another irregular top 'surface' (all vertices are extruded by a unique value).

You know what would be really freaking sweet...Extrude by M value. Since we can already store M values in polygons...if we aren't using it for routing data, why not be able to use it
as an extrude value for each vertex.....can I do that in python???? 😄 If not, sure would be nice of ESRI to add that one line of code to snag the extrude value out of the vertex...

The way I understand extrude, it either results in a flat feature 'surface' or a 'surface' mimicking the extruded object's footprint, correct?

To get an irregular top and bottom 3D feature would I...

...create two PolyZ features with the same desired footprint, one with Z values for the bottom and one assigned Z values for the top, and use those two to intersect a 3rd feature( multipatch) that has Z values lower and higher than the surfaces , basically chopping the top and bottom off?

Or create the two polyZ features like above, and extrude the lower one up and the top one down and somehow Merge the multipatch features?

...create two multipatch features, one with the desired irregular bottom footprint, extruded up above the desired top, and another multipatch feature with the desired irregular top surface as it's bottom and extruded up, then perform a Union 3D which should give me 3 multipatch features representing a lower feature (what I want) a feature representing the shared space, and a 3rd representing the extra from the top multipatch, discarding the latter 2.

I'm really trying my best to keep my editing confined to ArcGIS...

ps. there are no surfaces to create TINs from...many of my polyZ features vertices share same X,Y but differ in Z, so when I create a TIN from the FC it fails horribly, when I convert vertices to point and then create TIN it also fails, as the surface renders from high to low, skipping the point directly below.
Tags (1)
0 Kudos
1 Reply
RyanSchuermann
Emerging Contributor
Following up on this...

yes.. Extrude between solves this issue.  But at a performance price that is ridiculous. Since my set of polygonZs do not form a contiguous surface, 2 TINs must be created for each multipatch feature desired.

To recap.. I have two sets of geometrically equal Polygon Z shapes, spatially located directly above one another, representing the top and bottom bounds of a volume. The top set is just a copy of the bottom set, at various height differences. They are simple rectangles with the top ones (let's say) 3 to 5 meters above the other. If I loop through and create 2 TINs, using each pair of polygonZs as a hard clip, then I can take those two TINs and the bottom polygonZ and run 3D Analyst Extrude Between, resulting in a perfect multipatch feature representing the volume 'between' the two polygonZs.

Another option would be to extrude the bottom polygonXs up > 50% of the distance between the two, which for this example was 5, so an extrusion of 3 would suffice...and then extrude the matching top polygonZ with a negative of that value. Running 3D Analysis Tools -> Conversion -> Layer 3D to Feature Class will produce a multipatch feature class of the 2 overlapping features. From this one should be able to simply run Union 3D, in theory. The problem here is back in Layer 3D to Feature Class. as of 10.1 it is a complete crap shoot whether or not the function creates a closed multipatch feature. I ran the function ~20 times on a set of 100 very simple rectangular polygonZs that were extruded. Rarely was the the resulting multipatch fc all closed (once for the bottom set of polygonZs). Often the results were all open, but usually a mix-match of random closed and open features. Enclose Multipatch did not properly 'close' these simple multipatch features, so that was not an option.

what other working options (and hopefully more optimal than the extrude between) are there that I am missing?

thanks in advance
0 Kudos