Can I Help?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

Can I Help?

James
Hi Everyone,

I'm really keen to get involved with the project, and I am currently working through downloading and building all the dependencies (I don't feel confident).

I wondered if this project is still actively being developed, and if there is someone I could speak to directly to make my efforts more useful?

I have professional experience in using CAD, and personally I have been coding for a while now in different languages (including C++, Python, Javascript etc).

I would love to speak to someone working on development if possible!


Many thanks,
James
Reply | Threaded
Open this post in threaded view
|

Re: Can I Help?

dxli
Thanks a lot for your willingness to help.

This project is still being developed for sure.

We have two sides of development: v2 and v3.

V2 is a mature product, ready for end users. We can fix bugs, and features at user requests. Sometimes, it's quite easy to add a useful feature or fix a bug. The easiest way to learn could be reading our GitHub commits and issues.
V3 is our attempt to have a clean new codebase, developed by librecad from scratch, so free from some old design problems. For example, in v2 we use a vector to mean both a point and a vector, but conceptually, a point is a location, while a vector is the difference from a point to another. In v3, we separate those two concepts from beginning.
Since you have cad experience, you may have noticed that librecad doesn't have the concept of constraints (topological layer). We may want to add that for v3.
There are lots of things to play with, from the trivial to hard. Like fixing a typo in gui, adding a missing translation, or providing a 64bit windows build. One hard one could be getting correct hatching area without an existing topological layer.
Also, feel free to ask us for help.

Regards,

Dongxu
Reply | Threaded
Open this post in threaded view
|

Re: Can I Help?

James
Thank you for your reply, Dongxu.

One thing that has been bugging me. What was the reason for adopting QT for GUI? I only ask out of genuine curiosity because I have not really used the framework before, and it's always felt a little restrictive (from a licence point of view).

Something else I wondered (and again my knowledge is very limited). But other open source projects I have used, typically have other library dependencies already built in? This way when you download the project - you already have everything ready to build (again QT feels like a restriction here?).

Regards,
James
Reply | Threaded
Open this post in threaded view
|

Re: Can I Help?

dxli
Legacy code is the main reason for qt in v2. It was the community version of qcad, then, we just kept using qt for convenience.

You may have noticed that v3 was started to address this problem. Its cad engine should be clean from any particular gui framework.

James wrote
Thank you for your reply, Dongxu.

One thing that has been bugging me. What was the reason for adopting QT for GUI? I only ask out of genuine curiosity because I have not really used the framework before, and it's always felt a little restrictive (from a licence point of view).

Something else I wondered (and again my knowledge is very limited). But other open source projects I have used, typically have other library dependencies already built in? This way when you download the project - you already have everything ready to build (again QT feels like a restriction here?).

Regards,
James
Reply | Threaded
Open this post in threaded view
|

Re: Can I Help?

James
Thanks again for the explanation.

I suppose my first test is can I build the project locally! I've never been very good at linking libraries together!!

James
Reply | Threaded
Open this post in threaded view
|

Re: Can I Help?

LordOfBikes
Administrator

When you tell us about your platform, we can support you with this.

Basically the instructions at https://wiki.librecad.org/index.php?title=Build_from_source are still valid.
Just the versions information are a bit outdated.

On Linux your distro probably has a valid Qt5 in its package manager. For Windows I recommend to use a later Qt5, anything between Qt 5.12 and 5.15 should be okay. I don't recommend Qt6, this may rise issues you can avoid with Qt5.
On MacOS I think it's similar to Linux, but that's not my in my portfolio.
Our CI uses Qt 5.12

The only external library you need is Boost. I'm not sure about the latest working version. For CI on GitHub we use 1.75, so this will work surely. We use only headers, so copy Boost to a local drive ist enough, a build is not needed. The path to Boost is set up in a custom.pri, which has to be created locally, it is not included in the sources.

The other libraries, libdxfrw and muparser are bundled and contained in the sources.
And freetype is optional, it's only needed for the ttf2lff tool.

Armin
investing less than half an hour into Search function can save hours or days of waiting for a solution
Reply | Threaded
Open this post in threaded view
|

Re: Can I Help?

James
Thanks Armin, I'm on Windows 11.

Could I check another thing, sorry! - The boost library is huge! I never knew. Is it typical to download and build the full library or is there a better way?

Thanks,
James
Reply | Threaded
Open this post in threaded view
|

Re: Can I Help?

LordOfBikes
Administrator
Indeed, our Windows XP build server uses 1.65, which is about 140MB compressed download and 500MB extracted.
I don't know the sizes for 1.75, which  is used for GitHub CI.
A build is not needed, LibreCAD uses just headers. So download and extract should be all you need.
The build will just multiply the used space with all the object and binary files.
investing less than half an hour into Search function can save hours or days of waiting for a solution