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

Reply via email to