LaurensJN / IFC

IFC schema management and versioning repository
https://technical.buildingsmart.org/
3 stars 1 forks source link

Defining multiplicity #2

Open LaurensJN opened 3 years ago

LaurensJN commented 3 years ago

Related to issue #1 , I added the IfcSignificanceEnum as attribute to the IfcElement entity. I defined a multiplicity of 0...1: image

If I insert it as a template however, the multiplicity is 1...1: image

I don't know how to make the multiplicity 0...1.

pjanck commented 3 years ago

Don't do it like that. There's no way for you to change the IFC serialization of IFC files within existing applications / get them to read your files.

Define a new PropertyEnumeration (or sth like that), and connect it to an Element through a PropertySet.

LaurensJN commented 3 years ago

Thanks!

Do you think it is good practice to define a heritage domain where all propertysets are defined? I can't find where to add a PropertySet other than in one of the Core Element / Shared Element / Domain Specific / Resource Definition schemas. See here how I do it now:

image

pjanck commented 3 years ago

you're not defining a new schema. that's not possible - you need a broad consensus, international project, etc.

you need to define property sets with properties in them ... I'm not sure how, but I'll ask ...

pjanck commented 3 years ago

you shouldn't be looking in "schema" directories, that is a false positive ...

pjanck commented 3 years ago

although, if I think about it - if you're not defining new entities and/or types (that would change the schema), you may as well define new domains ...

LaurensJN commented 3 years ago

you're not defining a new schema. that's not possible - you need a broad consensus, international project, etc.

you need to define property sets with properties in them ... I'm not sure how, but I'll ask ...

I know that, but there is not really any place else than in one of the schemas to add property sets. Properties, property enumerations and constants however can be added outside the schemas, so I'm doing that. Also I figured that it would be better to create a new -currently non-existent- domain instead of using one of the existing ones

pjanck commented 3 years ago

Right, I got you. As long as you don't define new enumeration types or entities (that is, EXPRESS stuff), you should be good to go.