Skip to main content

I am experiencing a problem displaying mulipatch features read from Esri geodatabase. The features lose the ability to be rendered with shading.

The problem is best demonsrated using the following workspace. On the top, a shape file multipatch feature is read, the (default) appearance removed (for consistency with the geodatabase operation), the appearance is then set to green and then displayed on the left.

On the bottom row, a geodatabase multipatch is read, appearance removed, appearance set to green and then displayed on the right. The box on the right is not shaded. An identical problem re-occurs if saved to a geodatabase and viewed in ArcScene.

How do I get the box on the right to look like the box on the left?

Hmmm... that's an interesting one! I've played around a bit with FME and I noticed that same problem. Furthermore, I haven't been able to fix this using standard transformers (e.g. by using a Triangulator, GeometryValidator etc.).

 

It seems to me as if FME doesn't read/write surface normals (correctly) for Geodatabases. Was your box created in ArcGIS or also with FME? I created and read the boxes with FME, so not sure whether reading or writing is the problem here.

 

I created a box in FME, triangulated it to make sure that it has normals, wrote it as a multipatch with measures and read it back in. I noticed that the fme_vertex_normal (x, y, z) values are all 0, 0, 1. That seems wrong to me. But maybe I'm doing something wrong...


The boxes were created in FME using a Creator transformer. Writing to geodatabase is not a problem as the box is displayed with shading in ArcScene (if it is not first read in FME).

 

 


Sounds like you might want to forward this to Safe support.


Sounds like you might want to forward this to Safe support.

Case number C124278 submitted!

 


The boxes were created in FME using a Creator transformer. Writing to geodatabase is not a problem as the box is displayed with shading in ArcScene (if it is not first read in FME).

 

 

 

Oh, sorry, I understood that the problem also occurred when viewing it in ArcScene.. But it only happens when it's first read by FME? Really odd... As @david_r already mentioned: sounds like a bug!

This problem is due to the Geodatabase reader creating incorrect vertex normals on the multipatch features that don't already have them.

Until this problem is fixed, you can use a combination of the MeasureRemover and GeometryValidator to remove the vertex normals and replace them with the correct normals. Alternatively, if you create the vertex normals with the GeometryValidator before writing to the original Geodatabase, you can avoid the reader problem.

Thanks DaveAtSafe, this works great.

I added 3 MeasureRemovers added to removing fme_vertex_normal_x, fme_vertex_normal_y, and fme_vertex_normal_z. Then GeometryValidator added with Missing Vertex Normals checked.

 

The workspace needs to keep the AppearanceRemover transformer, otherwise the malformed appearance that is created during the reading process remains present.


Reply