DWG/DXF support in FOSS

2

Comments

  • My personal opinion is that DWG is a dead-end in terms of trying to promote an open standard. DXF is the next best thing, and perhaps only thing until the IFC crowd sorts out SVGs which is in progress and will take some time. For now, I'd say we should promote DXF to be specified in contracts in lieu of DWG.

    Darth_BlenderCadGiruCGRduncan
  • We definitely need a sound 2d interface. Personally do not like the DXF approach. Having said that, agree with @Moult . At this point in time, DXF seems to be the only viable industry accepted approach. There is hardly any FOSS or proprietary 2d software not supporting DXF. Will vote for DXF as immediately available format. Hope the future will provide an open and standards based format.
    Bear in mind, it took roughly 50 years to get standards in place for WordProcessing.

    magicalcloud_75
  • My last words are for suggest specific in your contracts than the dxf/DWG to share need to be a version than AutoCAD vanilla can open or at least than do not need "object enablers", because if this DWG/ dxf drawing need it, you will not visualize such custom objects nor matter as good is done the libredwg version (AutoCAD mechanical, AutoCAD architecture, AutoCAD MEP, AutoCAD electrical,AutoCAD AutoCAD map 3D, AutoCAD civil 3D, AutoCAD plan 3D, advanced steel , and custom objects created by users)...

  • edited January 8

    @jtm2020hyo do you have a suggestion for how to formulate this requirement? I'm not sure of the exact terminology but agree with your suggestion and would like to work it into the contracts I deal with.

  • edited January 9

    I did not do this before, but i could suggest just a things, to request a file 100% created in any autodesk software with RealDWG support. If not anyone always will find problems like a file uneditable, file corruption, file with data loss, etc. This happen because when a file is created by any no-Autodesk software , is possible than they have custom object partially compatibles with AutoCAD, an example is when you export a file from SketchUp, there appears a lot of lines and need be re-edited again in AutoCAD and if a file is corrupted or have errors AutoCAD not always detect it, for this is a pain created a workflow with no-Autodesk program.

    ... But better is export all your files with .STEP format and .IFC format if already support 2D.

    PD:
    Source:

    https://www.autodesk.com/developer-network/platform-technologies/realdwg

    RealDWG 2020 and 2021 for 64 bits systems
    RealDWG 2019 for 32 bits and 64 bits.

    RealDWG is an ObjectARX library and is the base for AutoCAD Vanilla, but until i know a DWG have 3 bases, ARX, DBX and CRX, ARX are the objects, dbx data base and CRX not idea.

    PD2: if someone need work with DWG or dxf files exported from a no-Autodesk and private software, for you health, avoid, end, or cancel such project or if you resist the pain, probably you will considerate change your profession, like me.

  • Re RealDWG, from what I recall from the past, Adsk or their partners will review your application to see if you're eligible to use RealDWG. In the past any cloud usage was forbidden. But I couldn't find anything about this on their current website.

    It might well be that longer term more viable solutions need to come from this group. Contrary to e.g BIM/GIS there isn't a lot of academic involvement in CAD. Things you might want to consider for example is a community group on W3C. Cooperate with the Spatial data on the web and Linked building data group. I think there is a vacuum there still in a focus on CAD and geometry. Some easy wins might be a more modern serialization (JSON?) of DXF to increase adoption and build from that towards interoperability with 2D STEP (which I also see as a much more viable long term solution for high fidelity exchange) and identify the pain points with SVG usage in CAD. If you're already in w3c these comments might actually be heard.

    CadGiru
  • Why am I failing so miserably at keeping people on topic. I know there rae serious problems with DWG and DXF. But they are a reality and a huge legacy in our industry. Talking about other solutions is great, but that belongs in other threads. This thread is about supporting all the legacy and current DWG/DXF files out there.

    @jtm2020hyo I have to say that the idea that only Autodesk can make useful DWG files is abhorrent and also just plain wrong. All I am looking for in my question is how to specify in a contract that a DWG should be in a format vanilla AutoCAD (and therefore all AutoCAD clones) can open. I don't know anything about ARX, DBX ,CRX etc. Can you explain them a bit more? Do they treat DWG like a container?

    @aothms apparently an early requirement for membership of ODA was that you had to deliver everything you knew about the DWG format (their original reason for existence). Now that Autodesk is a member I am very interested to know if that requirement still exists. If it does then DWG may eventually become an openly published standard.

  • edited January 9

    It is at topic hard to stay 'on track' if the focus is Open interopebilty. Autodesk is on board with ODA only for IFC development. ODA brings IFC compatible solutions in on their 'closed' software solutions meanwhile. Autodesk doesn't want us to use dwg in the long run. Too many other parties can read and write dwg. They use it for other dev.

    And i think Autodesk doesn't really want to have fullblown ' competing' department for open bim. They are better sellers then developers. They are marketing the same (ODA) IFC efforts in their solutions, starting this year.

    DWG will continue to grow for the ODA members, and Autodesk on the other hand is shifting their focus away from dwg (civil3d> infraworks) (mep , concrete detailling, etc etc> revit)

    The standstill on OpenCAD will stay. Autodesk is less of a factor. I think It would make much more sense talking to ODA about their claim for being Open. None of it is. As far as academic and public authority interest, the area of 2d cad geometry and archives are fairly untouched grounds if you ask me. A real open and public standard formats for has a highly underestimated focus. We're all staring at bim and miss the boat to bring us there. And the solution of FOSS is dwg to svg?

  • @magicalcloud_75 I'd been waiting to hear this about Autodesk & ODA, probably good news for the industry. https://adsknews.autodesk.com/news/open-design-alliance-membership
    It seems clear that Autodesk will not be revealing their knowledge of DWG: https://www.consiliavektor.com/2020/09/22/autodesk-joins-open-design-alliance-with-a-catch/ however there is no citation for that claim - it does seem very likely true. If I was an ODA member I would be pissed off.
    So I guess we can't assume that DWG will not become more open than the documentation LibreDWG is making it https://www.gnu.org/software/libredwg/

    @aothms & @magicalcloud_75
    Maybe you'd like to contribute your thought son STEP to these pages https://wiki.osarch.org/index.php?title=File_format_comparison https://wiki.osarch.org/index.php?title=AEC_Open_Data_Standards_Directory

  • edited January 9

    Great overview @duncan.
    What about (ACIS) SAT? I think "Autocad' Dwg kernel for 3d solids is mostly based on solids. This kernel is bought in from Dessault Systemes. Other vendors do the same. Sat files describe 'clean geometry' has little trouble on import, and is supported by most 3d cad software solutions.

    I miss the mentioning of SAT in the comparison. Could have a reason, don't know. Like DXF the openness is only half baked using SAT exchanges. Yes It is readable like IFC and DXF, but it can't be used as standard to get anyway further because of legal claim. Just like DXF for 2d. Correct?

    And one more comment regarding DWG. Dwg is certainly capable store parametric controls. Can get awfully complex..
    But i think this is merely the case for what is referred to use of vertcal (more 'intelligent') dwg products. The problems that @jtm2020hyo describe sound to me like that order. The more (parametric) complex your dwg data becomes, the less you are able to work 'vendor free'. I personally experience very little problems with the same dwg models using different sofware. But i don't use civil3d or others.

    DXF is not Open. Legal wise..
    https://en.m.wikipedia.org/wiki/ACIS

  • edited January 9

    @duncan sorry, maybe I was not very clear.

    "(is requested ) before share a file open drawing(s) in AutoCAD Vanilla then copy the drawing to a new AutoCAD dwg file and test all objects with AutoCAD basic modification tool over all documents to verify correct compatibility (Copy, Paste, Move, Rotation), if appears a change compared to the original shared drawing then needs to share the .ARX .DBX .CRX files formats where was create the file to load and open correctly the shared file"

    maybe this term is what you need.

  • edited January 9

    @magicalcloud_75 said:
    And one more comment regarding DWG. Dwg is certainly capable store parametric controls. Can get awfully complex..
    But i think this is merely the case for what is referred to use of vertcal (more 'intelligent') dwg products. The problems that @jtm2020hyo describe sound to me like that order. The more (parametric) complex your dwg data becomes, the less you are able to work 'vendor free'. I personally experience very little problems with the same dwg models using different sofware. But i don't use civil3d or others.

    exactly this and the sad part is that any no-autodesk needed an ARX library,

    if we need to open any Custom Library we need to add such capacity to LibreDWG to open AutoCAD Variants such as CIVIL 3D, and not just that, we need our default software capacity to visualize it. because, for example, in CIVIL 3D you can have different representation for an object, for example, you can visualize a signal when you are working in the Top View in your CAD CAE CAM software, but when you change to the model view (Front, Bottom, Left, Right, Back) such object is a post with a signal.... and this is not supported for all our open-source software.

    @duncan said:
    @jtm2020hyo I have to say that the idea that only Autodesk can make useful DWG files is abhorrent and also just plain wrong. All I am looking for in my question is how to specify in a contract that a DWG should be in a format vanilla AutoCAD (and therefore all AutoCAD clones) can open. I don't know anything about ARX, DBX ,CRX etc. Can you explain them a bit more? Do they treat DWG like a container?

    sadly this is our reality, what really we call Dxf and DWG is the default AutoCAD Vanilla library, and other programs use privative and custom ARX libraries to translate their format to AutoCAD Vanilla, for this motive exist a lot of errors, maybe not a 100% errors, but an 1% errors, bug, and corruption is already very frustrating.

    PD: I am not sure about LibreDWG export import capacity, I just exported since AutoCAD.

    CadGiruMoult
  • @Moult any idea how one finds out who is actively using libdxfrw ? Does one need to write to and ask every fork?

    https://github.com/search?o=desc&q=libdxfrw&s=updated&type=Repositories

    Wouldn't it make sense for codelibs, solvespace, librecad and the others to share one repository? How does this sort of fracturing occur? Is it just what happens when a project has no maintainer?

  • @duncan on github you have to fork before you can create a pull request, so all these repositories don't necessarily represent anything other than somebody working on the code

    Moult
  • @brunopostle said:
    @duncan on github you have to fork before you can create a pull request, so all these repositories don't necessarily represent anything other than somebody working on the code

    Right, but since the project they forked from is not maintained there's no way to see if they're cooperating - is that right?

  • As creating a github fork only require a single click, would avoid to rely on this as metric for activity. For such project like an import / exporte lib many forks are expected to allow simple modifications in order to implement into a target.
    This however does not mean any level of cooperation, and it is also the beauty of the things. Development barely never happen at same time between 2 or more applications, so communication is not required beside bugfixes.
    When a lib is publicly available and implemented into many projects, any futher change may also have impact on other projects, so creating a fork is a way to prevent unwanted changes while allowing further development on both sides.

  • @duncan said:
    Right, but since the project they forked from is not maintained there's no way to see if they're cooperating - is that right?

    They could be merging each other's changes, but there is no reason to assume everybody needs a modified library. There may be some awesome CAD tool using the library as a dependency without forking it or doing anything other than telling their users to install it.

  • So how does anyone share and find improvements to the code if everyone makes a copy so they can tweak it and then can't push their changes back because the original project is dormant?
    I'm hearing people tell me how simple and useful it is to be able to fork. But how does the original project improve when people do it this way rather than collaborating to improve the original project?

  • edited January 11

    In principle, forks can pull changes from other forks, eventually people will stop using the abandoned original.

    It is confusing, and sometimes this can get out of hand - the tendency to never publish numbered releases is part of the same problem. But then working with git is so much better than svn or cvs.

  • @brunopostle so do projects slowly with time start pulling more and more changes from the most active fork? What if they only make changes to their own fork and don't publish or pull changes from others?
    I'm trying to work out if it fits with the aims of osarch to try and help projects focus on developing the same libraries rather than making small (but perhaps important) changes in isolation.

  • @duncan I'm not familiar enough with github to know if it has any tools to make poking around other forks and merging from them easy (git itself is designed for exactly this use case).

    A traditional linux distribution packages lots of software, but generally only allows you to install one version of each - this is a major incentive for developers to push their changes back to the original repository, otherwise users will never see them. The recent fashion to create downloadable installers for each project allows developers to bundle modified versions of libraries without bothering to push their changes back (blenderbim is a special case as there are a small number of users who all need to be using the latest code, so an installer makes sense, though once it settles down I would hope stable releases are shipped with linux distributions - this is how you would want to use it in a large architects office).

    It is definitely worth encouraging developers to merge their forks, particularly with library software, I would add that they should be encouraged to make numbered releases - if it is impossible to tell what libraries a user is using then tracking down bugs for them is also impossible.

  • edited January 13

    What I haven't been able to work out is where is the original repo... my quick guess would be https://sourceforge.net/projects/libdxfrw/ - the first step I'd ask is to contact the original authors and see if they can start engaging with the forks, identifying any useful third party changes, and merging them in.

    If the original authors are MIA, then find the second most active repo (likely on Github), and contact that author if it is worthwhile to take the initiative and make his repo a bit more "official" and see if he wants to do the exercise of shopping around fork changes.

    In general, when a dev wants to use or contribute to a project, they will gravitate to the most active one. If the original one shows less activity, if you can encourage a successor, that will naturally over time become the new "home".

    @brunopostle yes, in the future when the BlenderBIM Add-on settles down, I'll package it a bit more traditionally :)

  • thanks @brunopostle & @Moult it sounds like I've understood the issues now. I tracked down who I thought was the original author "shinsuke" and wrote to all the email addresses I could find. Haven't had a response. Sorry, but I can't remember how I decided they were the original author.

  • Hello again...

    I was re-installing my Windows 10 partition again because of Autodesk bugs and I have noticed something that LibreDWG could copy.

    Autodesk products use Object Enablers or similars, I mean they do not add support directly for AutoCAD to their products (Civil 3D, Map 3D, Plan 3D, Etc.) what they do is use their framework and then create the Object Enablers to be visualized or to export their .dwg file.

    My hypothesis 1
    ... is than LibreDWG developers could create their own Object Enabler, arx-crx-dbx, for export since FOSS to AutoCAD, and then LibreDWG already does not should need support completely all AutoCAD Objects not matter what version.

    My hypothesis 2
    ... is than with the Object Enabler(s), arx-crx-dbx, than could create LibreDWG, could be recycled to create an AutoCAD plugin to export-import perfectly .dwg to/since our FOSS.

    My hypothesis 3
    ... is than with the already could not be necessary import export since AutoCAD, because the Object Enabler(s), arx-crx-dbx, could add support for Blender or FreeCAD native files and work like External References.

    My hypothesis 4
    ... create Object Enabler(s), arx-crx-dbx, could convert any native DWG file to any supported format for FOSS.

    ... just an idea because looks like AutoCAD/DWG will be in force for many years.

  • @jtm2020hyo you should definitely get in contact with the LibreDWG devs and have a chat with them! They have a mailing list.

  • Looks like a new version of LibreDWG has been released. http://savannah.gnu.org/forum/forum.php?forum_id=9928
    Always nice to see things moving forward!

    carlopavMoultCadGirubitacovir
  • Fantastic! This really changes my impression of it as an inactive project! I really hope it gets used more in apps. Is anybody familiar with any activity happening between Blender + LibreDWG?

  • Yes, LibreDWG is moving very actively and we should encourage its use. At the moment we kind of need to do a feature comparison to libdxfrw which is what's being used now but it not very active and does not have a central maintainer. We also need to see it implemented in QCAD Community Edition in some way, probably as an addon since I doubt the QCAD dev has the motivation to do it himself (and it is still alpha software). LibreDWG is used by FreeCAD so some testing could be done that way.

  • edited April 6

    @jtm2020hyo you should send your suggestions to LibreDWG, they don't watch our forum. https://savannah.gnu.org/mail/?group=libredwg

    I've been wondering about something that concerns me. There are quite a lot of libraries supporting DXF, and a lot of them are forks of libdxfrw since the original developer stopped working on the project.

    The same is true for another DXF support library, libdxf, the library QCAD uses.

    How are these projects supposed to benefit from each others work if each has their own fork and no-one is updating the original project? Is there something I have misunderstood or would it be good to encourage them to talk to each other and merge their work into one repo.

  • edited April 6

    I've invited QCAD to present at a future monthly meetup https://qcad.org/rsforum/viewtopic.php?f=76&t=8337

    I invited LibreCAD a month ago but have not had a response yet.

    paulleestephen_lMoultJesusbill
Sign In or Register to comment.