My dataset is a shapefile with footprints and elevation.
@panagiotis , if each Shapefile polygon has an attribute storing heigh of the building, you can use 3DForcer and Extruder to transform it to a solid geometry. Then, do you need to decompose surfaces of the solid into roof, wall, and ground surfaces?
@Takashi Iijima First of all thanks for the answer.Yes i need to decompose them.
@Takashi Iijima First of all thanks for the answer.Yes i need to decompose them.
OK. Assuming that the footprint polygon has two attributes - elevation and height, you can use 3DForcer and Extruder to transform it to an Extrusion Solid firstly.
Then, the workflow shown in the screenshot below transforms the Extrusion Solid to a BrepSolid, extracts Faces from the solid, and divides them into Roof, Ground, and Walls. I hope this satisfies your requirement.
OK. Assuming that the footprint polygon has two attributes - elevation and height, you can use 3DForcer and Extruder to transform it to an Extrusion Solid firstly.
Then, the workflow shown in the screenshot below transforms the Extrusion Solid to a BrepSolid, extracts Faces from the solid, and divides them into Roof, Ground, and Walls. I hope this satisfies your requirement.
Sorry for my english if i confused you.In the shapefile i have the id of each polygon and the height, i can also add the number of floors for each building.The workflow now has any changes?
OK. Assuming that the footprint polygon has two attributes - elevation and height, you can use 3DForcer and Extruder to transform it to an Extrusion Solid firstly.
Then, the workflow shown in the screenshot below transforms the Extrusion Solid to a BrepSolid, extracts Faces from the solid, and divides them into Roof, Ground, and Walls. I hope this satisfies your requirement.
Did you expand my answer to see the second screenshot?
OK. Assuming that the footprint polygon has two attributes - elevation and height, you can use 3DForcer and Extruder to transform it to an Extrusion Solid firstly.
Then, the workflow shown in the screenshot below transforms the Extrusion Solid to a BrepSolid, extracts Faces from the solid, and divides them into Roof, Ground, and Walls. I hope this satisfies your requirement.
yes and i was confused cause i have the height but the elevation is missing so i cant complete the test condition in the port definitions of the TestFilter. Do you think it will help you to upload my shp (if i dont express with the wright way my data)?
OK. Assuming that the footprint polygon has two attributes - elevation and height, you can use 3DForcer and Extruder to transform it to an Extrusion Solid firstly.
Then, the workflow shown in the screenshot below transforms the Extrusion Solid to a BrepSolid, extracts Faces from the solid, and divides them into Roof, Ground, and Walls. I hope this satisfies your requirement.
Yes, a sample dataset always helps us to understand the issue correctly. Minimal one is better.
OK. Assuming that the footprint polygon has two attributes - elevation and height, you can use 3DForcer and Extruder to transform it to an Extrusion Solid firstly.
Then, the workflow shown in the screenshot below transforms the Extrusion Solid to a BrepSolid, extracts Faces from the solid, and divides them into Roof, Ground, and Walls. I hope this satisfies your requirement.
The elevation field has the height of the buildings( but not with big precision).Each floor is 3 meters.So when you see elevation is 18 that means it has 6 floors.
OK. Assuming that the footprint polygon has two attributes - elevation and height, you can use 3DForcer and Extruder to transform it to an Extrusion Solid firstly.
Then, the workflow shown in the screenshot below transforms the Extrusion Solid to a BrepSolid, extracts Faces from the solid, and divides them into Roof, Ground, and Walls. I hope this satisfies your requirement.
I thought "elevation" means ground level. Now I understood that "elevation" is the height of the building in your dataset. Then, how can you get the ground level for each building? Is the ground level a constant value common to all the buildings?
OK. Assuming that the footprint polygon has two attributes - elevation and height, you can use 3DForcer and Extruder to transform it to an Extrusion Solid firstly.
Then, the workflow shown in the screenshot below transforms the Extrusion Solid to a BrepSolid, extracts Faces from the solid, and divides them into Roof, Ground, and Walls. I hope this satisfies your requirement.
If i understood correctly what you said ,ground level is treated like a floor so it's also 3 meters.
OK. Assuming that the footprint polygon has two attributes - elevation and height, you can use 3DForcer and Extruder to transform it to an Extrusion Solid firstly.
Then, the workflow shown in the screenshot below transforms the Extrusion Solid to a BrepSolid, extracts Faces from the solid, and divides them into Roof, Ground, and Walls. I hope this satisfies your requirement.
This screenshot illustrates what "ground level" I mean is. The footprint polygons are 2D, so ground levels for each building are unknown. My question is how you can get the ground level value.
OK. Assuming that the footprint polygon has two attributes - elevation and height, you can use 3DForcer and Extruder to transform it to an Extrusion Solid firstly.
Then, the workflow shown in the screenshot below transforms the Extrusion Solid to a BrepSolid, extracts Faces from the solid, and divides them into Roof, Ground, and Walls. I hope this satisfies your requirement.
I will discuss this with my professor and i will write back when i have more informations.
OK. Assuming that the footprint polygon has two attributes - elevation and height, you can use 3DForcer and Extruder to transform it to an Extrusion Solid firstly.
Then, the workflow shown in the screenshot below transforms the Extrusion Solid to a BrepSolid, extracts Faces from the solid, and divides them into Roof, Ground, and Walls. I hope this satisfies your requirement.
Assuming that all the buildings have the same ground level and its value can be specified as a parameter, the attached workspace might help you.
OK. Assuming that the footprint polygon has two attributes - elevation and height, you can use 3DForcer and Extruder to transform it to an Extrusion Solid firstly.
Then, the workflow shown in the screenshot below transforms the Extrusion Solid to a BrepSolid, extracts Faces from the solid, and divides them into Roof, Ground, and Walls. I hope this satisfies your requirement.
Mr takashi i really thank you from the bottom of my heart,i really appreciate the time and the effort you spent to help me .
@Takashi Iijima In your attached workspace the buildings are separated in roofs ,walls and ground surfaces but first of all i want each one of them to be separated in floors.I attach a new shapefile that has the following fields (id, orofoi = floors,upsos = height of buildings and a land use).How can i do it?
A possible way is:
ExpressionEvaluator (or AttributeCreator, AttributeManager): Calculate average of a storey height (= building height / number of floors) for each building
3DForcer: Give ground level to each footprint as its z-coordinate.
Extruder: Extrude the footprint to the storey height, to form a single storey solid.
Cloner: Copy each solid the number of floors.
Offsetter: Offset each solid by z = copy index (0-based) x storey height.
Anyway, you need to know the ground level.
@Takashi Iijima I tried it but i cant undestand my faults. Could you please text me at my email(panosftikis@gmail.com) or send me the workspace?
We can consider ground level = 0.
@Takashi Iijima I tried it but i cant undestand my faults. Could you please text me at my email(panosftikis@gmail.com) or send me the workspace?
We can consider ground level = 0.
If I understand your requirement correctly, the attached workspace helps you.
If I understand your requirement correctly, the attached workspace helps you.
@Takashi Iijima I know it's not your job and i really appreciate your help and your guidance so far. The last workspace creates the floors of the buildings and the first one was creating the walls, the roofs and the ground surfaces.How can i create one workspace in which the shapefile first in separated in floors and then these floors are separated again in walls,roofs and ground surfaces.I am trying again and again and i can't figure it out.So this is my last request (this united workspace).
Ground level = 0.
If I understand your requirement correctly, the attached workspace helps you.
I think basically you can apply the first workflow I provided to decompose the floor solids into their faces and classify the faces into Roof, Ground, and Wall. You need to modify a little depending on the conditions. This screenshot illustrates an example.
If I understand your requirement correctly, the attached workspace helps you.
I followed your example and i have the walls,roofs and ground but the storeys are missing.In my previous reply when i was using the word floor i was refering to the storeys of each building .I want my solids to be separated in storeys and they i want the ground, the roof and the walls of each storey.