Hi,
A good benchmark is to know how many text lines there are in the exported G-Code file.
Can you provide such a count?
I have a CAM that supports pocketing and that may easily export 100k G-moves for a single contour.
In under a minutes or so per contour.
With pocketing every next path is basically an offset to the former.
Multi-threading is not always a solution.
For one, it is impossible to predict where a next segment must start unless you know where the former ended.
And then G-Code relies on the last reached position.
I can envision a toolpath per thread and then a TSP (Traveling Salesman Problem) routine to connect the starts and ends.
QCAD uses Multi-threading to render data on screen.
At that instance that is static data, nothing really depends on the outcome from another core.
Still, there are cases that forcing 1 core is better (see forum).
One source of a vast amount of arc segments are splines.
Splines are approximated by a polyline with tangentially connected bulging segments what is then exploded to individual arcs (and lines).
Arcs (lines) can be exported as G2/3 (G1).
As stated several times before, this conversion is not per definition a mathematical closed format.
Bulging segments have 2 endpoints, the 2 associated polyline vertices, arcs have no endpoints, they have end-angles.
It may that two consecutive bulging segments don't have an endpoint in common as arcs.
Especially with tangentially connected that may be a problem, some arcs will never touch or cross.
It tend to get worse for the offsets of these.
This is usually solved allowing for a connect tolerance with a really small but fixed value.
Not that you can mold an arc so that it fits ... Like relocating and endpoint of a line segment.
But All is OK until your arcs lengths and/or radii come close to this minute value.
Have a look at your CAM Configuration dialog.
A typical spline interpolation tolerance is 0.01 and that is in units.
Most configurable tolerances in QCAD are
NOT drawing unit related.
0.01 would be fine using inches when the design is tens to hundreds of inches.
You have to ask yourself the question "
How correct must a spline approximation be?"
Do you really need a path accuracy of 0,01mm for a design in decimeters to meters?
Is the repeatability of your setup that precise?
A less strict approximation tolerance generates fewer and larger, longer arc segments.
My personal answers on both counts are YES, rather 0,001mm, but then my designs are mostly not larger than coin-size.
To avoid other floating point number issues I stepped down in drawing units to microns.
The values are simply 1000 times larger, but the build in tolerances remain the same.
Regards,
CVH