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

IFC 4x3 Version conformity #237

Closed
arishinsemen opened this issue Jan 10, 2024 · 8 comments
Closed

IFC 4x3 Version conformity #237

arishinsemen opened this issue Jan 10, 2024 · 8 comments

Comments

@arishinsemen
Copy link

Look at https://standards.buildingsmart.org/IFC/RELEASE/IFC4_3/HTML/IFC4X3_ADD2.exp
Official schema name "SCHEMA IFC4X3_ADD2;"

Will the schema be renamed after ISO certification? If not, would it be correct to change the xsd schema from IFC4X3 to IFC4X3_ADD2?

image

@Moult
Copy link
Contributor

Moult commented Jan 10, 2024

+1 to rename it, so it'll match the schema identifier inside IFC SPF files.

@berlotti
Copy link
Member

If 4.3 gets a rename, then so should IFC 4 and 2x3....

@Moult
Copy link
Contributor

Moult commented Jan 10, 2024

IFC2X3 and IFC4 don't need to be renamed because those are actually the schema identifiers used for the IFC2X3 and IFC4. IFC4X3 is the first where it started to become more strict I believe.

@andyward
Copy link
Contributor

Wasn't this discussed in #217? I thought it was suggested that at least from an authoring standpoint, that IDS would not want or need to capture precise IFC versions (including Addendums etc. )

In 'Semver' terms IDS targets Major/Minor versions of IFC and treats all 'Patch' versions as irrelevant. IFC4x3_ADD2 is just a patch of earlier IFC4X3 pre-releases, in the same way IFC4 ADD2 TC1 is a patch of IFC4, right?

i.e. there's got to be some mapping in the IDS implementations, so feels like we should keep the version choice simple and leave the mapping to implementors?

@arishinsemen
Copy link
Author

The formal name of the schema (the one in the EXPRESS specification and in the SPF files) is a very important.
In previous versions, the name in EXPRESS did not change after any minor changes (ADD,TC). Hence there was confusion for some time with SPF files, but everyone got used to it - we use the official ISO standard.
Why this policy changed is an open question (don't ask).
Hence the question, which was never answered in the previous issue. Just variants.

Statement:

  1. In this listing (in xsd) we have the first two digits from the version code (2x3 = 2.3..; 4 = 4.0..)

If this is true, then I would like to see this policy reflected in the documentation.

so feels like we should keep the version choice simple and leave the mapping to implementors

What should programmers do - write conditions in code, check regular expressions... Please, answer HOW make the mapping.

@andyward
Copy link
Contributor

It's just a map. Not sure I see the issue. It not like new EXPRESS schemas are ratified every day. A static map such as:

  • IDS IFC2x3 [has schemas]
    • IFC2x3
    • IFC2x3_TC1
  • IDS IFC4
    • IFC4_ADD2_TC1
    • IFC4_ADD1
    • etc
  • IDS IFC4X3
    • IFC4X3_ADD1
    • etc
      .. would work fine.
      At the end of the day you're presumably just loading the appropriate schema (via an EXPRESS file or other some other derived source) to determine the applicable entities and attributes, PSets etc.

@berlotti
Copy link
Member

I would suggest to use the string that is also used in the (step) file. So

  • IFC2X3
  • IFC4
  • IFC4X3_ADD2

Those are the only official IFC headers.
(sorry I thought the older versions had the full headers as well... like they should have....)

berlotti added a commit that referenced this issue Jun 3, 2024
using official IFC 4.3 STEP/EXPRESS string
@berlotti
Copy link
Member

berlotti commented Jun 3, 2024

fixed in 1.0

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