first of all: a big THANK YOU for the great work you all
have done to get LibreCAD this far!
How did I came here? I remembered the other day that there
has been this "QCad" project (I had heard about it in the
old days when trolltech was trolltech and Nokia was Nokia
...;-). So I gave it a try and was able to build the
"Community Edition" from source, but soon I got somewhat
frustrated about how far the published sources are -
probably - behind what Ribbonsoft is dashing out as a
Then I stumbled over the LibreCAD project and was pretty
impressed by it.
For a start I have managed to complete a build from the
current (as of today) sources - alas, with a glitch: I use
Visual Studio .NET 2003 on Windows, and Qt Version 3.4.1 for
this. (Why that? I have nothing against the gnu toolchain
and QtCreator, but VS is the IDE I know best and use most -
I simply didn't want to fill my harddrive and my brain with
just another IDE.) So far everything looks fine.
I have cloned a Git repository to accomodate my changes at
If anyone is interested in the details, I would post a HOWTO
description about it somewhere - would
be an appropriate place?
Some words about me: I'm based in Germany and have been
working as a developer in a small (CAD/CAM-related) software
business for some years now. Areas in which I would hope to
be helpful in include:
- General geometric computation
- Localization (preferably in german, but with the helping
eye of a native speaker also in english)
- General CAD/CAM stuff.
My everyday environment (at home) is Windows XP SP3 (32
bit), VS .NET 2003; occasionally FreeBSD 8.2 (x86, 32 bit), Mac
OS X 10.4 (PPC), Mac OS X 10.5 (x86).
But for the time being I'll dig deeper in the code, and Git
is also new for me (coming from SVN).
do you really mean Qt-3.4.1? I'm pretty sure we are actively adapting to newest Qt versions, for example, we assume Qt version being at least at Qt-4.5, and only check Qt versions when at least Qt-4.6 needed.
We do need to improve the way for windows, os/x releases. For example, we want to provide a nightly build for windows.
Also, please feel free to write on librecad wiki:
Have a look at LibreCAD spline methods: rs_spline.h/cpp. We need some cleanup. If possible, we want NURBS (openNURBS ?) support for spline. For example, we need to provide spline fit. The only "draw spline" method in LibreCAD is drawing splines by control points. We may want to provide drawing spline fit of given points.
For geometry work, have a look at offset implementation,
Implement "offset" by Voronoi algorithm is very interesting to me.
Also, some easier engine work. For example, to implement ray (a line with a start point and infinite in one direction).
I can not currently test your VS work, as I don't have VideoStudio.
On Thu, Dec 29, 2011 at 2:45 PM, tin-pot [via LibreCAD] <[hidden email]> wrote:
Dongxu Li, Ph.D.
Am 2011-12-29 21:04, schrieb dxli [via LibreCAD]:
> do you really mean Qt-3.4.1? I'm pretty sure we are actively adapting to
> newest Qt versions, for example, we assume Qt version being at least at
> Qt-4.5, and only check Qt versions when at least Qt-4.6 needed.
Ups, sorry, that was a typo: Of course it is Qt-4.3.1 :-)
> We do need to improve the way for windows, os/x releases. For example,
> we want to provide a nightly build for windows.
> Also, please feel free to write on librecad wiki:
Okay, I will write about this "MSVC build" there.
> Have a look at LibreCAD spline methods: rs_spline.h/cpp. We need some
> cleanup. If possible, we want NURBS (openNURBS ?) support for spline.
> For example, we need to provide spline fit. The only "draw spline"
> method in LibreCAD is drawing splines by control points. We may want to
> provide drawing spline fit of given points.
I see. I'll have a look at it.
> For geometry work, have a look at offset implementation,
> Implement "offset" by Voronoi algorithm is very interesting to me.
You mean Martin Held's Vroni (I think is the name?) tool?
AFAIK this is commercialized, ie not available for a GPL'd
project. As far as offsetting an analytical contour goes
(line segments and circular arcs, maybe even conic arcs),
I think one could go along without a full Voronoi diagram.
(The crucial point in Held's algorithm is robustness.)
I'm going to check my colloction of papers on those matters ...
> Also, some easier engine work. For example, to implement ray (a line
> with a start point and infinite in one direction).
That sounds not too complicated, and a good occasion to learn
about LibreCAD internals, good idea.
I'm also thinking about some low-level improvements in the
engine, maybe post about it soon.
The idea of Voronoi diagram:
a Voronoi cell defines neighbourhood of each of given points. To get "Offset" for all given points, the offset of each (circles here) is drawn within the attached Voronoi cell up to cell boundaries, an O(N) process. Voronoi algorithm clearly simplifies the intersection problem of offset contours. To consider intersections between offset of each point is of O(N^2) by a naive algorithm. Of course, to generate Voronoi diagrams from N given points is an O(N log N) process, so, the overall complexity of offset by Voronoi is O(N log N), compared with O(N^2) by naive intersections.
The idea of Voronoi diagrams can be extended to include lines/arcs/circles, as well as points, and the extension is required for offset support in LibreCAD.
Anders is working on his openvoronoi as shown in his comments within:
Please make your changes and send in pull requests by github. I don't have the permission to add you the LibreCAD group (rw access to LibreCAD/LibreCAD repository). Ries is in charge of that. He can give you write access to librecad.org too.
On Thu, Dec 29, 2011 at 3:21 PM, tin-pot [via LibreCAD] <[hidden email]> wrote:
Dongxu Li, Ph.D.
In reply to this post by tin-pot
I'm Diego Cabrera from Ecuador.
I am developing my thesis of Electronic Engineering.
This is a laser cutting machine. To do this I need to develop a CAD software. I found LibreCAD and I think a fantastic software and would like to implement in what I need for my thesis. I need to add my toolbar buttons that will take the start, stop and a box of power allocation to entities in the drawing. When I press start LibreCAD be communicated with an application that I developed in C using sockets or some means of interprocess communication. LibreCAD should communicate to my application each primitive entities with respective laser power above preset by the user.
I've managed to compile and run the source code on Ubuntu 10.04 LibreCAD using Qt Creator.
As you see I need big help to add my request to the original source code because I do not understand how this is structured libreCAD. Much would value your help
You can send pull requests to my repository:
(pull request help: http://help.github.com/send-pull-requests/ )
I always like the idea of using LibreCAD as a drawing library, can be controlled by another program or scripts.
Thanks and happy holidays!
On Thu, Dec 29, 2011 at 9:29 PM, diegoroman17_2 [via LibreCAD] <[hidden email]> wrote:
Dongxu Li, Ph.D.
|Free forum by Nabble||Edit this page|