Fusion manual NC commands

breezy

Arie
Staff member
This query is about inserting manual commands into gCode through Fusion 360.

Back story is I'm machining tops for portable picnic wine tables. These tops (6 in a 3 x 2 matrix) have two holes (handle & bottle storage) and four slots (wine glass holder), after machining the topside, the 1200 by 800 sheet is flipped over to machine the bottom. This is where I want to insert a manual Stop command so that I can move the spindle out of the way to install clamps to hold the tops down for the final part of machining. There are 4 steps to machining the bottom side, drill holes for the hinges, roundover the edges of the handle & bottle hole, complete machining the outside and roundover the outer edge. Between steps 2 & 3 is where I need to move the spindle, which seems simple enough, in Fusion just insert a manual NC Stop command between steps 2 & 3. But the problem is when Fusion then generates the NC gCode, the stop command is not where I expected it to be. Now I could separate this operation into two files, but I want to keep it as one file to make it easier for other members of the shed to be able to run the machine.

Below is part of the gCode generated by Fusion.

When I generate without the manual Stop the gCode retracts the spindle to Z15 followed by home the Z axis command, then it proceeds to the tool change for the next section of work. What I want to do is stop the machine before the tool change so that clamps can be added. But Fusion is inserting the stop command before the Z axis home command not after as I expected. Now I could just edit the file to move the manual NC Stop command & comment to the logical end of the roundover section, but I would like to get Fusion to insert the command where I expected it to be. So if anyone knows how to adjust Fusion or the post processor for MASSO to insert manual commands to the logical end of a section I would appreciate your help.

There is an optional stop command just before the tool change command but I don't want to rely on that because there are more optional stop commands before each tool change which would just confuse the members and the current version of MASSO doesn't remember if optional stop has been turned on between power cycles.

(ROUNDOVER BOTTLE HANDLE)
N900 G0 X-761.5 Y400.
N905 Z15.
N910 Z5.
N915 G1 Z-2.5 F1500.
N920 G3 X-838.5 I-38.5 J0. F5000.
N925 X-761.5 I38.5 J0.
N930 G0 Z5.
N935 X-764.013 Y517.171
N940 G1 Z-2.5 F1500.
N945 G3 X-836.273 Y517.109 I-35.987 J-167.171 F5000.
N950 X-840.864 Y509.973 I1.272 J-5.864
N955 X-833.727 Y505.382 I5.864 J1.273
N960 G2 X-766.273 I33.727 J-155.382
N965 G3 X-759.136 Y509.973 I1.273 J5.863
N970 X-763.727 Y517.109 I-5.864 J1.273
N975 X-764.013 Y517.171 I-36.273 J-167.109
N980 G0 Z15.
(ADD CLAMPS)
N985 M0
N990 G28 G91 Z0.
N995 G90

(TABLE TOP SHAPE)
N1000 M5
N1005 M1
N1010 T5 M6
N1015 S20000 M3
N1020 G56
N1025 G0 X81.99 Y-185.519
N1030 Z15.
N1035 Z5.
N1040 G1 Z-4. F5000.

Regards,

Arie.
 

breezy

Arie
Staff member
Well I solved this problem by getting the "Pass Through" Manual NC command to work. When I looked at the functions available in the Manual NC dropdown I saw Pass Through and thought beauty just enter Y900 to move the spindle out of the way and follow it with a Stop command, but the postprocessor didn't insert the Y900 and the Stop command wasn't where I expected it to be. So I asked for help here, but today I googled Fusion Manual NC and found this little bit of information.

NOTE: This function is not included in the stock Autodesk Post Processors by default because manually entering code can result in machine crashes. Be careful when using manual code entry to ensure that machine collisions will not be caused by the manually entered code.

This requires a post processor edit. To allow code snippets to be posted manually using the Manual NC > Pass Through operation, add the following function to the post processor using a text editing program.
function onPassThrough(text) {

var commands = String(text).split(",");

for (text in commands) {

writeBlock(commands[text]);

}

}

So I performed the edit on the MASSO postprocessor and I was able to get the Pass Through command to insert the required code move it to Y900 and stop the program. But it placed it before the Z home command. After checking out how the onSection function works, the first thing that it outputs is a Z home if insertToolCall is true, it then writes the tool change code. So I tweaked the order that the function writes its commands. This is the result.

N990 X-763.727 Y517.109 I-5.864 J1.273
N995 X-764.013 Y517.171 I-36.273 J-167.109
N1000 G0 Z15.

(ADD CLAMPS)
N1005 M5
N1010 G28 G91 Z0
N1015 G0 Y900
N1020 M0

(TABLE TOP SHAPE)
N1025 G28 G91 Z0.
N1030 G90
N1035 M5
N1040 M1
N1045 T5 M6

The ADD CLAMPS operation is the code I'm inserting using the Pass Through command.

So the Manual NC commands were being placed in the correct location but the way the post processor was handling the writing of the code made it seem it was incorrect.

Anyway if you wish to use the Pass Through command on Fusion I have attached the modified post processor.

Regards,

Arie.

Edit Removed MASSO zip replaced by later post.
 

breezy

Arie
Staff member
The change I made to the comment function messed up the format of the header at the top of NC files. So I have reworked PP to fixed that.

Also removed all G4x range commands.

Regards,

Arie.
 

Attachments

  • masso.zip
    15 KB · Views: 11

breezy

Arie
Staff member
@masso-support

How is MASSO configured to handle M0? As per your documentation

Example program
N10 G00 X0 Y0
N20 G00 X10
N30 M00
N40 G00 Y10

The first line will move both X and Y axis to 0.00 position.
In line two the X axis will move to X 10 position.
In line three the program will stop and wait for user to press cycle start.

Is not NOT how the shed's router performed today. Running this portion of code required me to jump to N1070 to continue routing.

N1000 X-764.013 Y517.171 I-36.273 J-167.109
N1005 G0 Z15.

(ADD CLAMPS)
N1010 M5
N1015 G28 G91 Z0
N1020 G53 G0 Y900
N1025 M0

(TABLE TOP SHAPE)
N1030 G28 G91 Z0.
N1035 G90
N1040 M5
N1045 M1
N1050 T5 M6
N1055 S20000 M3
N1060 G56
N1065 G0 X81.99 Y-185.519
N1070 Z15.
N1075 Z5.

Pressing Cycle Start did NOTHING. Jumping to N1030 threw a soft limit error on the Y axis because the G56 X0Y0 position is set at about machine coordinates X1000Y350 when our Y axis is 1070. So I had to jump to N1070 to get MASSO to start again. The first thing it did was move to the tool change position and request a tool change, after which it continued on with the program. The ADD CLAMPS portion of code is manual NC commands inserted in Fusion to move the spindle head out of the way and stop to allow installation of clamps to hold the table tops in place before they are cut away from the sheet of ply.

Regards,

Arie.
 

masso-support

MASSO Support
Staff member
Hi Arie

Did you run the file with the M00 removed to see if it would run all the way through or at least a bit further on in the file.

Maybe the look ahead was seeing something it didn't like and refused to let it restart. Had the M00 not been there it might have given the soft limit anyway.

On the few times I have used the M00 it has always worked as advertised.

Cheers

Peter
 

breezy

Arie
Staff member
Peter,

That isn't the only place that I have M0, at the start of the file is this code,

N10 G90 G94 G17
N15 G21

(PROBE WCS)
N20 M5
N25 G56
N30 T0 M6
N35 G0 X0 Y0
N40 M0

(HINGE HOLES)
N45 G28 G91 Z0.
N50 G90
N55 M5
(3MM DRILL BIT)
N60 T24 M6
N65 S10000 M3
N70 G56
N75 G0 X-89.2 Y-140.
N80 Z20.

Tool zero is our Drewtronics probe and we need to probe the centre of a hole to establish X0Y0Z0. The sheet of ply as been cut on the other side by previous operations, we are using Fusion's linear pattern to duplicate cutting operations (3x2) and the sheet of ply won't be the same width between batch of table tops so we can't assume that the waste to the right of the WCS will be the same. So we need to probe a new WCS from the right side of the sheet when it has been flipped over and the only feature that we know the exact location of is a 85mm hole that was machined in the previous operations. Even here I had to jump to N80 to continue machining.

I has added screen captures of Fusion setups (Top & Bottom) to show the different WCS points.

Regards,

Arie.
 

Attachments

  • Table-top.JPG
    Table-top.JPG
    23.4 KB · Views: 12
  • Table-Bottom.JPG
    Table-Bottom.JPG
    25.5 KB · Views: 14

breezy

Arie
Staff member
@masso-support

I may have found a bug the MASSO input button firmware.

I'm using external inputs for
  • Home
  • Cycle Start
  • Cycle Stop
  • Rewind.

Under normal conditions pressing any of the external input buttons requires the button to be held for several seconds for MASSO to respond as against pressing the soft buttons on the screen. On a fault condition like the axis hard limit during a tool change (as I reported in another topic) or M0 stop command MASSO is ignoring the external CStart button. In the fault condition case I got homing to work after pressing the soft CStart, but thinking about the M0 problem I was pressing the external CStart button, I never pressed the soft CStart. I need to do more testing when I get some free time at the shed, at the moment I have projects lined up for several weeks.
Quote from MASSO Support on November 4, 2019, 10:10 am

On the few times I have used the M00 it has always worked as advertised.

Regards,

Arie.
 

masso-support

MASSO Support
Staff member
Thanks Arie,

Will have a look at this. Never considered the external buttons but will give a try.

Cheers

Peter
 

masso-support

MASSO Support
Staff member
Hi Arie,

Have tested the external Cycle Start button on both the Hard limit issue you reported and found that as you thought the external button didn't work while the touch screen and mouse worked fine.

I then tested with the M00 but found that the external Cycle start works fine and instantly. Will be interested to see what you find.

Cheers

Peter
 
Top