I developed the idea based that complete tree, but based on end entities, for instance, IfcProject or IfcSite are end entities on the hierarchical approach.
What does it mean?
It means that I’m going to build a middle-ware which shows an easy to understand end entity like the example IfcActor, which the object on the front-end shows which data and datatype needed? And on the back-end, it converts that object to IFC-SPF or IFC-XML and or any other structured code which is standard
I put IfcOccupant on canvas and it “automatically sets datatypes, rules, functions, relationships, so on” and also I have the ability to manage them manually too.
For instance, if I add Pset_X it automatically sets relationships and everything is needed and the user doesn’t need to know relationships well
Also, it automatically and also manually can check inputs, processes, and outputs which is great for automation and control systems. Imagine you be able to sett rules object by object, for instance, say that IfcWall should give these data with these data types from these IfcXs and process these process or processes and give these outputs
This is the whole idea
(Or we put the end object and it adds all behind objects needed automatically, this is the second scenario I thought about
For instance, you put IfcProjectLibrary on canvas and it adds IfcContext, IfcObjectDefinition, and IfcRoot
But mainly I’m trying to drop IfcObjectDefinition and move relationships inside the end entities)
Ehsan