If you're reading this, we've just migrated servers! If anything looks broken please email dion@thinkmoult.com :)

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.

    paullee
  • @Moult said:
    ...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?

  • @jtm2020hyo said:
    ... 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…

    carlopav
  • @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

  • edited August 2020

    @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.

    basweincarlopav
  • edited August 2020

    @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.

  • edited August 2020

    @Moult said:
    @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.

  • edited August 2020

    ...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:

  • @Moult said:
    @jtm2020hyo sorry, I didn't quite understand your post - are you proposing something? ...

    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.

  • 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"

    @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)

  • edited August 2020

    @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.

    @Cyril said:
    I hope to start working on MEP part in blender and FreeCAD in next months.

    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.

Sign In or Register to comment.