Error: "Post Processor not compatible with Machine Simulation" in Fusion 360

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
 Not familiar with Fusion 360 Posts?
 Answer

Adding the required functions

  1. Add machine simulation to capabilities
    capabilities = CAPABILITY_MILLING | CAPABILITY_MACHINE_SIMULATION;
  2. 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 *****
  3. Add setCurrentABC(abc) to setWorkPlane
    // Look at the Machine Simulation post for reference

    setCurrentABC(abc); // required for machine simulation
  4. 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();

    }
  5. Save the post and re-attach it to the machine config if necessary
  6. Re-simulate the setup.