On Monday 20 November 2017 02:33:13 Marcus Bowman wrote: > On 20 Nov 2017, at 07:01, John Dammeyer wrote: > > Hey Chris, > > The link Andy posted for his Macros are similar to what is available > > for MACH3. I don't know about MACH4. The first link he posted for > > NGCGUI still appeared to be G-Code oriented but then so in effect > > are the MACH3 Macros. The GUI interface just lets you fill in the > > blanks and then it generates G-Code. > > > > However, I think one has to learn far more about Linux and LinuxCNC > > to add any sort of macro processing windows etc. than one has to > > learn about G-Code. Should there be a button that is labelled Work > > Envelope #1 which issues a G54? Probably. Is some of the > > nomenclature out of date or just obtuse? Probably. But for every > > fancy icon or button there then needs to be a hint when you hover > > over it with a mouse and even then it doesn't always make sense. > > > > I don't like the trend towards all the little icons because I can't > > remember them anyway. It's why I don't like Android phones. Half > > the time the icons don't do the same thing between different > > applications. > > > > Very few people write assembler code for micro-processors. We all > > tend to use higher level languages be it 'C', Pascal, Python, LISP, > > SNOBOL, ALGOL (I'm dating myself) etc. I still look at the code > > generated by the C compiler to see what it makes. Sometimes a > > simple change at the high level that essentially does the same thing > > logically makes a world of difference for code size or speed. Not > > enough new programmers do that anymore and we certainly see code > > bloat in current applications because they don't look at the results > > of the compiler. > > > > So it is with the CNC world. The G-Code is the assembler language > > of the machine. You rarely have to look at it if you use the > > CAD/CAM model but it won't matter how 'visual' or 'conversational' > > you make it, knowledge of what's under the blankets is still needed. > > And occasionally you will have to tweak it; so you have to know > > and understand it. > > This is an important point, I feel. Perhaps it is a reflection of the > current state of play with CAD/CAM/CNC software. Sometimes, I code at > the machine, just because that's easiest and most interesting. > Sometimes I use Vectric's VCarve Pro to draw a part then create the G > code. Then I take it to the machine. The code it produces is perfectly > fine, but almost always requires tweaking. That is most easily done by > tinkering with the G Code directly. VCarve is not in the machine which > controls the mill, so small but important changes require a > two-machine sequence of editing and reloading, and it can be faster to > tweak the code manually. Often, a job might be to produce a couple of > hundred identical parts. In that case, I find the only way to optimise > the code to run quickly and efficiently is to manually tweak the code. > So search and replace become the order of the day. Adding parameters > can also speed up the run, especially when tweaking to optimise speeds > and feeds. G Code produced via CAD/CAM does not use parameters or > logical IF statements or other program structures, and I believe > that's a disadvantage in many cases.
A huge disadvantage. > In practice, I do use VCarve + > tweaks for a lot of jobs, particularly where the shape has a tricky > curve or many features, but for quick jobs I use a collection of > self-written 'demons' or wizards (if your prefer the term). I wrote > them, so I know how they perform, and they do the job in the way I > like and expect. I dare say other existing routines would do the job > too. My demons exist as complete little programs, but I don't tend to > string them together for simple jobs. They all use my standard header > and standard loop structures for incrementing feed etc, so they tend > to be predictable in performance. > > Marcus Much the same here Marcus. By using the loop structures gcode gives us, I have written 50 line programs that took 3 days to run. I was, just for the grins, sharpening a carbide tipped saw blade. And it was sharper than new when it was done. And cut a pile of cherry at least twice as big as the oem sharp did before the first burn mark. Its also cut up around $1400 worth of mahogany which doesn't burn as easy, and even some 1/8" alu sheet. And still on the saw. > > If I have to drill 6 holes and I know the XY location of each, I > > might just write it with G-Code. Simply because it's faster than > > using the CAD/CAM model. But if the part needs 3 holes and a curved > > perimeter and a slot then the CAD/CAM approach is the tool of > > choice. It's just faster and you get a visual (and printed copy) > > of the solution for your records. I find that J.T.'s arcgenm18.py is all the help I generally need to cut the curves. When I am writing gcode, it stays open on the machine so I can copy/paste for every "corner" I need. Often straight to the mdi command line. The only fuss I have about that is that is it could be a bigger font, and 3x longer so I can see the complete command before I hit enter. > > John > > > >> -----Original Message----- > >> From: Chris Albertson [mailto:[email protected]] > >> Sent: November-19-17 9:09 PM > >> To: Enhanced Machine Controller (EMC) > >> Subject: Re: [Emc-users] Looking for examples of conversational > >> machine interface > >> > >> John, > >> > >> > >> Thanks for the long writeup. I'll read it again a few times before > >> I say anything in detail. But to answer some questions > >> > >> At this point I want to look at a wide survey and understand what's > >> been done. What worked and what did not. > >> > >> The target audience for everything I make is myself. If there are > >> others like me then all the better someone else can use it too. > >> > >> My use case is for simple one-off machining on a mill or lathe that > >> is converted to CNC and maybe does not even have hand cranks on it > >> anymore (not decided on the crank issue yet.) > >> > >> For anything more complex the boring a hole, I'm using Autodesk > >> Fusion 360. It works well for modeling "organic" shapes that also > >> have to fit inside a machine. Fusion usable built-in CAM for > >> printing, lathe and 4-axis mill. > >> > >> I do believe is hammering down requirements, prototypes and so on. > >> Kind > > > > of > > > >> a slow approach to engineering. But always seat with "What would > >> I want if I had Star Wars level technology and a big budget. Cast > >> a wide net and then sit on all those ideas for a while. I'm at the > >> "wide net" stage of this project. > >> > >> On Sun, Nov 19, 2017 at 5:34 PM, John Dammeyer > >> <[email protected]> > >> > >> wrote: > >>>> -----Original Message----- > >>>> From: Chris Albertson [mailto:[email protected]] > >>>> Sent: November-19-17 3:30 PM > >>>> To: Enhanced Machine Controller (EMC); Machinekit > >>>> Subject: [Emc-users] Looking for examples of conversational > >>>> machine > >>> > >>> interface > >>> > >>>> As the title says. I'm collecting ideas and the best place to > >>>> start > > > > is > > > >>>> with good examples of what is currently available today. > >>>> > >>>> A conversational interface to a milling machine is one that does > >>>> not > >>> > >>> expose > >>> > >>>> G-Code or CAD/CAM to the user. The user "tells" the machine what > >>>> he > >>> > >>> wants, > >>> > >>>> usually by selecting from a short menu. The machine provides a > > > > preview > > > >>> of > >>> > >>>> what he asked for. Possibly the user sees a mistake and makes a > >>> > >>> correction > >>> > >>>> and then finally says "Do it." > >>>> > >>>> There are some serious limits to what can be done with this kind > >>>> of interface. But also the simple kinds of operations that can > >>>> be done > > > > are > > > >>>> common and useful. For example surface milling a large flat > >>>> area, > >>> > >>> boring > >>> > >>>> a hole of a given diameter and depth or making a pocket. > >>>> > >>>> What I'm looking for is examples of this kind of user interface > >>>> and opinions, good or bad. Anyone have links to products and > >>>> experience > >>> > >>> (good > >>> > >>>> or bad) using them. > >>>> > >>>> My goals to make something VERY SIMPLE to do one-off machine > >>>> tasks. > >> > >> This > >> > >>>> kind of software is NOT real-time so it could run on any > >>>> hardware, > > > > even a > > > >>>> cell phone. > >>>> > >>>> Please don't say you would never us this because you write > >>>> g-code. > > > > No, > > > >>> you > >>> > >>>> do that only because it is the least bad option. > >>> > >>> Before you try and design anything perhaps define your target > >>> market? > >> > >> Who > >> > >>> is willing to pay a few thousand dollars for a milling machine and > > > > tooling > > > >>> to then clamp a piece of metal into a vice to have it > >>> automatically mill > > > > a > > > >>> few holes. For that matter, who is willing to write the software, > > > > probably > > > >>> for free, that would do such a simple operations? > >>> > >>> This world does indeed now exist with 3D printing. All you have > >>> to know > > > > is > > > >>> how to find the stl files on the web and run it through a > >>> converter to > > > > then > > > >>> 3D print a toy or whatever. No design experience needed. Except > >>> when > > > > you > > > >>> want to make something custom. And suddenly knowledge of CAD is a > >>> requirement. For those who don't take the time to learn at least > >>> a > > > > minimal > > > >>> amount of CAD the machine ends up collecting dust after the > >>> novelty > > > > wears > > > >>> off. > >>> > >>> The same thing now exists to a certain extent in the > >>> micro-controller marketplace too. Called an Arduino, a user no > >>> longer has to spend hours working through the data sheets to > >>> figure out how to create a PWM signal > >> > >> on > >> > >>> a specific pin. CAD software and PCB layout isn't needed. Most > >>> of the work > >>> is already done. The language is simplified and just call a > >>> library function. There are hundreds of modules to build a plug > >>> and play kind > > > > of > > > >>> product. Until you need something not addressed with a COTS > >>> solution. Then > >>> suddenly "computer engineering" as it's called now is a > >>> requirement. > >>> > >>> However, the desire to replace "expertise" with click and point > >>> rather > > > > than > > > >>> develop design capabilities may not be that successful when it > >>> comes to > > > > a > > > >>> milling machine, CNC router or a lathe. Simply because these > >>> tools can > > > > be > > > >>> dangerous. So a minimum amount of education investment is a > >> > >> requirement. > >> > >>> The MACH3 developers introduced a number of elements called > >>> wizards. > >> > >> They > >> > >>> already do much of what you want. Bolt circles are easy. Fill in > >>> the blanks on the screen. It creates the G-Code. Press run. > >>> Except it is never that simple. You have to insert the correct > >>> tool. You have to > > > > set > > > >>> the zero for the tool bit. The work has to be well clamped and > >>> the > > > > clamps > > > >>> can't be in the way of the tool motion. Not as easy as you might > >>> think > > > > and > > > >>> a broken tool off a 20,000 RPM can be lethal. > >>> > >>> So I'd suggest you first write a clear description of who would > >>> use something like this. What their education level is? How > >>> often would > > > > they > > > >>> use this? We tend to forget what we don't practice. Machining, > > > > CAD/CAM, > > > >>> PCB design and even writing software requires practice. I don't > >>> think there is a shortcut to building things without regular > >>> practice. > >>> > >>> For the most part I don't write G-Code. I may edit a few lines > >>> here > > > > and > > > >>> there to solve potential problems. What I do is use AlibreCAD to > >>> create > > > > a > > > >>> parametric drawing of the part. Then I use the same AlibreCAD to > >>> turn > > > > that > > > >>> into a couple of sheets of 2D drawings with dimensions so I can > >>> see what > > > > I > > > >>> want to build. > >>> > >>> Next I use the AlibreCAM (MecSoft) add in to specify the type of > > > > machine, > > > >>> the material and bounding area where the end product sits within > >>> the raw material. Finally tools, feeds and speeds etc. I can > >>> then simulate > > > > the > > > >>> entire operation and look for tool path issues. > >>> Finally the end result posted is a G-Code file which is put onto a > >>> USB dongle and then inserted into the PC running the machine > >>> controller software. > >>> > >>> Since I've predefined where my zero is. The machine has limit > >>> switches > > > > so > > > >>> it knows where the zeros are. I set up the raw material. Set up > >>> the > > > > tool > > > >>> bit etc. and press start. If all I want are 18 holes for LED > >>> light > > > > pipes > > > >>> in > >>> a small piece of plastic (I make about 20 at a time) I end up > >>> running > > > > the > > > >>> program 20 times. Replacing the milled part with a new blank each > >>> time. The jig for it gets put away until the next time when I'm > >>> done. > >>> > >>> So in other words, what you want already exists in several > >>> different > > > > ways. > > > >>> What doesn't exist is this solution at a zero dollar cost. And if > >>> I > > > > don't > > > >>> use the CAD/CAM software for 6 months I have to practice a bit > >>> again > >> > >> before > >> > >>> I can use the equipment safely. > >>> > >>> John Cheers, Gene Heskett -- "There are four boxes to be used in defense of liberty: soap, ballot, jury, and ammo. Please use in that order." -Ed Howdershelt (Author) Genes Web page <http://geneslinuxbox.net:6309/gene> ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Emc-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/emc-users
