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

Data type mismatch in applicability bypasses checking #337

Open
atomczak opened this issue Aug 21, 2024 · 3 comments
Open

Data type mismatch in applicability bypasses checking #337

atomczak opened this issue Aug 21, 2024 · 3 comments
Labels
agreed audit tool documentation Improvements or additions to documentation please contribute A PR is welcome for this issue. Please target the `development` branch.
Milestone

Comments

@atomczak
Copy link
Contributor

Consider an example where you want to check all elements with a property XYZ of value ABC (the requirement is not relevant here).

Because we ask for a precise value, we need to specify the data type, which, in my case, is IFCLABEL. If a model has property XYZ with value ABC but captured as IFCTEXT instead, it is simply omitted. Not good.

I'm attaching an IDS file with IFCLABEL and IFC model with a beam with IFCTEXT: Data_type_experiment.zip. I tried checking one against the other in usBIM and IfcTester, and both didn't report any errors, but also no passed element. It means they didn't consider that beam as an applicable object, giving a false positive result.

The solutions I see:

  1. allow to leave data type empty in applicability, so no matter what data type, it will find it.
  2. allow to specify multiple data types (more complex and still leaves the door open to omissions)

In the long run, I hope the IFC is purged of overlapping data types like these...

A temporary workaround for IDS1.0 is to add a specification for each other's data type and forbid it. In the case above, saying that IFCTEXT is forbidden for XYZ property. I attach that one as well.

@atomczak atomczak added this to the 1.1 milestone Aug 21, 2024
@andyward
Copy link
Contributor

This sounds a bit similar to #331 - but we didn't get an authorative decision.

I proposed a third possible solution: to permit some kind of alias. So IFCLABEL is equivalent to IFCTEXT etc

@atomczak
Copy link
Contributor Author

You're right, indeed it's the same issue, but let's keep this one given the IFCxIDS samples provided and try to resolve here. I see you also addressed it in #206.

I prefer the first option - not requiring data type even when value is provided. Let the software handle casting, not users. What are the arguments against it? @CBenghi

@andyward
Copy link
Contributor

Yes it's unclear if dataType is optional or not. I believe the schema now leaves it optional (As per last comment in 206) but the audit-tool still treats its omission as an error.

@atomczak atomczak added discuss & decide documentation Improvements or additions to documentation agreed please contribute A PR is welcome for this issue. Please target the `development` branch. audit tool and removed decide discuss & decide labels Nov 6, 2024
@atomczak atomczak modified the milestones: 1.1, 1.0 Nov 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
agreed audit tool documentation Improvements or additions to documentation please contribute A PR is welcome for this issue. Please target the `development` branch.
Projects
None yet
Development

No branches or pull requests

2 participants