Skip to main content
Solved

?Is it possible to convert a surface to 3d pts, lines or polygons

  • October 16, 2017
  • 3 replies
  • 642 views

Is it possible to convert a surface to 3d pts, lines or polygons

background: I've been given a surface from Civil3D and wrote it to an esri filegdb multipatch feature class using workbench, however you cannot use a multipatch with the surface tools in esri (contour, difference etc.) so i am attempting to recreate the autocad surface as an esri TIN. we don't have access to the masspoints or breaklines that originally generated the civil3d surface

Best answer by whkarto

Hi @nfink,

To be able to get hands on 3D geometry in FME you need to convert the fme_geometry to something that FME can deal with internally. I assume that you've got an IFMEMesh geometry type that conflicts with several transformers. What you've got to do is coercing your mesh to 3D Polygons. To do so

  1. use the GeometryCoercer and coerce your mesh to an CompositeSurface.
  2. Next use the Deaggregator to get hands on the polygons (triangles). Don't forget to set parameter "Split Composites" to "yes"
  3. Finally use the GeometryCoercer again to set the fme_geometry to polygons, otherwise most of the transformers will still believe that your features are surfaces although you did already crack them down to polygon level. The Deaggregator doesn't change the fme_geometry type.

Keep in mint that this approach will only work for geometry but not for texture! You can't keep texture information during coercing to polygons.

View original
Did this help you find an answer to your question?

3 replies

takashi
Influencer
  • October 16, 2017

Hi @nfink, if the surface geometry is an IFMECompositeSurface, the GeometryPartExtracter with this Geometry XQuery can be used to extract 3D polygons from the surface.

Part to TestLeft ValueOperatorRight ValueThe parent of this partGeometry Type=IFMEFace

whkarto
Contributor
Forum|alt.badge.img+14
  • Contributor
  • Best Answer
  • October 17, 2017

Hi @nfink,

To be able to get hands on 3D geometry in FME you need to convert the fme_geometry to something that FME can deal with internally. I assume that you've got an IFMEMesh geometry type that conflicts with several transformers. What you've got to do is coercing your mesh to 3D Polygons. To do so

  1. use the GeometryCoercer and coerce your mesh to an CompositeSurface.
  2. Next use the Deaggregator to get hands on the polygons (triangles). Don't forget to set parameter "Split Composites" to "yes"
  3. Finally use the GeometryCoercer again to set the fme_geometry to polygons, otherwise most of the transformers will still believe that your features are surfaces although you did already crack them down to polygon level. The Deaggregator doesn't change the fme_geometry type.

Keep in mint that this approach will only work for geometry but not for texture! You can't keep texture information during coercing to polygons.


  • Author
  • October 17, 2017
whkarto wrote:

Hi @nfink,

To be able to get hands on 3D geometry in FME you need to convert the fme_geometry to something that FME can deal with internally. I assume that you've got an IFMEMesh geometry type that conflicts with several transformers. What you've got to do is coercing your mesh to 3D Polygons. To do so

  1. use the GeometryCoercer and coerce your mesh to an CompositeSurface.
  2. Next use the Deaggregator to get hands on the polygons (triangles). Don't forget to set parameter "Split Composites" to "yes"
  3. Finally use the GeometryCoercer again to set the fme_geometry to polygons, otherwise most of the transformers will still believe that your features are surfaces although you did already crack them down to polygon level. The Deaggregator doesn't change the fme_geometry type.

Keep in mint that this approach will only work for geometry but not for texture! You can't keep texture information during coercing to polygons.

thank you @whkarto

 


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings