Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Interest in replacing libdxfrw with libredwg? Esp. for constraints and dwg #326

Open
rurban opened this issue May 31, 2018 · 14 comments
Open

Comments

@rurban
Copy link
Contributor

rurban commented May 31, 2018

Hi

I'm the maintainer of libredwg, and I was wondering if you are interested in better DXF and DWG support? libdxfrw is very limited in its DXF support, just the very basics. Reactors, xrecords and all the objects and relations to represent parametric constraints are missing. libredwg is able to that.
libdxfrw can read more versions, up to r2013, libredwg so far only up to r2007, and its DXF support is just in development. But libredwg can write DWG files and represent all advanced AutoCAD features.
https://github.com/LibreDWG/libredwg/
I'd just need a helping hand to rewrite and test the constraints parts for the start.

The first LibreDWG alpha release will come out soon, I'm just waiting for some GNU permissions to upload it at their site. And I'm finishing the DXF parts and the newer DWG versions.

@whitequark
Copy link
Contributor

GPLv3 means that it's going to be impossible to get a build of SolveSpace that uses libredwg on iPhoneOS. That's troublesome.

@rurban
Copy link
Contributor Author

rurban commented May 31, 2018

But solvespace is also GPLv3, isn't it? LibreDWG is GPLv3+

@whitequark
Copy link
Contributor

SolveSpace is dual licensed as GPLv3/commercial.

@whitequark whitequark changed the title Interest in replacing libdxfrw with librecad? Esp. for constraints and dwg Interest in replacing libdxfrw with libredwg? Esp. for constraints and dwg Jul 12, 2018
@whitequark
Copy link
Contributor

I don't think this is viable for the reason stated in #326 (comment), especially as various people have been showing ongoing interest in having an iOS port. Very unfortunately.

@ghost
Copy link

ghost commented Aug 30, 2018

SolveSpace is dual licensed as GPLv3/commercial.

As I know, SolveSpace is dual licensed GPLv3+/commercial.

Also, it use libdxfrw (that is under GPLv2+), right?

@whitequark
Copy link
Contributor

I thought about this again and with the restrictions on iOS apps, GPLv2 and GPLv3 are functionally equivalent here. Any iOS port would probably have to use a web service anyway for dxf conversion.

Thus, libredwg is potentially interesting.

@whitequark whitequark reopened this Sep 22, 2018
@whitequark
Copy link
Contributor

@rurban I apologize for the back-and-forth on this, the right decision was not immediately obvious.

If you are still interested, please go ahead, I will provide any help you'll need for conversion.

@rurban
Copy link
Contributor Author

rurban commented Sep 22, 2018

Great, will do

@whitequark
Copy link
Contributor

I would appreciate if you added the new (libredwg) code alongside old (libdxfrw) code, since neither of them subsumes the support matrix of the other. The intent is to eventually retire libdxfrw in favor of libredwg, but during migration it would be good to have both options in case of library bugs etc.

SolveSpace is a mature project which comes with its challenges; I try to be conservative with my decisions here to make it as painless as possible for our users.

@Evil-Spirit
Copy link
Collaborator

@rurban I can help you with supporting constraints, just mention me.

@rurban
Copy link
Contributor Author

rurban commented Sep 18, 2020

Started working on it at https://github.com/rurban/solvespace/tree/libredwg
Will need a few months I think.

I'm not entirely sure yet, how AutoCAD stores dynamic blocks and constraints, but I hope I will figure it out during the work.
libredwg supports 80% of the AutoCAD dynamic blocks and constraints already. Not sure how much is needed for solvespace.

@ruevs
Copy link
Member

ruevs commented Oct 22, 2020

Note to self. Here is another DXF library:
https://qcad.org/en/what-is-dxflib

@DuncanLithgow
Copy link

Great news that this is started.

@ruevs there's a page here I try and work on which is to track support for DXF in libre software
https://wiki.osarch.org/index.php?title=Drawing_Exchange_Format_(DXF)

The DWG page needs a bit of cleanup.
https://wiki.osarch.org/index.php?title=Drawing_(DWG)

@rurban maybe you'd like to check those pages for accuracy some time. The idea is to get people to concentrate on using fewer better libraries. Sorry I'm going off topic now ...

@phkahler
Copy link
Member

I've added this to the 4.0 milestone to show it as a priority. The rurban fork has a lot of work done already but he's busy with other things. It would be nice if someone could evaluate how capable the libredwg version is compared to the libdxfrw version for both DXF and DWG files. If libredwg is at parity for both we should switch. If it's better only for dwg we should use both. If it needs more work, someone might want to pick it up. He really did a lot of work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants