A method of simulating the printing of a three-dimensional object, comprising: providing a 3D printing simulation system including a printing device and a layers module ; wherein the printing device includes a controller and a plurality of process modules , including a preheating module , a binding agent jetting module , a fusing module and a recoating module ; and receiving , at the controller, a configuration file describing parameters comprising aspects and characteristics of the printing device during a 3D object printing process, an environment file describing the characteristics of a sinterable material to be used during a 3D printing process, and a 3D object image file describing the layout of a number of layers of the 3D object; simulating the printing of the 3D object, wherein simulating the printing of the 3D object comprises sending command signals, describing how the 3D object is to be built, from the controller to the plurality of process modules to direct the process modules to generate and send actions to the layers module, wherein the actions describe how a layer among the number of layers is to be preheated, fused and recoated and how a binding agent is to be applied to each layer ,and wherein in response to receiving an action the layers module is to simulate physical and/or chemical reactions in the simulated layers of the layers module; wherein the layers module simulates three types of layers comprising a surface layer , internal layers and bottom chunk layers , wherein each type of layer includes a specific layer temperature model ; and generating , by the layer module, layer temperature data and providing real time simulated temperature readings of each of the number of layers to the controller while simulating the printing of the 3D object. providing a 3D printing simulation system including a printing device and a layers module ; wherein the printing device includes a controller and a plurality of process modules , including a preheating module , a binding agent jetting module , a fusing module and a recoating module ; and receiving , at the controller, a configuration file describing parameters comprising aspects and characteristics of the printing device during a 3D object printing process, an environment file describing the characteristics of a sinterable material to be used during a 3D printing process, and a 3D object image file describing the layout of a number of layers of the 3D object; simulating the printing of the 3D object, wherein simulating the printing of the 3D object comprises sending command signals, describing how the 3D object is to be built, from the controller to the plurality of process modules to direct the process modules to generate and send actions to the layers module, wherein the actions describe how a layer among the number of layers is to be preheated, fused and recoated and how a binding agent is to be applied to each layer ,and wherein in response to receiving an action the layers module is to simulate physical and/or chemical reactions in the simulated layers of the layers module; wherein the layers module simulates three types of layers comprising a surface layer , internal layers and bottom chunk layers , wherein each type of layer includes a specific layer temperature model ; and generating , by the layer module, layer temperature data and providing real time simulated temperature readings of each of the number of layers to the controller while simulating the printing of the 3D object. <EOS>