points2poly icon indicating copy to clipboard operation
points2poly copied to clipboard

reconstructing interior walls

Open vedant41patel opened this issue 1 year ago • 6 comments

Hi there!

Firstly, I'd like to express my appreciation for the fantastic work on the Points2Poly—it's truly impressive!

Now, onto my main question: I recently attempted to run Points2Poly on a simple structure with a water-tight layout and one internal wall. However, the output file didn't include the internal wall. I'm curious to know if it's possible to reconstruct internal walls and components like stairs using Points2Poly. If so, could you guide me on the necessary modifications in the code and where specifically in the codebase I should make these changes?

here is the simple model that i tried:

  1. this is my original model made of simple geometries. image

  2. here is the the internal wall. image

  3. here is the point cloud: image

  4. here is the output with the cut cross section of wall area. image

as you can see there is no wall in the output. can you explain this please!

vedant41patel avatar Jan 08 '24 11:01 vedant41patel

Hi @vedant41patel, this is an interesting usecase. The internal wall, though having points attached, is not part of the boundary: the two cells connected via this wall are both labeled as inside, therefore the cut will not touch there. One simple way to recover the internal wall is to make it a volumetric cell (e.g., by appending a perpendicular plane with small offset to create a thin cell), and then mark this cell as inside (adding the cell into AdjacencyGraph.reachable), after the cut.

chenzhaiyu avatar Jan 08 '24 13:01 chenzhaiyu

sorry to bother you again, but i tried adding offset internal wall in the 3d model and tried it. it still not working. can you explain it in more detail what i have to do in this case? and where to add AdjuncencyGraph.reachable and where to mark the cell as inside cell. i am lost here can you please help me.

for example: i added following walls : image

this is the point cloud: image

vedant41patel avatar Jan 08 '24 15:01 vedant41patel

You would first need to make sure a cell of the internal wall does exist in the cell complex, then perform the cut, and finally mark this cell as inside by adding the cell index to AdjacencyGraph.reachable, followed by AdjacencyGraph.save_surface_obj.

chenzhaiyu avatar Jan 09 '24 21:01 chenzhaiyu

Hi, did you create the model by hand in Sketchup? How did you obtain the corresponding point cloud? @vedant41patel

Zhong0501 avatar Aug 08 '24 07:08 Zhong0501

I first created the 3d model of the houses for training in blender and then i used blensor to create the point cloud from the 3d model of the building. However because of some issues with training the whole point cloud on points2surf, so I created 3d model of each room of building and then used it to train points2surf. Also I used 3Dbag dataset to add more training data.

vedant41patel avatar Aug 08 '24 08:08 vedant41patel

"Hello, can I directly use model to reconstruct my point clouds? I noticed that your point cloud datasets are generated from meshes, but my point clouds are obtained through laser scanning." @vedant41patel

Zhong0501 avatar Aug 16 '24 08:08 Zhong0501