[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: gEDA-user: Enhancements for gEDA/pcb G-code export



>> "Introduce a flag on whether to use a drill cycle for drilling."
>> I would instead have a flag to disable M81 drill cycles, disabled by
>> default.
>
> Well, the flag is supposed to do exactly this. Do you think there should be
> a better wording?
All I was saying is that "advanced" features should be enabled by
default, and I think it's better to have something like:
"Disable feature XX" (unchecked by default)
than:
"Enable feature XX" (checked by default)

>
>> "Add a flag whether to use variables in G-code."
>> I would instead have a flag to disable variables, something like:
>> "avoid using G-code variables. Some non-standard machine controllers
>> don't understand them"
>
idem

>> "Sort drills not only by distance, but also by diameter."
>> I probably didn't explain correctly the original feature: it doesn't
>> really sort by distance from origin, it puts drills in the lowest
>> relative distance sequence, starting from zero. This way the tool starts
>> from zero and makes the least amount of movement to reach the new hole;
>> now, I know that there is probably an entire class of very smart path
>> minimization algorithms but this one proved to decrease the overall
>> length
>> quite a bit, so don't remove it.
>
> The sorting by distance is still there, just sorting by diameter takes
> precedence.
>
Now, this is plain wrong: your replacement algorithm orders holes by
distance from origin; the original algorithm does something very
different: starting from the origin it builds a sequence of holes so
that the path from one to the next is lowest. This has to be the last
operation, because if you swap again the order you have the same
problem you started with, i.e. the drill jumping all over the board
wasting time.
So I repeat that if you want to order also by size you should create a
separate list of holes for every size you have, and for each list run
my original algorithm.
Try yourself the difference by visualizing the tool path in both cases.

>> Regarding the hole diameter not everybody uses different bits for
>> different hole sizes, so this feature should be enabled via a flag;
>
> Uh, yet another flag. And I consider at least three additional flags, e.g.
> feed rates for vertical vs. horizontal movement, as unavoidable. How many
> flags can be put into this dialog before it no longer fits onto the screen?
> Hmm. Looks a bit difficult to find an agreement. If there's hand-editing of
> the G-code needed, I'd consider this as a failure of the exporter. And I
> hate adding user-visible features, stuff should "just work". Hence the
> tendency to switch flags on the safe, "works everywhere" side by default.
This is not something that can be substituted by hand editing, it has
to do with the equipment you have: how many people do you think will
use a tool changer? Right now 0 out of 2 users, but I bet only a very
small percentage will ever do it, so the most common drill operation
will be done with only one drill.
So I'd say that drill sorting definitely has to be optional.
What you define "safe features" is just the set of features supported
by a not yet mature particular machine (RepRap) which accounts for an
extremely small percentage of hobby machines; G-code has been working
with variables and multiple commands for tens of years, and probably
your machine will be upgraded shortly.
Also, hand editing is very common in the CNC world, due to the fact
that you often adjust your codes on the field, based on what you
equipment can do at the moment.

Best regards,
Alberto


_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user