FOSDEM talk: Hacking through BIM models

Hi all! @Moult and me will be giving a 20min (15min presentation + 5min Q&A) talk at FOSDEM, on february 5th, 13:40 Brussels time (to be confirmed). Basically our idea is to show a couple of cool python hacks to be done on BIM models in BlenderBIM and FreeCAD.
We thought it would be cool to gather ideas here too: What would you like to see?
My own ideas so far (FreeCAD side):

  • Use IfcOpenShell to load and inspect a model contents
  • Import some shapes in FreeCAD
  • Export some shapes from FreeCAD
  • Get all the beams and columns only
  • Quickly compute a table of quantities
  • Quickly compute a plan view
paulleetlangAcevpajicCoenMoultCadGiruinfeeeeebitacovirdimitar

Comments

  • Showing a construction sequence in blenderbim from a freecad made model would be cool!

    paullee
  • @Ace sounds good! What I think will happen is that we'll show some code snippets and what they can achieve. I'm imagining a tech-savvy client that has got some real estate being designed / sold to them - increasingly they might get access to the BIM models and will want to do cool things to it. Already, Google and Microsoft have ambitions around their BIM models and how they want to connect to it - why not open it to everyone?

    Here are some Python hacks on the BlenderBIM Add-on side I'm thinking of:

    • View your BIM models in Blender - ultra-crash course in loading, looking at properties, using the debug panel, and firing up an interactive Python console (good for getting them started)
    • Generate a quick construction sequence.
    • Import / export data to/from IFC and CSV
    • Connect to Brickschema (highly experimental! But imagine tech-savvy clients receiving BIM models and getting "digital twin" products too)
    • Maybe something to do with Facility management? Get all maintainable assets?
    • Do a model comparison diff
    • Patch mistakes (shift coordinates, merge datasets, regenerate GlobalIds ... )

    It'll all be in 7.5 minutes only (the other half by @yorik ) so it'll be pretty rapid fire just to give them a taster and get the ideas whirling.

    Acepaulleebitacovir
  • @yorik said:
    We thought it would be cool to gather ideas here too: What would you like to see?

    1) Some integration or continuous workflow with BlenderBIM or another software such as LibreCAD or Inkscape

  • @bitacovir said:
    1) Some integration or continuous workflow with BlenderBIM or another software such as LibreCAD or Inkscape

    That would be cool, but hard to do in a few minutes in python. Matter for another video! :)

  • @bitacovir said:

    @yorik said:
    We thought it would be cool to gather ideas here too: What would you like to see?

    1) Some integration or continuous workflow with BlenderBIM or another software such as LibreCAD or Inkscape

    I agree this is very important and we should think about a suitable venue. I don't think FOSSDEM is the right venue. Maybe a collaboration with the person behind librearts. Anyway, that's a discussion for a different thread.

  • edited January 2022

    Just an update - out of the 7 topics proposed, I did not cover 2 due to time constraints:

    • Do a model comparison diff
    • Patch mistakes (shift coordinates, merge datasets, regenerate GlobalIds ... )

    Hope to see you there during the session! It will be recorded I'm sure.

    paulleebitacovir
  • @duncan said:
    @Moult @yorik is there just the one session or two?

    just one! 15min video + 5min Q&A

    duncan
  • @yorik @Moult watched Your presentation at fosdem , Chapeau!

  • I saw it too and it was very interesting, very compliments! It would be nice also to share the files and the scripts showed during the presentation :-)

  • thanks!! will share everything here (i'll wait for fosdem to publish the video first, to not be rude to them, usually it's very fast)

    Darth_BlenderpaulleebasweinAceMoultvpajic
  • edited February 2022

    Thanks for the great presentation.

    I learn and use FreeCAD mainly and has minimal time learning Blender / BlenderBIM, but the construction sequencing / gantt chart is just amazing ! :D

    BTW, @Realthunder / OficineRobotica's presentation on FreeCAD LinkStage branch is awesome too !

    Darth_Blender
  • The presentation is too fast to follow - anyone has an idea if any documentation is available to follow ?

    Thanks :)

  • @paullee pause button? :D

    Darth_BlenderNigelpaullee
  • nice work Yorik and Dion, my complaint it was too short, I could have watched for hours as I learnt so much.

  • Definitely cool!
    @yorik in the final question time, you pointed at the future development of FC to integrate blenderBIM as an engine, can you explain better the roadmap and the consequences on actual FC objects (how do you plan to modify them) and their behavior so others can help and contribute?

  • Yeah sorry about that, we had a hard time packing everything in 20 minutes...
    About future development ofArch/BIM in FreeCAD and potential BlenderBIM integration:
    Currently, the BIM objects in FreeCAD are managed by the Arch Workbench, and don't correspond 1:1 to IFC objects. There is a translation involved. This is a good thing in many scenarios: IFC is complex and will force your BIM models to respect a lot of conventions, while in FreeCAD we (I, at least :) ) praise a free-form paradigm where you can ¨just model the way you want" and it "just works".
    However, the more we get into bigger models, the more the IFC rigidity plays in your favour. And BlenderBIM being able to deal with all the contents of an IFC file without reimporting/reexporting it is really impressive.
    So I'd basically like to modify the Arch objects in FreeCAD: Next to the current "engine" that builds their shape, they could use different other engines, for example BlenderBIM (one could think of others too, ex. Topologic?)
    The gross roadmap I have in mind:

    • Modify the IFC properties system of FreeCAD so there is a 1:1 correspondance between FreeCAD properties and IFC properties. That's an easy first step, but will be handy for the next parts
    • Learn to work with (and adapt where needed) BlenderBIM without Blender, from pure command line: get a list of objects from a file, get a BRep shape from an object, write an object back...
    • Invent a mechanism to tie a FreeCAD document to an IFC file
    • Adapt FreeCAD Arch objects with an "engine interface"
    • Create an engine interface that uses BlenderBIM

    Note that the idea is that, if you don't need the IFC complexity that BlenderBIM brings, you just don't use it. Arch objects won't change, they will still work the way they did before. The current algorithm will still be the default "engine".

    If anyone is interested in working on this too, talk to me!

    MassimoCadGirupaulleebitacovirNigelvpajiccarlopavMoult
  • @yorik said:
    Note that the idea is that, if you don't need the IFC complexity that BlenderBIM brings, you just don't use it. Arch objects won't change, they will still work the way they did before. The current algorithm will still be the default "engine".

    Maybe a simple demonstration of say IFCWall vs FC ArchWall for illustration ?

    Thanks.

  • I finally got around to having a look at this video and I really liked the section that about Digital twin live sensor data(starting at 8:42). It interests me quite a lot since I am a mechanical guy and I am hoping to be able to dive into it a bit more and possibly even contribute.
    @Moult could you provide some guidance? Maybe share the files you used in the demo, point me to some resources you used to learn about the BRICKSschema, or anything else you think could possibly be useful.

    paulleeMoult
  • @thunderbolt_132 Brickschema would be best described as a schema best suited towards describing distribution systems (e.g. mechanical) and their sensors. Their website has a good introduction and sample files: https://brickschema.org/concepts/ - the sample files are .ttl files which is plaintext. TTL uses RDF triples which are basically short sentences describing relationships using URIs: https://en.wikipedia.org/wiki/Semantic_triple

    On the IFC side, I used the COBie sample IFC files. They have small simple service models to use for testing.

    thunderbolt_132
  • @Moult Hi, I took your hint for @paullee and paused the fosdem video at the script you wrote on the fly to make a rudimentary schedule and a gantt diagram. Only to find that it didn't work. Is the script correct? Which version of BlenderBIM did you use in February? This is the last entry of my system console: TypeError: in method 'entity_instance_setArgumentAsEntityInstance', argument 3 of type 'IfcUtil::IfcBaseClass *'
    Error: Python script failed, check the message in the system console

    paullee
  • @Moult Alright, my bad, I did not check the ifc schema beforehand. Using a ifc 4 file everything worked out.

Sign In or Register to comment.