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

Everything ifc #531

Open
wants to merge 41 commits into
base: master
Choose a base branch
from
Open

Everything ifc #531

wants to merge 41 commits into from

Conversation

ikeough
Copy link
Contributor

@ikeough ikeough commented Feb 22, 2021

BACKGROUND:
Previously we could only import elements like Walls, Columns, and Beams from IFC. This is because we mapped IFC entities to our corresponding core types. As a short term fix (knowing we're also going to move core types out of elements), we can drop the exact mapping and import everything as a geometric element. This will (I think) enable us to use imported IFC geometry as snap targets.

DESCRIPTION:

  • This PR imports everything as a GeometricElement.
  • This PR adds Openings to GeometricElement to align with IfcBuildingElement.
  • After adding Openings to the GeometricElement the IHasOpenings interface is no longer required and it is removed.

REQUIRED:

  • All changes are up to date in CHANGELOG.md.

COMMENTS:

  • Any other notes.

image


This change is Reviewable

@ikeough ikeough marked this pull request as ready for review July 1, 2021 19:28
@ikeough
Copy link
Contributor Author

ikeough commented Jul 1, 2021

One small piece I still need to do. I added a method FromIFC2 to get around the existing FromIFC. If we agree with the direction of this work, the original method will be removed and replaced with the new one.

@ikeough
Copy link
Contributor Author

ikeough commented Jul 12, 2021

After conversation with @andrewheumann, the following changes are proposed.

  • Add a new base type BuildingElement, from which Things like Wall and Beam can inherit. Add the Openings property to this type.

Future Work:

  • Move building elements to a separate library Elements.BuildingElements, which contributes to keeping the core small.
  • Add the BuildingElement.IfcEntityType property to allow a user to define which type of IFC Entity they would like to map to during export. This will allow any building element type to map to any IFC entity type, but will also run the risk of creating illegal IFC entities.

@ikeough ikeough added the WIP label Aug 30, 2021
@ikeough ikeough added this to the 0.9.5 milestone Sep 22, 2021
@ikeough ikeough removed the WIP label Feb 5, 2022
@ikeough ikeough mentioned this pull request Feb 9, 2022
13 tasks
@ikeough ikeough modified the milestones: 0.9.5, 2.0 Apr 17, 2023
@ikeough
Copy link
Contributor Author

ikeough commented Apr 19, 2023

This is waiting on work to support IndexedPolycurve.

@ikeough ikeough modified the milestones: 2.0, 2.1 Jul 26, 2023
@ikeough ikeough added the IFC label Jul 26, 2023
@DmytroMuravskyi
Copy link
Contributor

What is missing in this project?

srudenkoamc added a commit to srudenkoamc/Elements that referenced this pull request Sep 7, 2023
The logic for the new class and the changes in IFCExtensions are taken from hypar-io#531 PR.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Development

Successfully merging this pull request may close these issues.

None yet

2 participants