Hello Guest it is June 28, 2022, 02:35:42 PM

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Cbyrdtopper

1
Mach4 General Discussion / Re: Fusion 360 In-Process Inspection
« on: June 13, 2022, 03:37:25 PM »
You have a machine with Mach4 on it OEM? 
You can upgrade it.  You will have to copy all of your configuration stuff and put it into the new version of Mach4.  '
Make a copy of everything and store it for safekeeping.
I make templates for most things here at work.  Mostly I make parametric models in Fusion and then let operators adjust the parameters; but I do make templates for G Code as well using # Variables. 

2
Mach4 General Discussion / Re: Fusion 360 In-Process Inspection
« on: June 13, 2022, 02:53:50 PM »
Yes.  I've got OD Grinders that I made the code for that utilize all of those; I'm using Mach4 industrial on those machines.

3
Mach4 General Discussion / Re: Fusion 360 In-Process Inspection
« on: June 13, 2022, 02:14:32 PM »
Yeah, that's what I was talking about.  The G65 is a sub program call.  The P9810 and P9812 are the programs for Safe Moves (9810) and for the work offset (9812) with the arguments on the same line (the letters and numbers).  Mach4 industrial supports G65 sub programs. 

4
Mach4 General Discussion / Re: Fusion 360 In-Process Inspection
« on: June 13, 2022, 01:14:16 PM »
I didn’t get it to post anything on my end. What exactly are you posting out of fusion?

Can you add a the code it outputs?  I’m curious now.

The industrial version of Mach4 can read all of the macro programming that it outputs.  Conditional statements, if, while, etc are all ok in mach4 industrial.

5
Mach4 General Discussion / Re: Fusion 360 In-Process Inspection
« on: June 13, 2022, 09:30:07 AM »
Since most of the machines that use probing use mostly the renishaw stuff; I would say no, not out of the box.
You could edit the post processor to output the the probing routines, but you would have to obtain the routines or write them yourself and make sure that the post processor puts out the correct code and arguments for your routines.

Another way you could do this.... Mach 4 emulates a fanuc 21i (I think that is the correct one); so you could just try the fanuc post processor that Fusion has and then add in the probing routines into your sub routine folder in the mach4 directory.  Again, you will have to supply the probing routines.

If you could get ahold of the renishaw probing routines for a fanuc, this second route might actually work. 

6
Mach4 General Discussion / Re: Flute/Tooth count
« on: June 07, 2022, 08:42:07 AM »
We used Mach3 for years and switched to Mach4 hoping it would be more stable.  Thankfully it was!  It is also very flexible; like you are wanting; you can add as much to it as you want.
I've got a couple machines here in the shop just running the stock profile. 
We have cylindrical grinders here at work to grind bearing surfaces.  I made a completely custom screen that makes it conversational.  I wrote the g code (one big macro program) that will read inputs, DRO's, turn on outputs, auto measure, and all kinds of stuff.  Mach4 is very powerful; it has a learning curve, but it is very powerful.

7
Mach4 General Discussion / Re: Flute/Tooth count
« on: June 06, 2022, 03:53:33 PM »
Alrighty,
Here is what to do; there are a few steps to take to get this working. 
1.  Add a Flute Count field to the Tool Offsets Table.
Go to View, tool table.  Then Edit, Table Fields.  Then under the user fields tab; add a field called Flute Count and set it to integer.
2.  Add a DRO to the screen wherever you want to see the Chip Load.   I have it set up to justify left so you can see it better and have it reading to 4 decimals.  Notice the "Format" under the properties.  Set it like I have it in the attached picture.  Add a static text box for a label if you'd like.  You'll see I've done that in the picture.
3.  Set that DRO to a #VARS.  You set it in the DRO properties in the screen editor.  See attached picture.  If you don't use any System Variables just set it to 500 like I have in the example. 
4.  Add the following script to the PLC Script.  I add my custom stuff at the bottom above the section that says "this is the last thing".
I have attached a second picture to show you how to get to the PLC Script.  Select the screen in the screen tree manager.  It is the top item.  Then the Second option under properties, the lightning icon, and then the 3 dots at the end of the PLC Script line.  That will open up the Script. 

------------------------------------------------------------------
--Chip Load Calculator
local FluteCount = mc.mcToolGetDataExDbl(inst, 1, "Flute Count")
local RPM = mc.mcCntlGetPoundVar(inst, 1242)
local Feedrate = mc.mcCntlGetPoundVar(inst, 1244)
local ChipLoad = ((Feedrate/RPM)/FluteCount)
mc.mcCntlSetPoundVar(inst, 500, ChipLoad)
------------------------------------------------------------------   

This should get you going.

8
Mach4 General Discussion / Re: Flute/Tooth count
« on: June 06, 2022, 12:04:05 PM »
I actually made something like this quite a while ago for the same reason, I liked the display on our NGC.
I'll have to find it again. 

9
I have used the stock PP from Autodesk with Mach4 turning without issue. 
Things to check are the tool orientation and your WCS.  Make sure they all match how your machine is set up.

10
You could replace your SpinCW and your SpinCCW functions in the screen load script with this.
Also, make a new m3 and m4 macro and save them into your profile's macro folder as m3 and m4 and it will overwrite the stock m3 and m4.  Code below as well.
You would have to replace the tool number to suit your needs.  I have it set to 30 in all of these scripts.  I would also thoroughly test this in all instances. 
---------------------------------------------------------------
-- Spin CW function.
---------------------------------------------------------------
function SpinCW()
    local sigh = mc.mcSignalGetHandle(inst, mc.OSIG_SPINDLEON);
    local sigState = mc.mcSignalGetState(sigh);
   local Tool = mc.mcToolGetCurrent(inst)
    
    if Tool == 30 then
      mc.mcCntlSetLastError(inst, "Cannot run spindle with tool probe.")
    else
       if (sigState == 1) then
          mc.mcSpindleSetDirection(inst, 0);
       else
          mc.mcSpindleSetDirection(inst, 1);
       end
    end
end
---------------------------------------------------------------
-- Spin CCW function.
---------------------------------------------------------------
function SpinCCW()
    local sigh = mc.mcSignalGetHandle(inst, mc.OSIG_SPINDLEON);
    local sigState = mc.mcSignalGetState(sigh);
   local Tool = mc.mcToolGetCurrent(inst)
   
    if Tool == 30 then
      mc.mcCntlSetLastError(inst, "Cannot run spindle with tool probe.")
    else
   
       if (sigState == 1) then
          mc.mcSpindleSetDirection(inst, 0);
       else
          mc.mcSpindleSetDirection(inst, -1);
       end
    end
end
---------------------------------------------------------------

function m3()
local inst = mc.mcGetInstance()
local Tool = mc.mcToolGetCurrent(inst)

if Tool == 30 then
    mc.mcCntlSetLastError(inst, "Cannot run spindle with tool probe.")
else
    mc.mcSpindleSetDirection(inst, 1);
end--If Tool == 30


end--m3

if (mc.mcInEditor() == 1) then
    m3()
end

function m4()
local inst = mc.mcGetInstance()
local Tool = mc.mcToolGetCurrent(inst)

if Tool == 30 then
    mc.mcCntlSetLastError(inst, "Cannot run spindle with tool probe.")
else
    mc.mcSpindleSetDirection(inst, -1);
end--If Tool == 30


end--m4

if (mc.mcInEditor() == 1) then
    m4()
end