Question

Connect Adjacent 3D faces - Topology Builder Problem


Badge

I am trying to connect 3d Faces together that overlap in 2d. But connect together perfectly in 3D. They are geological layers. The Topology builder certainly tells me which triangles connect to their nearest neighbours. I'm stuck on how to then create a "network_ID" based on this column. It would have to somehow iteratively connect the shin bone to the knee bone to the thigh bone etc..

Any help much appreciated.


10 replies

Userlevel 2
Badge +17
Sorry, I cannot understand the conditions and requirements.

 

  • The geological layers consist of many independent faces?
  • What does "connect faces" mean? What result should be generated from the "connect faces" operation?
  • What is the criteria to determine two faces belong to the same network? Why have you determined that the two faces (face_id = 9360 and 9359 in your screenshot) belong to the same network?

 

Badge
Sorry, I cannot understand the conditions and requirements.

 

  • The geological layers consist of many independent faces?
  • What does "connect faces" mean? What result should be generated from the "connect faces" operation?
  • What is the criteria to determine two faces belong to the same network? Why have you determined that the two faces (face_id = 9360 and 9359 in your screenshot) belong to the same network?

 

@takashi
  • Yes, Geological layers are independent faces. there are no attributes that would allow them to be split up.
  • "Connect Faces" would be better described as Grouping faces that are connected
  • In the screen shot those particular rows don't match. But in the data the "face_id" should exist in the "_faces" column at least three times (all data is triangles)
The last problem is what has me stuck. How can I group all the triangles that "connect" to each other based on these two columns?

Userlevel 2
Badge +17
Sorry, I cannot understand the conditions and requirements.

 

  • The geological layers consist of many independent faces?
  • What does "connect faces" mean? What result should be generated from the "connect faces" operation?
  • What is the criteria to determine two faces belong to the same network? Why have you determined that the two faces (face_id = 9360 and 9359 in your screenshot) belong to the same network?

 

Looks like the face ID and faces (IDs of adjacent faces?) have been generated by the TopologyBuilder. If the layer consists of faces adjoining each other, I think all the faces always belong to an identical group. That is, I think the group 1 and the group 2 in your screenshot should be adjoining somewhere. My assumption "the layer consists of faces adjoining each other" is wrong? Are there gaps between faces belonging to different groups?

 

Userlevel 2
Badge +17
In fact, I have a straight answer using the ListCombiner from FME Hub.

 

 

However, I'm afraid that all the faces would belong to an identical group with this method in the actual conditions. I therefore would like to know the actual geometric conditions.

 

Userlevel 2
Badge +17
In fact, I have a straight answer using the ListCombiner from FME Hub.

 

 

However, I'm afraid that all the faces would belong to an identical group with this method in the actual conditions. I therefore would like to know the actual geometric conditions.

 

Badge
Looks like the face ID and faces (IDs of adjacent faces?) have been generated by the TopologyBuilder. If the layer consists of faces adjoining each other, I think all the faces always belong to an identical group. That is, I think the group 1 and the group 2 in your screenshot should be adjoining somewhere. My assumption "the layer consists of faces adjoining each other" is wrong? Are there gaps between faces belonging to different groups?

 

Correct. there are gaps. So faces 1-4 are not adjacent to faces 1-8. Therefore there would be two separate groups.

 

 

Badge
In fact, I have a straight answer using the ListCombiner from FME Hub.

 

 

However, I'm afraid that all the faces would belong to an identical group with this method in the actual conditions. I therefore would like to know the actual geometric conditions.

 

lll attach some source data and my current workspace in a bit,

 

 

Userlevel 2
Badge +17
In fact, I have a straight answer using the ListCombiner from FME Hub.

 

 

However, I'm afraid that all the faces would belong to an identical group with this method in the actual conditions. I therefore would like to know the actual geometric conditions.

 

If there are gaps between different groups, the solution could be simpler. For example, use a Dissolver to make polygons that represent individual groups, add group ID to the polygons with a Counter, transfer the group ID from the polygons to the original faces with a SpatialFilter.

 

 

Badge

@takashi thanks for your help... I tried the list combiner but as you predicted they all grouped into the same group.

Hopefully the attached will clarify the geometric conditions.

See attached routine and sample file i am trying to convert. Basically its a brepsolid that i need to break into top,bottom,walls but the faces are not orientated correctly to just use the normals.

0008-test-fme-routine-convert-solids.zip

Badge
If there are gaps between different groups, the solution could be simpler. For example, use a Dissolver to make polygons that represent individual groups, add group ID to the polygons with a Counter, transfer the group ID from the polygons to the original faces with a SpatialFilter.

 

 

@takashi see attached fme routine and brep solid dxf that i am converting.

 

0008-test-fme-routine-convert-solids.zip

 

 

I did try the list combiner method, but as your predicted it all got placed in the one group.

 

 

Hopefully the file helps with understanding the geometric conditions

 

 

Reply