Modeling an IfcPipeFittingType collection using Geometry Nodes

Hi!

A while ago I needed to model a small MEP project for cold water and I tried Bonsai for that.
I started out enthusiastic but soon realized that I wouldn't be able to get very far because there were no models of the PVC fittings that we normally use here in our region (Brazil). Here, the models from the suppliers that I found are all .rvt (the market is being dominated...) and I found few in .ifc.
The automatic creation of fittings in Bonsai pipe tools is very promising, but it doesn't correspond to the reality of how things are done here.
I also realized that manually modeling all the fittings in their various sizes, materials and types would be a huge task, so to make my life easier I created a collection of geometry nodes to model the meshes according to parameters and a script to create the ifc elements.
I'm making the file with the GN and the script available as an attachment for anyone who wants to use it.
The steps are:

1 - get a supplier catalog
2 - create a dictionary with the fittings information (I'm lazy and used chatgpt from the cropped pdf image)
3 - create a copy of the .blend template file
4 - create an ifc project
5 - change the parts of the script according to the comments (the script is configured for an elbow as shown in the image, as an example of where the data came from)

6 - run
7 - save the .ifc

If everything goes well, the IfcPipeFittingType objects will be created.

From there you can apply materials and create the IfcDistributionPorts (unfortunately it will have to be done manually because of the location and the name you will adopt for each one).

I tried to model as low poly as possible to avoid heavy ifc files.

Some images to illustrate:






I think this collection can model most connections, but if we need others, let's go ahead.

Happy modeling!

MassimoNigelbrunopostleBedsonsteverugiAceKoAratheoryshawVincentDeccwmiand 1 other.

Comments

  • Awesome, thanks for sharing!

  • @walpa you are a star! muito obrigado

  • Wonderful. It would be good if this could be reflected in the PSet value of the IFC :)

    Bedson
  • Yes, good idea. Thanks.

    KoAra
  • Can you use the connections in a real project?
    I used the Tigre library (.rvt), transformed them into IFC and used them in a small project, mixing them with traditional Blender modeling and then classifying each piece, but I believe we can develop something very promising with Geometry Nodes.
    If this hasn't already been done by someone.

    MassimoBedson
  • Hi @irineupinto,

    Can you use the connections in a real project?

    Yes, I am modeling a library with all (almost all...) PVC, PPR and CPVC connections for water and sewage in the Brazilian standard, with materials and ports. I intend to use this to make my projects. I am still in the beginning.
    The current limitation in Bonsai is the import of ports that are not imported together with the objects (Issue #6687)

    My initial intention was to make it available on the BimBR platform, but I discovered that they only accept .ifc+.rvt. Maybe I'll find another way to make it public. Suggestions are welcome. :)

    I used the Tigre library (.rvt), transformed them into IFC and used them in a small project, mixing them with traditional Blender modeling and then classifying each piece, but I believe we can develop something very promising with Geometry Nodes.

    Here in Brazil, suppliers are only making .rvt libraries available (like the TIGRE catalog you mentioned). For me this is ADSK dominating the market and making it difficult for other software.
    I'm using GN for two reasons:

    • in the cases I compared, exporting .rvt to .ifc generated meshes with many vertices, edges and faces and consequently unnecessarily large .ifc files. IMHO for low poly MEP projects it is more suitable
    • with GN + python script I can create a large number of elements already with classification, materials and ports (the ports still need to be positioned manually, but this is acceptable)

    If you are interested in collaborating we can divide the work.
    Cheers

    carlopavirineupintoBedson
  • Sure! I'm a good modeler, but when it comes to GN and Python, I'm still a beginner.
    Add me on social media to talk more. @irineupinto

  • Have you managed to find a way to model pipe runs as curves, and have the elbows/tees/reducers etc added to the curves through Geo Nodes? Johnny Matthews recently did a YouTube video in which he showed how this could be approached
    The ND addon also has interesting ways to attach pipe fittings to pipe runs:

  • Hi @Bedson,
    Thanks, I loved the videos! More tricks in the toolbox! :)

    Have you managed to find a way to model pipe runs as curves, and have the elbows/tees/reducers etc added to the curves through Geo Nodes?

    No, for now I'm just using Bonsai's pipe tools. Basically just drawing the pipes to make the budgets easier, until I finish the library and start doing the whole process.

    If I understand your observation correctly, the idea is to automate the placement of pipe fittings in the pipe joints, using some GN or the methods in the videos, right?

    Well, for modeling focused on ifc, I have some observations:

    • GN is a modifier, at the moment (as far as I know) Bonsai cannot use meshes with Blender modifiers, that is, to assign an ifc class you need to apply the modifier and lose the non-destructive method of GN

    • for modeling industrial piping that does not have a lot of connection variation and that has curves with non-standard angles and for flexible piping, perhaps the methods in the videos are more productive

    • for modeling piping in building constructions, the number of standardized connection options found on the market, which must be chosen by the designer according to the purpose, is so large that it makes the use of GN unfeasible

    • Bonsai's pipe tool can already automatically insert the bend type connection, in the future this will probably be expanded to other types, let's wait and help sponsor the development. ;)

    Cheers

    Bedson
  • You hit the nail on the head when you say that Bonsai can't work with meshes that have Geo Node modifiers attached. This is the reason that I can't make the jump from Revit into Bonsai :(
    I've attached a little demo that I made of some Revit features that I would love Bonsai pipework to be able to do.

  • @irineupinto said:
    Sure! I'm a good modeler, but when it comes to GN and Python, I'm still a beginner.
    Add me on social media to talk more. @irineupinto

    I'm also a beginner. Let's talk, I'll send you a PM.

  • @Bedson said:
    You hit the nail on the head when you say that Bonsai can't work with meshes that have Geo Node modifiers attached. This is the reason that I can't make the jump from Revit into Bonsai :(
    I've attached a little demo that I made of some Revit features that I would love Bonsai pipework to be able to do.

    Unfortunately, it is not yet possible to do all of this in Bonsai. I think that MEP is not a priority today, but do not be discouraged, stay tuned because at some point this will be implemented.

    Bedson
  • That's fantastic. Maybe we can create a way to do this via Python and maybe incorporate it into Bonsai. I think we should create a project, what do you think?

  • The idea is excellent, I just don't know how to incorporate GN into bonsai.
    Maybe transforming the node networks into scripts, it takes a bit of work, but it can be done.
    What would be the advantage?
    A way to create the elements parametrically? (the parameters are lost after applying in GN)
    Automatically insert fittings?

    I think the easiest thing to implement and that would give the user more flexibility would be to include in the interface a way to choose the IfcPipeFittingType before applying the "Add Fitting" tool.

    It wouldn't be parametric like rvt, but it's a start...

    steverugiBedson
Sign In or Register to comment.