Smart Clash Grouping for BlenderBIM - Work in Progress

Hello BlenderBIM community,
Are you a BIM Manager? Do you do a lot of clash management & 3D Coordination?
Would a tool like this interest you?

If so, what features would you expect it to have?
Looking forward to getting your feedback!
-Vincent

MoultCyrilfrancesco_pbitacovirEinarJesusbillarquiguruhtlcnniosvarmsduncanand 3 others.

Comments

  • edited November 2020

    This is an amazing feature! It would definitely be used extensively in model coordination! Once a few more features are built on usability, BCF support, and on linking in multiple 10k+ object models, Blender + the BlenderBIM Add-on can basically replace Navisworks & Revizto for clash detection and coordination.

    The numbering seems odd, I'm assuming it's arbitrary based on what clusters of coordinates it finds. Maybe a simple heuristic of the IFC class element with the largest bounding box can be used to give it a name, which would make it more recognisable?

    One gaping feature in IFC Clash is that it doesn't output BCF. Outputting this in BCF would be preferred (I can show you the existing code for this in the add-on, as well as the BCF lib that is used) - which can then be brought into Blender for viz, or even another app - you can run IFC Clash from the cloud and spit out a BCF.

    I've Tweeted this for exposure:

    - I hope I got the right Twitter handle! I have also posted this on LinkedIn.

    vinnividivicci
  • edited November 2020

    Awesome ! Yes it is definitely one of the area I thought Blender BIM could quickly replace proprietary tools at least for the most common tasks.
    To answer your call to describe wished features. First things I think of :

    • Ability to define rule to ignore clash based on a common attribute (eg. MEP system).
    • Ability to automatically define severity of clashes based on what type of object are clashing (eg. a little overlap on maintenance space is not always so bad, an overlap between 2 insulation is less important than 2 overlap between 2 ducts/pipes).

    Question : does it still use python-fcl ?

    vinnividivicci
  • @Moult said:
    The numbering seems odd, I'm assuming it's arbitrary based on what clusters of coordinates it finds. Maybe a simple heuristic of the IFC class element with the largest bounding box can be used to give it a name, which would make it more recognisable?

    You are right, currently the numbering of the groups is the raw output from the clustering algorithm, but doesn't relate to anything in the model. Renaming the groups based on the IFC class could get tricky since theoretically there could be dozens of objects of different classes in the same group.
    I think for now I will just give them unique names / ids that can be retraced and later when some prioritization algorithm is added it we could use that as a input for the name.

    One gaping feature in IFC Clash is that it doesn't output BCF. Outputting this in BCF would be preferred (I can show you the existing code for this in the add-on, as well as the BCF lib that is used) - which can then be brought into Blender for viz, or even another app - you can run IFC Clash from the cloud and spit out a BCF.

    Agreed, automating the drudgery of grouping clashes and converting them into actionable coordination issues is the ultimate goal.

    I hope I got the right Twitter handle! I have also posted this on LinkedIn.

    You got the right one!

    @Cyril said:
    Ability to define rule to ignore clash based on a common attribute (eg. MEP system).

    I believe this is already doable with the clash selector syntax (I could be wrong... @Moult ?). In any case, I agree this should be a feature one way or another.

    Ability to automatically define severity of clashes based on what type of object are clashing (eg. a little overlap on maintenance space is not always so bad, an overlap between 2 insulation is less important than 2 overlap between 2 ducts/pipes).

    This is a huge one and probably the most difficult to solve to everyone's satisfaction. However, it is my objective with this add-on. I think that by combining good "standardized" input clash-sets with a prioritization algorithm that can be intuitively understood (and maybe even adjusted) by the user, we could quickly have something that helps us sort through large clash sets much quicker than anything on the market today.

    Question : does it still use python-fcl ?

    Yes, at this point I'm only grouping the clashes that result from the code already in BlenderBIM.

    I've created a Trello board to track the progress of the Smart Clash Manager: https://trello.com/b/U8ul1w3q/blenderbim-smart-clash-manager-roadmap

    francesco_pMoult
  • Amazing extension, Vincent! It would indeed benefit the OpenBIM community for clash detection and model coordination. Personally, for coordination purpose, I find Solibri more productive and efficient than Naviswork thanks to the additional features it has. A couple of features it might be interesting to have are:

    • Being able to create ruleset (like in Solibri) to include or exclude elements and different linked models, even belonging to the same discipline
    • Being able to create a 'presentation' that remains stored in the file in order to keep a record of clashes showing a simple screenshot, where they
      are located in the building (maybe using a small floor plan with a red dot), elements id or GUID and essential parameters to identify the type of
      elements.

    • Maybe being able to colour the linked models or the clashed elements as the result of the clash or manually from the Clash manager panel to
      highlight which elements are clashing.

    Hope it helps and looking forward to seeing the progress. Thank you for sharing Vincent.

    vinnividivicciMeetlat
  • You are correct, @vinnividivicci that it is already possible to include / exclude / create rulesets. What @francesco_p describes in Solibri is possible to do in the BlenderBIM Add-on, it is incredibly flexible. Although it may not be the most user friendly.

    The "presentation" that remains stored in the file is the BCF that we're speaking of. There is already the function to read these presentations, but the function to write these presentations has yet to be implemented. We're half way there!

    Colouring the model should be a trivial thing to implement.

    vinnividiviccifrancesco_p
  • @francesco_p Just put together a little tutorial on the "selector syntax" for the clash sets in BlenderBIM:

    Also started a Wiki page for clash detection here: https://wiki.osarch.org/index.php?title=Clash_detection
    It's just a start but hopefully it's useful to everyone!

    htlcnnEinarCyrilfrancesco_pMeetlatbitacovirArv
  • As I think it was not mentioned in the video. Do not forget that you can include/exclude by supertype. eg. excluding only .IfcDistributionElement will exclude all its subtypes like IfcActuator, IfcPipeSegment, IfcDuctSegment, IfcCableSegment, IfcPipeFitting etc…

    htlcnnMeetlatvinnividivicci

  • Is it correct to use the circled syntax to send to clash all the walls with Fire rating = 1 Hr?
    In the future, Is it programmed to use the selctor syntax from https://blenderbim.org/docs-python/ifcopenshell-python/selector_syntax.html ?
    Thanks

Sign In or Register to comment.