... | ... | @@ -5,10 +5,10 @@ This is the official documentation of IceSL printer profiles. This page specifie |
|
|
1. [Location & Creation](#location)
|
|
|
1. [Components](#components)
|
|
|
|
|
|
2. [Features.lua](#features_lua)
|
|
|
2. [features.lua](#features_lua)
|
|
|
1. [Custom Settings](#custom)
|
|
|
|
|
|
3. [Printer.lua](#printer_lua)
|
|
|
3. [printer.lua](#printer_lua)
|
|
|
1. [Helper Functions](#helpers)
|
|
|
2. [State Variables](#variables)
|
|
|
3. [Example](#example)
|
... | ... | @@ -33,7 +33,7 @@ A printer profile has the following components: |
|
|
* **Profiles** (optional) : Subsets of printing settings for specific situations (e.g., *high quality printing*, *fast printing*)
|
|
|
* **Materials** (optional) : Subsets of printing settings for specific materials (e.g., *PLA*, *ABS*)
|
|
|
|
|
|
Files ```features.lua``` and ```printer.lua``` **must** start with the following sentence<sub>3</sub3>:
|
|
|
Files ```features.lua``` and ```printer.lua``` **must** start with the following directive<sub>3</sub3>:
|
|
|
|
|
|
```lua
|
|
|
version = 2
|
... | ... | @@ -41,7 +41,7 @@ version = 2 |
|
|
|
|
|
<sub>3. This requirement will be recalled in the future</sub>
|
|
|
|
|
|
## ```Features.lua``` <a name="features_lua"></a>
|
|
|
## ```features.lua``` <a name="features_lua"></a>
|
|
|
|
|
|
This file specifies values for printing settings that are considered (by the profile maker) important to the printer hardware. In practice, any setting where its value is a *boolean*, an *integer*, or a *float* can be set in here.
|
|
|
|
... | ... | @@ -99,9 +99,9 @@ These add setting ```internal_name``` with ```description```, minimum value ```m |
|
|
|
|
|
The setting's value can then be queried in file ```printer.lua``` of the printer profile by using the setting's ```internal_name```.
|
|
|
|
|
|
## ```Printer.lua``` <a name="printer_lua"></a>
|
|
|
## ```printer.lua``` <a name="printer_lua"></a>
|
|
|
|
|
|
This file specifies how the profile produces g-code that is specific to the printer. This is done through lua functions that are called by IceSL whenever the print process demands it. The list of functions to implement are the following:
|
|
|
This file specifies how to translate the sliced geometry to printing instructions (e.g., G-Code). These instructions are specific to the machine/printer the profile is made for. Moreover, the translation is done through lua functions that are called by IceSL whenever the print process demands it<sub>4</sub>. The list of functions to implement are the following:
|
|
|
|
|
|
| Function | Description |
|
|
|
| ------ | ------ |
|
... | ... | @@ -126,6 +126,8 @@ This file specifies how the profile produces g-code that is specific to the prin |
|
|
| ```set_and_wait_extruder_temperature(ext,temp)``` | called when setting the extruder ```ext``` temperature to ```temp``` while waiting |
|
|
|
| ```set_mixing_ratios(ratios)``` | called when setting the mixing ratios of each filament feeding onto the mixing extruder; ```ratios``` is a table containing the ratio for each filament. This function is only called when using color mixing |
|
|
|
|
|
|
<sub>4. Though all printer profiles packaged in IceSL produce G-Code, this approach is sufficiently general to allow production of other machine languages, and by extension, to other manufacturing machines.
|
|
|
|
|
|
### Helper functions <a name="helpers"></a>
|
|
|
|
|
|
IceSL provides a number of lua helper functions to facilitate the writing to gcode. These function can be used in ```printer.lua```. The following is a list detailing these functions:
|
... | ... | |