IfcSharp / IfcSharpLibrary

Other
64 stars 17 forks source link

Attempt to port to IfcOpenShell #5

Open Moult opened 4 years ago

Moult commented 4 years ago

I'm considering porting some of the work here to C++ and Python so that you can more easily cross platform import/export SQL and SQLite. Porting creates the risk of being out of sync with your repository. What are the plans in keeping the schema more or less stable, and how does this fit into the work of buildingSMART?

bsbock commented 3 years ago

The ifcSharp interface was made this way: Step 1: The EXPRESS-schema of all relaeses are seperatly importet into the schema-part of ifcSQL. Step 2: With an interface to the schema-part of ifcSQL the C#-IFC-API-classes are generated. To generate a C++-API you can use step 2 (e.g. with the ODBC-API). As far as I know C++ don't support reflection for self-evaluating the code, so the base-classes of the C#-API are not portable. But you can include the access-methods into the generated code. With python I have no experience, but I think, it will be the similar steps.

For each schema-release exists separate database entries. So an entity-definition, that exists in every release, exist multiple times with different id's. All id's of the same release are assigned to the matching release.

See https://github.com/IfcSharp/IfcSQL