>> "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@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user