bimaps / ifc2json

GNU Affero General Public License v3.0
2 stars 3 forks source link

How to know if an item is in a IfcSpace? #1

Closed ctrlmaniac closed 1 year ago

ctrlmaniac commented 1 year ago

Hi, I'm using your tool but I need to know whether an element is in an IfcSpace or not and the corresponding id! Is it possible to add this feature?

Tamu commented 1 year ago

Hi, thank’s for your question.

For the short answer: yes it is possible to adapt the tool to list the objects in IfcSpace (it’s important to have the IFC file correctly written)

Another suggestion: If you need a more powerful tool, I recommend IFCjs : IFCjs

Tell me what do you prefer (adapting the tool or using IFCjs) ?

ctrlmaniac commented 1 year ago

i think it's better to adapt the tool! thank you!

Tamu commented 1 year ago

Hi, the repo is updated with .NET 6 and I check if objects is linked in IfcSpace !

Example :

In this property you can found the Space ID : "spaceId": "0XtYDSFbb8kh94rMkKjYjm"

Object example linked in IfcSpace :

  {
    "id": "0ql6vRpZf1xugQUi0npQ2S",
    "userData": {
      "name": "OBJECT:7468",
      "type": "IfcBuildingElementProxy",
      "objectType": "OBJECT",
      "buildingStorey": [ "15hnMxPw58d9geMyRuLVJF" ],
      "spaceId": "0XtYDSFbb8kh94rMkKjYjm",
      "pset": {}
    }
  }

You will find its id with this property: "id": "0XtYDSFbb8kh94rMkKjYjm"

  {
    "id": "0XtYDSFbb8kh94rMkKjYjm",
    "userData": {
      "name": "SPACE",
      "type": "IfcSpace",
      "buildingStorey": [
        "15hnMxPw58d9geMyRuLVJF"
      ]
    }
  }

I hope this will help you ? If not, don't hesitate to send me an IFC example that doesn't work!

ctrlmaniac commented 1 year ago

i get this:

{
    "id": "1v7jbFd7D6fh0qcHPZiDQN",
    "userData": {
      "name": "Kinnarps-Chair-Capella-CF120:Kinnarps-Chair-Capella-CF120:250146",
      "type": "IfcFurnishingElement",
      "objectType": "Kinnarps-Chair-Capella-CF120:Kinnarps-Chair-Capella-CF120",
      "projectId": "35yL0qti96bxMabgatGHFr",
      "siteId": "35yL0qti96bxMabgatGHFt",
      "buildingId": "35yL0qti96bxMabgatGHFq",
      "buildingStorey": ["35yL0qti96bxMabgd8ljyA"],
    }
  },

but now I've noticed that other elements have it! thank you anyway

Tamu commented 1 year ago

Indeed in your example there is no link.

It's a possible thing but it probably comes from the IFC structure (the link isn't mandatory).

I have encountered this before. In my case it came from the object which isn't entirely inside the Space. I feel like it depends on the exporter (in my case Revit 21)