Don't make the same big mistake as proprietary software
if someone checks the wiki, there you will find a lot of great open-source software, but 95% of that software made the same mistake that privative software, the format, you can not create a fluid workflow between those programs, you need convert, re-convert, draw, re-draw, again and again, increasing time and cost to our project, and making the design process too painful.
please, developer and designers, adopt IFC BFC standards, in all areas, or at least let us import-export to one single format like csv or txt.
Comments
@jtm2020hyo thanks for the concern. You are absolutely right that we should adopt open data standards. You will find that both FreeCAD and the BlenderBIM Add-on are implementing both IFC and BCF to a high standard. In fact, you will find that the free software implementations of IFC surpass the proprietary ones in quality and breadth of support. We are also working on IFC and BCF bridges. For example, there is a Perl based IFC library, there is IFC translation to Code_Aster for structural simulation, and I'm doing IFC to Radiance.
take all my money...
... actually I just found very good improvements for Architecture and Construction since IFC implementation, but what about MEP? do you know any software open source specialized in MEP that accepts import-export IFC or similar?
We need to create one. Import/export for geometry is supported in Blender BIM addon and FreeCAD. Now we need something similar to archipack for duct/pipes works and a good flow engine running in background and import/export correctly via IfcDistributionPort etc…
@jtm2020hyo https://liberapay.com/dionmoult
If you provide guidance on MEP requirements, I can help build it.
I'd also be more than happy to help having a MEP module in FreeCAD. But, as it's not exactly my field, weeneed MEP people to help drafting how such a module should be, what tools it needs, what workflows you should achieve with it, etc
@Cyril @Moult @yorik
TL;DR
A good MEP design, IMHO, is about connections between 3D lines with MEP objects, add properties to MEP objects and lines, do analysis with exported properties data, convert that lines and MEP object to 3D model, do simulations, do diagrams, layouts, documentation, project management, budget, not in that order, and if necessary to do corrections, repeating all steps; 3D modeling is just one step, for this motive a good architecture design software is not necessarily good for MEP, for the same motive I will do not talk about LibreCAD 3, Blender and FreeCAD at least for now. And finally, the goal to reach is obviously to do all processes using IFC BCF formats, since Design until Documentation and everything with Open Source Software, that is my MEP dream.
Suggestion:
For Design, take as an example Circuit Pro - AutoCAD Plug-in, focused for Electrical Plan Design but the same tools work for Mechanical and Piping / Plumbing Plan Design: https://www.youtube.com/c/MustafaAbdelBaset/videos ; optional is Payazed RevCAD AutoCAD plug-in and UsE AutoCAD Plug-ing.
For 3D modeling, take as an example AutoCAD MEP, convert lines to 3D models just take 2 steps
For Diagrams, take as an example AutoCAD Electrical, this program can generate automatic diagrams similar to Excel and Visio
For add properties to MEP objects and lines, take as an example AutoCAD Architecture, Property Set Definitions, and Schedule tables are awesome features.
For Layouts creation, take as an example AutoCAD Architecture and MEP, their Model View feature is very useful and easy to use.
For analysis, I use Excel and LibreOffice Calc for electrical analysis, but the internet says that Etab, MatLab, and Octave are the best here.
For Project Management, take as an example AutoCAD Architecture and MEP, SheetSetManager is very useful.
For budget, I use S10 (Peruvian ERP software), but a better ERP Open Source software focused on BIM is PyERP ,that was based in Odoo with a module called BIM 2.2.
For documentation, LibreOffice, very known, does not need a presentation.
For simulation, every program that accepts IFC is ok, as Dialux, Radiance, etc, for simulations in other programs that do not accept IFC is hard to use.
For corrections, we need an automatic process, is very hard to do the correction without doing everything again, each element affects other elements and all elements affect their environment.
Here one more fast complete review for the best MEP tools with pros and cons:
AutoCAD MEP
pro:
Property Set Definitions can do everything
convert lines to Cable Tray, Ducts, Conduit, Pipes.
support export IFC for lighting analysis
export-import to .xlsx, .csv, .txt without plug-in
synchronize multiple files
bases in AutoCAD Vanilla and AutoCAD Architecture
Multi-View windows for the same element
easy creating of layouts
project navigator is decent
Support BOM tables
Support Elevation and Section views
very good tools for annotations thanks to AutoCAD Architecture
cons:
Development stuck in 2013
Autodesk Electrical Project Database format is encrypted no reason, easily replaceable with use CSV or TXT formats
Autodesk Electrical Project Database is not compatible with AutoCAD Electrical
A lot of not fixes bugs
Their features development stuck in 50% for each specialty
project navigator have bug unsolved since 2013
SheetSetManager can not be renumbering for default
SheetSetManager does not add a field to the total of layouts
Can not plot to DWG
apparently Autodesk is trying to kill AutoCAD
do not support Dynamic blocks
do not support block with Attributes definition
AutoCAD Electrical
pros:
perfect one-line diagram
perfect two-line diagram
perfect tri-line diagram
allow import .xlsx for automatic drawing
good integration with AutoDesk Inventor
support 3D automatic drawing
support a lot of PLC components
cons:
AutoCAD Electrical formats are not compatible with Autodesk Electrical Project Database (ACAMEP)
hard to use
poor documentation
apparently Autodesk is trying to kill AutoCAD
do not support Dynamic blocks
do not support block with Attributes definition
Autodesk Inventor
Pros:
Good integration with AutoCAD Electrical
create panels automatically since AutoCAD Electrical
Semi-Integrations with AutoCAD MEP for Cable Tray Design
useful for animations
Cons:
Hard to use
Circuit Pro - AutoCAD Plug-in
https://www.youtube.com/c/MustafaAbdelBaset/videos
pros:
correct design
easy drawing with lines
the best for design drawing
free trial
if someone wants to create a tool, this plugin is a good reference
export to excel for calculation
support export-import to Dialux
use open source scripts (AutoLISP)
support easy one-line diagram
cons:
errors in the code
merge outdated and updated code
not support for AutoCAD MEP
not 3D drawing support
apparently Autodesk is trying to kill AutoCAD
poor documentation
use encrypted source scripts (VLX)
need more tool
Payazed - AutoCAD Plug-in
pros:
good lighting design
good documentation
free trial
use open source scripts (AutoLISP)
cons:
apparently Autodesk is trying to kill AutoCAD
use own tool but incomplete features
UsE - Elektrotechnisch buro 2H - AutoCAD Plug-in
pros:
intelligent drawing lines tools
automatic wiring
use Attribute Definitions as a master
Cons:
developer does not
not support for AutoCAD MEP
no 3D drawing support
apparently Autodesk is trying to kill AutoCAD
use encrypted source scripts (.dll)
KiCAD
pros:
a better option than Autodesk Eagle
integration with FreeCAD
good documentation
Open Source
cons:
do not support export-import to XLSX, CSV, TXT or similars
unsolved bug
Dialux
Pros:
support import-export IFC
easy usage for analysis
fast presentation creation
Cons:
hard to draw some architecture
Other Software Open-Source and Privative for MEP:
some software is not mentioned because have an incompatible format or poor documentation or their tools are not specialized for MEP.
more tool reviews will be added in the future.
@Cyril @Moult @yorik
https://forums.autodesk.com/t5/autocad-mep-forum/limits-in-property-set-definition-functions/m-p/9540159#M40400
I forgot to mention something, as Keith.Brown mentioned "serialize data to a JSON file and then compress the file and store it on the object itself similar to property sets" this for "calculations externally" this because " Property sets are a nice way to share information with external programs such as Navisworks as the format is universal, but for a large storage medium they are not good"
...Keith.Brown is the best referent that I know for MEP design, basically what I understand is that JSON is better for biggest projects because is unexpected fastest that AutoCAD MEP languages, probably development your app in Java are the way to follow.
... and as he mentioned, integrate c#, vb.net, or even LISP and AutoLISP might be the best way to integrate a program to multiple services, including the cloud (BCF API).
@jtm2020hyo sorry, I didn't quite understand your post - are you proposing something? Both Blender and FreeCAD have bindings to Python, which allow integration to external services. I hope that helps. Are you referring to property set definitions in IFC? If so, I believe no Autodesk product has support for it.
according to Keith.Brown I understand that any object, included IFC, can be converted to JSON, java is recommended because apparently is unexpected better optimized for CAD.
Property Set Definition are just Custom Properties inside Objects, for example, wall, pipes, device, etc, and can be used for calculation, create diagrams, annotations, tables, etc.
...and you are right @Moult AutoCAD and Revit have partial support for java, for that Keith suggests learn such mentioned languages. the reason that Java is "better" because size file is smallest that others, I mean small sizes = fastest calculation and drawing.
... our python apps could add support for java.
... Java in AutoCAD is used for PDF.
here a link for better documentation:

https://df-prod.autocad360.com/jsapi/v3/docs/contents.html
here a sample:

yes, what I propose is that if someone makes a program from zero, it is advisable to use java or at least add support for java ... obviously because of Keith-Brown proposes.
@jtm2020hyo Keith-Brown does not seem to talk about Java. He talks about JavaScript and JSON. Both Blender and FreeCAD support JSON, and support Python instead of JavaScript.
@jtm2020hyo I understood what you suggest (or maybe I guessed something forefront)
Choosing the best language to implement software depends on many things, however, Python mainly is good for prototyping than production
Today the majority of solutions build with C#/C++ (and then Phyton), and Java (mainly servers side), and JavaScript/TypeScript (mainly web applications)
@jtm2020hyo Keith Brown is only talking about data storage. How you store data will not tell you how to run your software. I know pretty well Revit API for MEP purpose as I am the creator of pyRevitMEP and writer of pythoncvc.net. The sentence «I do not believe that there is no limit» is true as long as you deal with Autodesk API limitations with workarounds… Many plugin have made their own external pressure drop computations like MagiCAD, FISA and many others but when you transfer your model unless they have the same paid plugin computation will be broken. Same if you use API pressure drop servers like IDuctPressureDropServer without providing the plugin. It is one of the issue with proprietary softwares, you have to constantly workaround their limitations. With proprietary software it's all about competition when in construction industry most need to be about collaboration.
As @Moult said JSON is a very common format. Even more for storing object data. Have you seen that Blender BIM is able to produce IFC in json format ? You can also store IFC in a database sql or nosql (often some json inside too), hdf etc… IFC Formats. @aothms for example made multiple talk/papers about efficient data serialization for IFC : https://speakerdeck.com/aothms. Don't worry too much about data storage unless you are already an expert in this field.
There is also many open source library for fluids computation like python-fluids which even support Pypy, numba etc… to run efficiently.
I hope to start working on MEP part in blender and FreeCAD in next months. I already worked with FreeCAD for energy analysis purpose. I have been thinking for a while about how background computation etc… should work. First step would be I think to describe how it should work without caring too much for now about programming language, data storage etc… If you like you can open a wiki page to describe this. Else I or someone else will some day.
@Cyril @ReD_CoDE
I hope have not offended anyone, what I mentioned is just my theory.
thanks for your effort, but probably do a work for FreeCAD and Blender based on Revit or MagiCAD could be a great fail. I know that Revit looks nice for Architects but good MEP is not necessarily good modeling. As you mentioned MagiCAD has bad praxis but is not different in Revit, both are just selling pre-cast products, and their software is based on that. I can include Dialux here.
Sell pre-cast products might be positive for FreeCAD and Blender because might receive more sponsor and support, but the way that Revit, MagiCAD, Dialux is doing this is harmful for other parts but can be fixed.
here some suggestion:
the first, IMHO the best MEP design bases for FreeCAD and Blender is AutoCAD + AutoLISP + Excel because the industry always evolves and possibilities are infinite, maybe they look limited, but are better than others in this aspect, in google exist 1 million results for AutoLISP I mean a lot of open-source tools based on AutoLISP, with this anyone might do massive and fastest design... I know than other languages like c# or c++ can create better tools, but in AutoLISP, the work already was done, why reinvent the wheel? create a compiler to translate our AutoLISP tools is more efficient.
second, and the best MEP 3D modeling bases for FreeCAD and Blender is AutoCAD MEP, because proves empirically that the best for MEP workflow is convert 2D lines, 3D lines, and Blocks, to 3D objects. here FreeCAd and Blender.
third, we still need Layouts, Analysis, and Simulating, for this, the best workflow here is to add custom properties and export the data to CSV, with both everyone can create tables, budget, diagrams, calculations, etc, external and internally of your program. The worst scene here is to increase the file size and ruin the PC performance, fix this is hard and painful. champions here are Excel, Visio, AutoCAD Family.
fourth, Simulating, IMHO any program that accepts IFC and CSV is perfect, IFC for 3D simulating including Animations, and CSV for no-3D simulating, for example, electrical circuits need a not-3D simulating, take as example Inventor-Blender-FreeCAD, Dialux-Radiance, and KiCAD.
...and finally, do corrections and renovations, no matter which program anyone uses, there do not exist correction tools, basically is a not existing concept, but after 2 years of entire painful and stressful research, I finally found a method to do corrections or renovations without affecting workflow for any user:
AutoCAD Electrical can import-export CSV and at the same time can generate a 3D drawing with AutoDesk inventor, this proves empirically that one entire drawing can be exported to one CSV file, be edited manually and imported again to modify our entire project, including 3D, Custom properties, Architecture, Structure, animations, circuits, etc. For this motive a fork of AutoCAD Electrical's "PLC I/O Utility" is the perfect tool for corrections and renovations.