... | ... | @@ -602,7 +602,7 @@ emit(union(smatrix * head, case)) |
|
|
Snap matrices are not commutative with respect to their connecting magnets. Notice in the previous example that multiplying ```smatrix``` with ```case``` does not yield the same result.
|
|
|
|
|
|
# Operations
|
|
|
IceSL suports [Constructive Solid Geometry](https://en.wikipedia.org/wiki/Constructive_solid_geometry) (hereafter referred to as CSG). The following is a list of CSG operations:
|
|
|
IceSL supports [Constructive Solid Geometry](https://en.wikipedia.org/wiki/Constructive_solid_geometry) (hereafter referred to as CSG). The following is a list of CSG operations:
|
|
|
|
|
|
## CSG Operations
|
|
|
```union(s0,s1)```
|
... | ... | @@ -712,7 +712,7 @@ emit( translate(100,0,0) * linear_offset(mesh,v(0,1,0),10) ) |
|
|
|
|
|
```linear_offsets(mesh,directions,offsets)```
|
|
|
|
|
|
Same as ```linear_offset``` but multiple offsets can be applied at the same time. ```directions``` and ```offsets``` are arrays of vectors and numbers respectively and they have an ordered one-to-one correspondance.
|
|
|
Same as ```linear_offset``` but multiple offsets can be applied at the same time. ```directions``` and ```offsets``` are arrays of vectors and numbers respectively and they have an ordered one-to-one correspondence.
|
|
|
|
|
|
# Shape Representation
|
|
|
IceSL offers several functions for calculating representations of shapes (i.e., meshes, voxels, etc).
|
... | ... | @@ -887,7 +887,7 @@ emit(merge(centroids)) |
|
|
</table>
|
|
|
|
|
|
# Other Functionality
|
|
|
## Printing setttings
|
|
|
## Printing settings
|
|
|
It is possible for custom printing settings to be shown and modified in IceSL's UI. Currently there is support for two types of settings; booleans and numbers. The following two definitions can be used in file ```features.lua``` of a printer profile:
|
|
|
|
|
|
```add_checkbox_setting(internal_name, description, tooltip)```
|
... | ... | @@ -909,12 +909,12 @@ Scripts also have the ability to change printing settings directly from within t |
|
|
IceSL gives priority to an assignment of a printing setting according to the following list:
|
|
|
1. Default IceSL values -- _bottom priority_
|
|
|
2. Printer features (i.e., ```features.lua``` in printer profiles)
|
|
|
3. Print profile (e.g., fast print, high quiality, etc.)
|
|
|
3. Print profile (e.g., fast print, high quality, etc.)
|
|
|
4. Material profile (e.g., abs, pla, etc.)
|
|
|
5. Lua script
|
|
|
6. User interface -- _top priority_
|
|
|
|
|
|
For example, if the value of a setting is specified in a printer profile as well as in the lua script, the latter takes priority. Moreover, if the user sets it manually using the UI then this overrides all other assignements.
|
|
|
For example, if the value of a setting is specified in a printer profile as well as in the lua script, the latter takes priority. Moreover, if the user sets it manually using the UI then this overrides all other assignments.
|
|
|
|
|
|
```set_setting_value(setting, value)```
|
|
|
|
... | ... | @@ -1099,7 +1099,7 @@ Returns a 2D table where each $`(i,j)`$ index is a vector that corresponds to th |
|
|
|
|
|
```screenshot()```
|
|
|
|
|
|
Saves a screenshot in the ```pictures``` folder or current script folder for the windows and linux builds respectively.
|
|
|
Saves a screenshot in the ```pictures``` folder or current script folder for the windows build.
|
|
|
|
|
|
```sleep(ms)```
|
|
|
|
... | ... | |