Add machine simulation support to your post in Fusion 360 with our troubleshooting guide. Follow our steps to resolve the issue and ensure proper machine simulation
Issue
Error: Post Processor not compatible with Machine Simulation. Simulating without a machine.
The post-processor used in the setup does not have the required functions to support machine simulation
The post-processor used in the setup does not have the required functions to support machine simulation
Not familiar with Fusion 360 Posts?
-
- Contact support@dsi-mfg.com with a copy of this error and your current post processor
Answer
Adding the required functions
- Add machine simulation to capabilities
capabilities = CAPABILITY_MILLING | CAPABILITY_MACHINE_SIMULATION;
- Add the machine simulation functions to the post
- Use the Machine Simulation post for reference. Found here
// ***** This is an example only *****
// ####
// #### The code below is relevant for machine configuration / simulation ####
// ####
// Start of machine configuration logic
var compensateToolLength = false; // add the tool length to the pivot distance for nonTCP rotary heads
// internal variables, do not change
var receivedMachineConfiguration;
var operationSupportsTCP;
var multiAxisFeedrate;
function activateMachine() {
// disable unsupported rotary axes output
if (!machineConfiguration.isMachineCoordinate(0) && (typeof aOutput != "undefined")) {
aOutput.disable();
}
// ***** This is an example only *****
- Use the Machine Simulation post for reference. Found here
- Add setCurrentABC(abc) to setWorkPlane
// Look at the Machine Simulation post for reference
setCurrentABC(abc); // required for machine simulation - Remove the old machine axis setup in onOpen and activate the machine
function onOpen() {
// ***** Add these lines *****
receivedMachineConfiguration = machineConfiguration.isReceived();
if (typeof defineMachine == "function") {
defineMachine(); // hardcoded machine configuration
}
activateMachine(); // enable the machine optimizations and settings
// ***** Remove these lines *****
var aAxis = createAxis({coordinate:0, table:true, axis:[1, 0, 0], cyclic:true});
//var cAxis = createAxis({coordinate:2, table:false, axis:[0, 0, 1], range:[-360, 360], preference:1});
machineConfiguration = new MachineConfiguration(aAxis);
setMachineConfiguration(machineConfiguration);
optimizeMachineAngles2(1); // map tip mode
}
if (!machineConfiguration.isMachineCoordinate(0)) {
aOutput.disable();
}
if (!machineConfiguration.isMachineCoordinate(1)) {
bOutput.disable();
}
if (!machineConfiguration.isMachineCoordinate(2)) {
cOutput.disable();
} - Save the post and re-attach it to the machine config if necessary
- Re-simulate the setup.