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

Support for IFC as a further 3D model managed by MapStore #9830

Closed
1 of 6 tasks
mahmoudadel54 opened this issue Dec 19, 2023 · 2 comments · Fixed by #9908 or #9987
Closed
1 of 6 tasks

Support for IFC as a further 3D model managed by MapStore #9830

mahmoudadel54 opened this issue Dec 19, 2023 · 2 comments · Fixed by #9908 or #9987
Assignees
Labels
3D All issues related to the 3D rendering in CesiumJs Accepted C040-COMUNE_GE-2023-CUSTOM-SUPPORT enhancement
Milestone

Comments

@mahmoudadel54
Copy link
Contributor

mahmoudadel54 commented Dec 19, 2023

Description

The 3D model capabilities in MS are currently supporting GLTF in 3D model symbolizers. It is requested to provide also support for IFC 3D models:

  • georeferenced if IFC v4 is used
  • non-georeferenced for older IFC versions to be used instead of GLTF in model symbolizer

What kind of improvement you want to add? (check one with "x", remove the others)

  • Minor changes to existing features
  • Code style update (formatting, local variables)
  • Refactoring (no functional changes, no api changes)
  • Build related changes
  • CI related changes
  • Other... Please describe:

Other useful information

Proposal based on shared model by @ufficiosit

It is proposed here to create a new type of layer of type model to allow to include:

  • Catalog to include an ifc as layer
  • Workflow for import and visualize an ifc on map
  • Identify workflow
  • Panel settings with following options:
    • Visibility
    • General tab (title and description)
    • Custom tab to add possibility to change position of the center of the model
  • [Optional] Add adjustment of the center interacting with the map (this need to include a review of the settings panel)

Notes:
We need to include the web-ifc library in MapStore (check license compatibility).

  • Style panel will not be available for this type of layer. It is already defined within the model.
  • This type of layer should be used for small IFC files. For large files it’s better to convert to 3D Tiles. we should consider to show a message to the user if the IFC file is too big to be rendered in MS (to evaluate during design)
@mahmoudadel54
Copy link
Contributor Author

Hi @tdipisa

As per a discussion with @allyoucanmap regarding the origin point that model will relate to
The issue is not all ifc files has an assigned coordinate system, and the origin of the model is required to show it to the map
So the possible workflow could be:

  • a user adds ifc file from catalog
  • a popup dialog will open like this showing
    1- the origin of the model is it is existing and can be read,
    2- if not it will be by default (0,0) and user can edit them manually
    3- there is an option to user to pick a point via map to be the origin

image

the same popup dialog will be used if user want to move the model location later
Is it Ok ?

@tdipisa
Copy link
Member

tdipisa commented Jan 19, 2024

@mahmoudadel54 ok sounds good. Thank you.

mahmoudadel54 added a commit to mahmoudadel54/MapStore2 that referenced this issue Jan 22, 2024
Description:
- Handle import ifc model to the 3d map
- Adding ifc model layer to catalog
mahmoudadel54 added a commit to mahmoudadel54/MapStore2 that referenced this issue Jan 24, 2024
Description:
- Creating ModelTransformation component that handle moving the model center via display TOC settings for 'model' layers
- Add translations
- Handle show/hide the model layers via TOC
- Handle logic on show/hide 'model' layers based on  max/min scale in display TOC settings
mahmoudadel54 added a commit to mahmoudadel54/MapStore2 that referenced this issue Jan 24, 2024
Description:
- Doing some Refactors in ModelLayer
- Write unit tests
- Edit translations
mahmoudadel54 added a commit to mahmoudadel54/MapStore2 that referenced this issue Jan 24, 2024
Description:
- Edit testConfig file by adding a proxies property in testConfig to enable using web-ifc test
- Replace fetch with axios in fetching ifc file via url
- Edit unit test of "Model-test" file due to testConfig edits
mahmoudadel54 added a commit to mahmoudadel54/MapStore2 that referenced this issue Jan 24, 2024
Description:
- Remove the dummy ifc layers from new.json file
mahmoudadel54 added a commit to mahmoudadel54/MapStore2 that referenced this issue Jan 24, 2024
Description:
- Hide opacity from display tab for ifc model
- Write unit tests
- Update copyright year for the new created files
@mahmoudadel54 mahmoudadel54 linked a pull request Jan 24, 2024 that will close this issue
12 tasks
mahmoudadel54 added a commit to mahmoudadel54/MapStore2 that referenced this issue Jan 31, 2024
Description:
- Resolve review comments includes:
*  edit in translation files
* remove unused comments
mahmoudadel54 added a commit to mahmoudadel54/MapStore2 that referenced this issue Jan 31, 2024
mahmoudadel54 added a commit to mahmoudadel54/MapStore2 that referenced this issue Feb 5, 2024
Description:
- Add dev documentation related to model layer in maps-configuration.md file
- Manage the functionality to automatically zoom to the IFC file if georeferenced or place the model in the center of the viewport
- edit unit cases based on changes
mahmoudadel54 added a commit to mahmoudadel54/MapStore2 that referenced this issue Feb 14, 2024
…ommnets)

- double check of setting COORDINATE_TO_ORIGIN by false to avoid translating the model to the origin
- Showing warning messages if user add non-referenced ifc model or ifc model with non supported projection
- Add translations
- Write unit tests
mahmoudadel54 added a commit to mahmoudadel54/MapStore2 that referenced this issue Feb 15, 2024
…ommnets)

- edit in  translations
- Add refactor code for getting ifc data by using cache approach
mahmoudadel54 added a commit to mahmoudadel54/MapStore2 that referenced this issue Feb 15, 2024
allyoucanmap added a commit that referenced this issue Feb 19, 2024
mahmoudadel54 added a commit to mahmoudadel54/MapStore2 that referenced this issue Feb 19, 2024
…eb-ifc package in dist folder

Description:
- Add the path of dist of client build into .markdownlintignore
@ElenaGallo ElenaGallo self-assigned this Feb 20, 2024
mahmoudadel54 added a commit to mahmoudadel54/MapStore2 that referenced this issue Feb 22, 2024
- indicate the projection code into the warning popup in case adding ifc model with non-supported projection
@tdipisa tdipisa linked a pull request Feb 23, 2024 that will close this issue
12 tasks
@tdipisa tdipisa added the 3D All issues related to the 3D rendering in CesiumJs label May 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment