Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Documentation? #10

Open
JoostGevaert opened this issue Jul 5, 2022 · 3 comments
Open

Documentation? #10

JoostGevaert opened this issue Jul 5, 2022 · 3 comments

Comments

@JoostGevaert
Copy link

Hello,
The title of the repository sounds very interesting, but unfortunately I'm not able to deduct from the README.md how exactly voxelization of IFC models works and how to apply it.
Where can I find the documentation?

@aothms
Copy link
Member

aothms commented Jul 6, 2022

This has been applied mostly in building code compliance checking and analysis where you want configurable and robust procedural definition of geometric rules (no floating point rounding, no tolerances). We've used it for segmentation of interior/exterior, evacuation analysis, clearance checks, etc.

The main use is typically writing the procedures and have voxec execute them. Couple of .txt files here with examples https://github.com/opensourceBIM/voxelization_toolkit/tree/master/tests/fixtures There is also some examples here https://github.com/AECgeeks/ifc-pipeline/blob/voxels/application/worker.py#L669

I don't think there will be an effort soon to publish docs. But I can answer specific questions. All contributions welcome also :)

@JoostGevaert
Copy link
Author

Thanks for the reply Thomas!
Sorry, I'm only starting to get a grasp of IFC and the open source tools that have been built on top of it.
What are "configurable and robust procedural definition of geometric rules"?
Could you give an example of a workflow in which you used the voxelization toolkit with a little less jargon? 😇

@aothms
Copy link
Member

aothms commented Jul 6, 2022

Good example is the 2nd link in the post above: Using IFC element types and geometric operations to form volumes of where users can walk, obstructions and calculate height of free passage. That's the configurable bit. For the robustness it helps to understand that floating point operations are inherently difficult, you need carefully constructed algorithms to deal with rounding errors and imprecision. IFC uses various local coordinate systems which also causes small precision errors. Solving this in the geometry library is error prone, fuzziness and tolerance of algorithms only work up to a certain extent. Voxels only deal with integer math: simpler and robust (at the expense of some well-understood initial discretization/approximation step).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants