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

Tool for isolating graphical elements and export to valid IFC #514

Closed
2 tasks done
MarcusAndreasSvensson opened this issue Oct 17, 2024 · 10 comments · Fixed by #525
Closed
2 tasks done

Tool for isolating graphical elements and export to valid IFC #514

MarcusAndreasSvensson opened this issue Oct 17, 2024 · 10 comments · Fixed by #525
Labels
feature Something new that we could do

Comments

@MarcusAndreasSvensson
Copy link

Description 📝

Currently there is a bug in the IFC parser which leaves some faces of some models unrendered.

To alleviate this issue I would like to share affected files for debugging purposes, but I am not allowed to share the files as is because it's considered a valuable asset.

Suggested solution 💡

Create a tool where we could decimate an IFC and easily isolate the problematic areas exported as a separate IFC-file.

This file would be unrecognizable and thus sharable.

Preferably the tools would also strip off any metadata and properties and only leave the geometry to assure there is no sensitive information in the isolated file.

Alternative ⛕

No response

Additional context ☝️

This feature would help solve ThatOpen/engine_web-ifc#927

Validations ✅

  • Read the docs.
  • Check that there isn't already an issue that requests the same feature to avoid creating a duplicate.
@superman90113
Copy link
Contributor

@agviegas Hi. I think about this approach.

  1. Load IFC file
  2. Select elements to Isolate
  3. Extract fragments from the selected elements
  4. Remove all unnecessary information(properties) from the fragments.
  5. Generate new temporary FragmentGroups with the extracted fragments
  6. Save the FragmentGroups into a file
    Let me know what you think about this.

@agviegas
Copy link
Contributor

Hey @superman90113 here is that we need to output an IFC file, not a fragment file. So ideally the conversion should happen without generating the fragments for the IFC file, as they are not necessary and would consume resources.

IMO we need something like: const result = splitIfc(ifcFile, idsToExtract);

@superman90113
Copy link
Contributor

Hi @agviegas
I have managed to get time to implement the feature.
I have worked in a single file with web-ifc library imported. How can I add the function here, so that you can check?

@agviegas
Copy link
Contributor

agviegas commented Nov 4, 2024

Hey @superman90113 that's great! You can create a new class in the IFC folder and do something similar to the IFC to JSON exporter

@superman90113
Copy link
Contributor

superman90113 commented Nov 5, 2024

Hi @agviegas I've created a new class IFCIsolator and implemented the feature on my local. How can I upload this class to send you?

@agviegas
Copy link
Contributor

agviegas commented Nov 5, 2024

Hey, can you create a PR? Thanks!

@superman90113
Copy link
Contributor

Hi, @agviegas
Let me know the feedback if you reviewed the implementation.
Thank you!

@agviegas
Copy link
Contributor

agviegas commented Nov 8, 2024

@superman90113 hi sorry I didn't have time to review it until now, I'll let you know asap. Thanks!

agviegas pushed a commit that referenced this issue Nov 20, 2024
@superman90113
Copy link
Contributor

superman90113 commented Nov 20, 2024

Hi, @agviegas!
Good to see that my pull request is finally accepted.
I think you will need to add corresponding pages to the doc and examples?
Regards.

@agviegas
Copy link
Contributor

@superman90113 yes, thanks! Thanks for your patience. I see that you already added documentation, so it should be automatically added to the docs in the next release :) Thanks again!

agviegas pushed a commit that referenced this issue Nov 28, 2024
#538)

* Tool for isolating graphical elements and export to valid IFC #514

Added IfcIsolator class

* fix(bug) : IfcPropertyTiler missing ignore IFCTRIANGULATEDFACESET #535

Added this to GeometryTypes
2916149573: 'IFCTRIANGULATEDFACESET'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature Something new that we could do
Projects
None yet
3 participants