Question

3D building - remove draped appearance and create new solid color appearance

  • 29 November 2016
  • 10 replies
  • 21 views

Badge +9

Hi all,

This is the first time I put a question on this forum.

I have got this ESRI gdb feature class with multipatch objects containing aggregates of several buildings, all with realistic photo appearances draped on them. I need only one specific building and without its photo realistic appearance, but with a new solid color appearance.

I'm successful in deaggregating, selecting the one building of interest and saving that one building back to a new ESRI gdb, including its photo realistic appearance.

What I cannot manage is to remove this one building's draped photo appearance and creating a new solid color appearance. I tried AppearanceRemover on several levels to also remove any eventual inherited appearances. The removal works as the photo draping disappears, but the remaning building stays solid black no matter how I try assigning a new solid color appearance to it using the AppearanceSetter.

Hope someone can shed some light on this issue.

/ Hans

 


10 replies

Userlevel 2
Badge +17

To add a simple solid color appearance to a surface or solid feature, you can use the GeometryColorSetter transformer.

Badge +9

To add a simple solid color appearance to a surface or solid feature, you can use the GeometryColorSetter transformer.

That doesn't affect the result, the 3D object is still solid black. Regardless of where in the schema I put the GeometryColorSetter. Also regardless if I first use AppearanceRemover or not with the GeometryColorSetter.

 

 

Below is the FME schema. The disabled writer in the top right is what is giving me the one solid building with its photo draping if I remove the first two appearance transformers. I tried several combinations of AppearanceRemover/setter and GeometryColorSetter and these transformers separate, but to no avail. Also, if I just put a GeometryColorSetter on the original data and inspect that, all the objects are solid black. I put a slightly yellowish white in the colorsetter.

 

.

 

 

Badge +11

Hi

Try to use an AppearanceStyler before using the AppearanceSetter. In Appearance Styler you can define your desired color as parameter DiffuseColor. Then route your appearance to the AppearanceSetter and connect to the Appearance port. Conncet your 3D geometry (which still has to be a mesh not a polygon) to the Geometry port and receive the colored mesh from Output port.

Badge +9

Hi

Try to use an AppearanceStyler before using the AppearanceSetter. In Appearance Styler you can define your desired color as parameter DiffuseColor. Then route your appearance to the AppearanceSetter and connect to the Appearance port. Conncet your 3D geometry (which still has to be a mesh not a polygon) to the Geometry port and receive the colored mesh from Output port.

Thanks, thats one transformer I never used, but that too left things unchanged, objects are still black. I'm not sure if ESRI gdb multipatch objects counts as meshes in this regard? However I tried putting a meshmerger right after the attributefilter to merge just this one building into a mesh, which seems to work (it sends the one object to the appearanceSetter), but this too produces one black object.

 

 

I feel this should be rather easy to accomplish, but I'm out of ideas.

 

 

Badge +11

Hi

Try to use an AppearanceStyler before using the AppearanceSetter. In Appearance Styler you can define your desired color as parameter DiffuseColor. Then route your appearance to the AppearanceSetter and connect to the Appearance port. Conncet your 3D geometry (which still has to be a mesh not a polygon) to the Geometry port and receive the colored mesh from Output port.

 

Could you Export one building for your gdb and upload it or mail it to me (wolfgang.henebichler@uvmsystems.com), so that I can have a look at it?

 

I'm working at company that focusses primarly on creation and maintenance of 3D city models and what you're asking is a task I'm dealing with quite often. But these, at the first sight, "simple tasks", thend to become tricky the more you dig into it. Without analysis of the data it is often hard to guess what's going on.
Badge +11

 

Could you Export one building for your gdb and upload it or mail it to me (wolfgang.henebichler@uvmsystems.com), so that I can have a look at it?

 

I'm working at company that focusses primarly on creation and maintenance of 3D city models and what you're asking is a task I'm dealing with quite often. But these, at the first sight, "simple tasks", thend to become tricky the more you dig into it. Without analysis of the data it is often hard to guess what's going on.
Find attached a demo workspace that shows how to solve your task. You just neet to remove your existing appearance, create a new one , combine geometry with appearance and write feature to file geodatabase.

 

 

Two crucial points have to be considered:

 

  1. the appearance feature must not have any geometry. Therefore use the GeometryRemover before routing features into AppearanceAdder.
  2. You mus use the ArcObjects based gdb writer. the FME built_in API based Writer doesn't support Multipatch writing.

 

 

 

Badge +9

 

Could you Export one building for your gdb and upload it or mail it to me (wolfgang.henebichler@uvmsystems.com), so that I can have a look at it?

 

I'm working at company that focusses primarly on creation and maintenance of 3D city models and what you're asking is a task I'm dealing with quite often. But these, at the first sight, "simple tasks", thend to become tricky the more you dig into it. Without analysis of the data it is often hard to guess what's going on.
Thanks, your comment indirectly solved my issue, not using FME however but ArcCatalog. When looking at the building in ArcCatalog and exporting the one building to shp to put up here I noticed two things:

 

The original buildings are aggregated multisurface multipatch objects, which are missing their base face, not multipatch solids. Changing my geometryCoercer to multisurface does not change the result.

 

However, exporting the one building (gdb created with my FME schema) in ArcCatalog from gdb to shp somehow automatically strips it from its draped images and makes it solid white.

 

 

Issue solved, but I'm still puzzled as to why I couldn't do the same thing in FME. I'm uploading the one building in an ESRI gdb, both with my FME-exported draped building and my ArcCatalog-exported solid color building. (rar-ed to get the small filesize and then zipped to be able to upload it)

 

 

Edit: the file didn't get included so I put it in its own post.

 

Also I missed your very last post. I tried that but it didn't do the trick either - I did kind of the same thing before but just created an appearancestyler after a Creator.

 

Badge +9

Here's the file.

Badge +11
Thanks, your comment indirectly solved my issue, not using FME however but ArcCatalog. When looking at the building in ArcCatalog and exporting the one building to shp to put up here I noticed two things:

 

The original buildings are aggregated multisurface multipatch objects, which are missing their base face, not multipatch solids. Changing my geometryCoercer to multisurface does not change the result.

 

However, exporting the one building (gdb created with my FME schema) in ArcCatalog from gdb to shp somehow automatically strips it from its draped images and makes it solid white.

 

 

Issue solved, but I'm still puzzled as to why I couldn't do the same thing in FME. I'm uploading the one building in an ESRI gdb, both with my FME-exported draped building and my ArcCatalog-exported solid color building. (rar-ed to get the small filesize and then zipped to be able to upload it)

 

 

Edit: the file didn't get included so I put it in its own post.

 

Also I missed your very last post. I tried that but it didn't do the trick either - I did kind of the same thing before but just created an appearancestyler after a Creator.

 

 

When I run your dataset through my attached workspace (see textured-multipatch.zip) I can remove the photo realistic texture and replace it by any color. I'm using FME 2015.1 and ArcGIS 10.0 on your data.

Badge +9

 

When I run your dataset through my attached workspace (see textured-multipatch.zip) I can remove the photo realistic texture and replace it by any color. I'm using FME 2015.1 and ArcGIS 10.0 on your data.

Thanks for the clarification. Using FME 2016.1 the AppearanceAdder has changed to AppearanceSetter with slightly different settings, I tried your schema with both of them, with the same result. However, the gdb write result is correct with either one, whereas the FME Data Inspector View of this right before it is sent to the writer is not correct - i.e. the solid black object no matter what transformers you put after AppearanceRemover.

 

 

I realize I should have written to gdb and checked that, not trusting the Inspector View during testing.

 

 

Reply