when working with large offsets (voronoi style), the coinciding lines are milled two times. while milling twice can be desired in some cases (i've heard of people doing it to enhance their pcb quality), it is generally not desired.
i'd imagine a solution where before a movement it is checked whether the part about to be milled is already milled and in that case pulling up and moving to where it's important to mill again.
View and moderate all "feature-requests Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Feature Requests"
adding it here because it sounds like in the implementation it would be similar:
if an outline is specified, lines outside that outline don't need to be engraved; the milling process can stop where the board will be cut out, and the cutting line doesn't have to be engraved either.
View and moderate all "feature-requests Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Feature Requests"
turned out that the issue around respecting cut borders can be implemented in a completely different way. a patch is at http://gitorious.org/pcb2gcode/pcb2gcode/commit/e61b745dbb75d6f839d4df6baa43369422e2bd2b
View and moderate all "feature-requests Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Feature Requests"
another way would be to completly dump the component-based path tracing.
Starting from the grown image, start with a black pixel on a path, follow the path until an intersection. choose the right-most "street" and continue. And dump all the visited points in a std:.vector. When visiting a pixel, also change its color, so that future visits will not consider the already visited path again.
When stuck in a dead end, scan for a new black pixel in a path, start again, and create a list of all std::vector paths.
Until there are no more black-pixel paths left.
Do my simplify-path on any path in the std::list, output path...
greetings, bernhard
Maybe do some way optimization of this list.