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

[ Fail on GRF001 ] #269

Open
michelangelo-acca opened this issue Aug 27, 2024 · 6 comments
Open

[ Fail on GRF001 ] #269

michelangelo-acca opened this issue Aug 27, 2024 · 6 comments
Assignees

Comments

@michelangelo-acca
Copy link

Can someone explain why this file fails on GRF001?

grf001_4x3_geo.zip

@evandroAlfieri
Copy link
Collaborator

Hi @michelangelo-acca , sorry for the late reply (Implementers Assembly). We'll look into it and come back asap

@aothms
Copy link
Collaborator

aothms commented Sep 3, 2024

Hi @michelangelo-acca . There are two geometric representation contexts in the model:

#19=IfcGeometricRepresentationContext('3D','Model',3,1.E-4,#20,#22)
#146=IfcGeometricRepresentationContext($,'Plan',3,1.E-4,#147,#148)

Only the first one has a IfcMapConversion assigned:

#205=IfcMapConversion(#19,#206,427794.150823833,4524155.13101531,97.,5.33965490548146E-1,8.455062713568E-1,1.)
                      ^^^

So the coordinate operations on these are not identical.

@michelangelo-acca
Copy link
Author

Hi @michelangelo-acca . There are two geometric representation contexts in the model:

#19=IfcGeometricRepresentationContext('3D','Model',3,1.E-4,#20,#22)
#146=IfcGeometricRepresentationContext($,'Plan',3,1.E-4,#147,#148)

Only the first one has a IfcMapConversion assigned:

#205=IfcMapConversion(#19,#206,427794.150823833,4524155.13101531,97.,5.33965490548146E-1,8.455062713568E-1,1.)
                      ^^^

So the coordinate operations on these are not identical.

But does this means that we need to have multiple MapConversion(s) in the same file, even if they are the same? One for each Geometric Context?

@aothms
Copy link
Collaborator

aothms commented Sep 3, 2024

I'd say so. Similar to how these context have the same-valued WorldCoordinateSystem and north vector.

#19=IfcGeometricRepresentationContext('3D','Model',3,1.E-4,#20,#22)
  #20=IfcAxis2Placement3D(#21,$,$)
  #22=IfcDirection((0.,1.))
#146=IfcGeometricRepresentationContext($,'Plan',3,1.E-4,#147,#148)
  #147=IfcAxis2Placement3D(#21,$,$)
  #148=IfcDirection((0.,1.))

Alternatively you could make the 2nd context a subcontext of the 1st one. But I personally don't know enough about the agreements to know whether that's a good or bad recommendation.

Because without the coordinate operations explicitly agreeing you're essentially saying that their representations are effectively on a different place on the map. (Which to me shows we shouldn't have equated context with positioning, but there is a long history going back to that).

@Ghesselink
Copy link
Contributor

Ghesselink commented Sep 3, 2024

Alternatively you could make the 2nd context a subcontext of the 1st one. But I personally don't know enough about the agreements to know whether that's a good or bad recommendation.

This will indeed cause the GRF001 rule to pass.

Furthermore, in the schema, the attribute for coordinate operations in the context is allowed to be empty. Currently, for GRF001, this will be permitted only if (1) there is only one context, or (2) the attribute is empty for all contexts within the file. Is this the desired behavior?

The feature description is already updated

@evandroAlfieri
Copy link
Collaborator

@michelangelo-acca is the explanations above clear enough? Can we close this issue or do you see the need for follow up actions?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants