tag:blogger.com,1999:blog-1792504135258878475.post2116038898323760529..comments2023-08-20T09:25:37.647+02:00Comments on IfcOpenShell: v0.6.0thomashttp://www.blogger.com/profile/02091082558478878837noreply@blogger.comBlogger3125tag:blogger.com,1999:blog-1792504135258878475.post-23813930698815731712020-02-26T01:14:49.017+01:002020-02-26T01:14:49.017+01:00Amazing work ;-)Amazing work ;-)Herman Vega Jarahttps://www.blogger.com/profile/03327256501004918756noreply@blogger.comtag:blogger.com,1999:blog-1792504135258878475.post-75820767824670017492019-12-04T18:09:51.316+01:002019-12-04T18:09:51.316+01:00Hi Julian, thanks for dropping by. Congrats on you...Hi Julian, thanks for dropping by. Congrats on your thesis I heard it was very well received. So with your approach you essentially have namespaces and templated dependent names combined. Interesting. Loosing namespaces has been painful for some users using that where doing a `using Ifc2x3` for example. But in the end I think all code has to be schema agnostic. Are there other benefits to namespaces over a schema struct or other benefits to your approach I'm overseeing?thomashttps://www.blogger.com/profile/02091082558478878837noreply@blogger.comtag:blogger.com,1999:blog-1792504135258878475.post-34771213147544707842019-12-04T15:58:30.197+01:002019-12-04T15:58:30.197+01:00Just want to mention: oipExpress also contains an ...Just want to mention: oipExpress also contains an EXPRESS-Parser: see here: https://bitbucket.org/tumcms/oipexpress/src/default/ - The EXPRESS-Parser is used to generate Early-Bindings for different IFC versions. The different binding coexist in different namespaces i.e. namespace IFC4x1, namespace IFC2x3, etc. To avoid to write identical code to handle geometry data some template abuse is done e.g. https://bitbucket.org/tumcms/openinfraplatform/src/default/EMTCodeGen/CodeGen/EMTIfcEntityTypes.h - have you ever seen a template with more than 600 parameters ;) - and yes it works ;). You can read more about this in my PhD thesis (wich is unfortunately written in german language) https://mediatum.ub.tum.de/doc/1453871/1453871.pdf). In the meantime, I learned some lessons and I would change a few design and tool decisions (e.g. use Bazel instead of CMake, do test-driven development). Nevertheless, consider it as a proof of concept. I was often thinking about implementing an interpreter for the express language and also here oipExpress can serve as a first building block.Vertexwahnhttps://www.blogger.com/profile/06423388499259183073noreply@blogger.com