Hi @anhphanuet, a Shapefile dataset consists of at least 3 files - *.shp, *.shx, and *.dbf, but I was not able to find *.shx and *.dbf in your sample data. Can you post the sample data including those files again?
Hi @anhphanuet, a Shapefile dataset consists of at least 3 files - *.shp, *.shx, and *.dbf, but I was not able to find *.shx and *.dbf in your sample data. Can you post the sample data including those files again?
Hi @takashi, i am sorry for my mistake. i did repost it!
Hi @anhphanuet, the coordinate system of your sample dataset is unknown so it cannot be reprojected properly. I tried scaling it with multiplying X and Y by 50000, and found the data seems not to be an arch roof. It looks like this.
That aside, it's possible to create a solid based on a series of roof edge features (lines), but it would be a long story. The summary of a possible way is:
- Sort the roof edge features (lines) with the spatial order from an end to another end of the roof.
- Create all boundary surfaces (top, bottom, and walls) for the required solid based on the lines.
- Finally build a BRepSolid (boundary representation solid) from the boundary surfaces.
See the attached workspace example (FME 2016.1.3): create-arch-roof-solid.fmw
The workspace contains a custom transformer that creates a sample dataset.
Hope this helps.
Hi @anhphanuet, the coordinate system of your sample dataset is unknown so it cannot be reprojected properly. I tried scaling it with multiplying X and Y by 50000, and found the data seems not to be an arch roof. It looks like this.
That aside, it's possible to create a solid based on a series of roof edge features (lines), but it would be a long story. The summary of a possible way is:
- Sort the roof edge features (lines) with the spatial order from an end to another end of the roof.
- Create all boundary surfaces (top, bottom, and walls) for the required solid based on the lines.
- Finally build a BRepSolid (boundary representation solid) from the boundary surfaces.
See the attached workspace example (FME 2016.1.3): create-arch-roof-solid.fmw
The workspace contains a custom transformer that creates a sample dataset.
Hope this helps.
Hi @takashi, i did created an arch RoofSurface using TINGenerator. I'm making GableWall surfaces by using:
-Snipper to find the first point and the last point of each line and they'll be on 2 sides of the roof solid (GableWall surface)- PointConnector to make line from those points on each side.
- LineCloser to make GableWall polygons
I made a mistake but i can't figure it out!
Here's my workspace.
Thank you so much for your guidance and support!
Hi @takashi, i did created an arch RoofSurface using TINGenerator. I'm making GableWall surfaces by using:
-Snipper to find the first point and the last point of each line and they'll be on 2 sides of the roof solid (GableWall surface)- PointConnector to make line from those points on each side.
- LineCloser to make GableWall polygons
I made a mistake but i can't figure it out!
Here's my workspace.
Thank you so much for your guidance and support!
Your approach looks good, but I think it requires some conditions to work as expected.
- The lines should be ordered from an end to another end of the roof.
- The lines all should orient the same direction.
- The start/end nodes of the lines should be on straight line in 2D.
Make sure if the lines satisfy those conditions. If a condition is not satisfied, the translation could fail.
Your approach looks good, but I think it requires some conditions to work as expected.
- The lines should be ordered from an end to another end of the roof.
- The lines all should orient the same direction.
- The start/end nodes of the lines should be on straight line in 2D.
Make sure if the lines satisfy those conditions. If a condition is not satisfied, the translation could fail.
Hi @takashi
My problem is the nodes were not on straight lines in 2D.
Thank you so much for pointing it out!