UVtools.Core
Gets UVtools born date and time
Gets UVtools years
Return full age in a readable string
Checks if today is UVtools birthday
Converts a speed from one unit to another
Converts seconds to milliseconds
Converts seconds to milliseconds
Converts milliseconds to seconds
Gets or sets the maximum number of concurrent tasks enabled by this ParallelOptions instance.
Less or equal to 0 will set to auto number
1 = Single thread
n = Multi threads
Gets the ParallelOptions with set
Gets the ParallelOptions with set to 1 for debug purposes
Gets the ParallelOptions with and the set
Gets the ParallelOptions with and the set
Gets or sets if operations run via CUDA when possible
Gets if we can use cuda on operations
Gets or sets the default compression type for layers
The average resin 1000ml bottle cost, to use when bottle cost is not available.
Use 0 to disable.
Gets the default folder to save the settings
Gets the default folder to save the settings
A contour cache for OpenCV
Gets the area of the contour
Gets the perimeter of the contours
Gets the centroid of the contour
Gets or sets the contour points
Gets if this contour have any point
Checks if a given is inside the contour rectangle bounds
Gets if a given is inside the contour
Utility methods for contour handling.
Use only with Tree type
Gets the contours inside
Gets the contours hierarchy
Gets if this collection have any contours
Gets contours inside a point
If true it will include all limiting area, otherwise only outer contour will be returned
Gets a contour given a location.
Contour index, -1 if not exists
null if not exists
Gets only the outer most external contours
Only compatible with Tree type of contour detection
Gets contours inside contours that are black pixels
Gets contours that are positive and negative pixels and group them by areas
Only compatible with Tree type of contour detection
Gets contours that are positive pixels and group them by areas
Only compatible with Tree type of contour detection
Gets contours inside contours that are black pixels and group them by areas
Only compatible with Tree type of contour detection
Gets contour real area for a limited area
Gets the largest contour area from a contour list
Contour list
Gets contours real area for a group of contours
Grouped contours
True to run in parallel
Array with same size with contours area
Checks if two contours intersects and return the intersecting pixel count
Contour 1
Contour 2
Intersecting pixel count
Checks if two contours intersects
Contour 1
Contour 2
A disposable Mat with associated ROI Mat
Gets index start number, if starts on 0 or 1
Flip direction, same as , but add None which must be taken care/ignored on code
Rotate direction, same as , but add None which must be taken care/ignored on code
Rotate 90 degrees clockwise (0)
Rotate 180 degrees clockwise (1)
Rotate 270 degrees clockwise (2)
mm/s
mm/m
cm/m
ms
s
Default order of issues to show on the UI list
The Excellon drill format is a subset of RS274D and is used by the drilling and routing machines made by the Excellon corporation.
Because of Excellon's long history and dominance of the PCB drilling business for many years their format is a defacto industry standard.
Almost every PCB layout software can produce this format.However we have noticed that many PCB layout tools do not take
full advantage of the header information which makes reading the drill file more difficult than it should be.
https://www.artwork.com/gerber/drl2laser/excellon/index.htm
https://gist.github.com/katyo/5692b935abc085b1037e
Defines tool as having a diameter.
For each tool used in the data the diameter should be defined here.
There are additional parameters but if you are a PCB designer it is not up to you to specify feed rates and such.
Use float system
Include left zeros
Include right zeros
Indicates the start of the header. should always be the first line in the header
Number of padding zeros on coordinate system
Use Format 2 commands; alternative would be FMAT,1
Gets or sets the X offset for drawings in millimeters
Gets or sets the Y offset for drawings in millimeters
Gets or sets to inverse the polarity on drawing
Gets or sets the scale to apply to each shape drawing size.
Positions and vectors aren't affected by this.
Generic exception to show only the message instead of the full stack-trace
Gets the Unix timestamp since Jan 1, 1970 UTC
Gets the Unix timestamp in seconds since Jan 1, 1970 UTC
Gets the Unix minutes in seconds since Jan 1, 1970 UTC
Gets the from a unix timestamp in seconds
Gets the from a unix timestamp in minutes
Calculates the age in years of the current System.DateTime object today.
The date of birth
Age in years today. 0 is returned for a future date of birth.
Calculates the age in years of the current System.DateTime object on a later date.
The date of birth
The date on which to calculate the age.
Age in years on a later day. 0 is returned as minimum.
White color: 255, 255, 255, 255
Black color: 0, 0, 0, 255
Create a byte array of size of this
Blank byte array
Creates a new empty with same size and type of the source
Creates a new empty with same size and type of the source
Creates a new blanked (All zeros) with same size and type of the source
Blanked
Creates a new blanked (All zeros) with same size and type of the source
Blanked
Creates a with same size and type of the source and set it to a color
Creates a new and zero it
Creates a new and zero it
Creates a new and set it to a
Allocates a new array of mat's
Array size
Allocates a new array of mat 's
Array size
Image size to create, use to create a empty Mat
New mat array
Create a new from
Gets the mat bytes as
Gets the byte pointer of this
Gets the whole data span to manipulate or read pixels, use this when possibly using ROI
Gets the whole data span to manipulate or read pixels, use this when possibly using ROI
Gets the whole data span to manipulate or read pixels
Gets the whole data span to manipulate or read pixels
Gets the data span to manipulate or read pixels given a length and offset
Gets a single pixel span to manipulate or read pixels
Gets a single pixel span to manipulate or read pixels
Gets a row span to manipulate or read pixels
Gets a row span to manipulate or read pixels
Gets a col span to manipulate or read pixels
Fill a mat span with a color
Mat to fill
Start position, this reference will increment by the
Length to fill
Color to fill with
Ignore and fill to if is less than the threshold value
Fill a mat span with a color
Mat to fill
Length to fill
Color to fill with
Ignore and set to if is less than the threshold value
Fill a mat span with a color
Mat to fill
Length to fill
Color to fill with
Ignore and fill to if is less than the threshold value
Step return the original Mat step, if ROI step still from original matrix which lead to errors.
Use this to get the real step size
Gets the total length of this
The total length of this
Gets a pixel index position on a span given X and Y
X coordinate
Y coordinate
The pixel index position
Gets a pixel index position on a span given X and Y
X and Y Location
The pixel index position
Gets a byte array copy of this
Byte array
Gets a byte pixel at a position
Gets a byte pixel at a position
Gets a byte pixel at a position
Sets a byte pixel at a position
Sets a byte pixel at a position
Sets a byte pixel at a position
Sets a byte pixel at a position
Sets a byte pixel at a position
Sets bytes
Gets PNG byte array
Copy a region from to center of other
Source to be copied to
Size of the center offset
Target to paste the
Copy a region from to center of other
Source to be copied to
Region to copy
Target to paste the
Copy a to center of other
Source to be copied to
Target to paste the
Gets a Roi, but return source when roi is empty or have same size as source
Gets a Roi at x=0 and y=0 given a size, but return source when roi is empty or have same size as source
Gets a Roi from a mat size, but return source when roi is empty or have same size as source
Gets a Roi from center, but return source when have same size as source
Gets a new mat obtained from it center at a target size and roi
Gets if a is all zeroed by a threshold
Pixel brightness threshold
Start pixel position
Pixel span length
Finds the first negative (Black) pixel
Start pixel position
Pixel span length
Pixel position in the span, or -1 if not found
Finds the first positive pixel
Start pixel position
Pixel span length
Pixel position in the span, or -1 if not found
Finds the first pixel that is
Start pixel position
Pixel span length
Pixel position in the span, or -1 if not found
Finds the first pixel that is at less than
Start pixel position
Pixel span length
Pixel position in the span, or -1 if not found
Finds the first pixel that is at less or equal than
Start pixel position
Pixel span length
Pixel position in the span, or -1 if not found
Finds the first pixel that is at greater than
Start pixel position
Pixel span length
Pixel position in the span, or -1 if not found
Finds the first pixel that is at equal or greater than
Start pixel position
Pixel span length
Pixel position in the span, or -1 if not found
Rotates a Mat by an angle while keeping the image size
Angle in degrees to rotate
Rotates a Mat by an angle while keeping the image size
Rotates a Mat by an angle while adjusting bounds to fit the rotated content
Rotates a Mat by an angle while adjusting bounds to fit the rotated content
Scale image from it center, preserving src bounds
https://stackoverflow.com/a/62543674/933976
to transform
X scale factor
Y scale factor
X translation
Y translation
Destination size
Interpolation mode
Resize source mat proportional to a scale
Correct openCV thickness which always results larger than specified
Thickness to correct
Draw a rotated square around a center point
Draw a rotated rectangle around a center point
Draw a square around a center point
Draw a rectangle around a center point
Draw a polygon given number of sides and length
Number of polygon sides, Special: use 1 to draw a line and >= 100 to draw a native OpenCV circle
Radius
Center position
Left aligned without trimming, openCV default call
Left aligned and trimmed
Center aligned and trimmed
Right aligned and trimmed
Extended OpenCV PutText to accepting line breaks and line alignment
Extended OpenCV PutText to accepting line breaks, line alignment and rotation
Extended OpenCV PutText to accepting line breaks, line alignment and rotation
From gets the SVG path's. Tags are not included.
Compression method for the contours
True to binary threshold first
Array of path's
Retrieves contours from the binary image as a contour tree. The pointer firstContour is filled by the function. It is provided as a convenient way to obtain the hierarchy value as int[,].
The function modifies the source image content
The source 8-bit single channel image. Non-zero pixels are treated as 1s, zero pixels remain 0s - that is image treated as binary. To get such a binary image from grayscale, one may use cvThreshold, cvAdaptiveThreshold or cvCanny. The function modifies the source image content
Retrieval mode
Approximation method (for all the modes, except CV_RETR_RUNS, which uses built-in approximation).
Offset, by which every contour point is shifted. This is useful if the contours are extracted from the image ROI and then they should be analyzed in the whole image context
The contour hierarchy
Retrieves contours from the binary image as a contour tree. The pointer firstContour is filled by the function. It is provided as a convenient way to obtain the hierarchy value as int[,].
The function modifies the source image content
The source 8-bit single channel image. Non-zero pixels are treated as 1s, zero pixels remain 0s - that is image treated as binary. To get such a binary image from grayscale, one may use cvThreshold, cvAdaptiveThreshold or cvCanny. The function modifies the source image content
The contour hierarchy
Retrieval mode
Approximation method (for all the modes, except CV_RETR_RUNS, which uses built-in approximation).
Offset, by which every contour point is shifted. This is useful if the contours are extracted from the image ROI and then they should be analyzed in the whole image context
Detected contours. Each contour is stored as a vector of points.
Determine the area (i.e. total number of pixels in the image),
initialize the output skeletonized image, and construct the
morphological structuring element
Number of iterations required to perform the skeletoize
Determine the area (i.e. total number of pixels in the image),
initialize the output skeletonized image, and construct the
morphological structuring element
Reduces iterations to 1 and generate a kernel to match the iterations effect
Dispose this if it's a sub matrix / roi
Mat to dispose
Read from current position to the end of the file
Seek to a position, do work and rewind to initial position
Returns sqrt(x2 + y2) without intermediate overflow or underflow.
Returns sqrt(x2 + y2) without intermediate overflow or underflow.
Returns rad to deg
Rad value
Convert bool to byte (0/1)
Gets the number of digits this number haves
Digit count
Gets the number of digits this number haves
Digit count
Gets the number of digits this number haves
Digit count
Gets the number of digits this number haves
Digit count
Gets the number of digits this number haves
Digit count
Gets the number of digits this number haves
Digit count
Gets the number of digits this number haves
Digit count
Gets the number of digits this number haves
Digit count
Gets a temporary directory path
Prepend a string to temporary directory name
True to create that directory, otherwise false
The temporary directory path
Gets a temporary directory path
True to create that directory, otherwise false
The temporary directory path
Gets a temporary file with a extension and a prepend string
Extension name without the dot (.)
Optional prepend file name
Gets the smallest rectangle among all rectangles
The smallest rectangle
Gets the smallest rectangle among all rectangles
The smallest rectangle
Gets the largest rectangle among all rectangles
The largest rectangle
Gets the largest rectangle among all rectangles
The largest rectangle
Gets if this size have a zero value on width or height
Exchange width with height
Gets if this size have a zero value on width or height
Converts stream into byte array
Input
Byte array data
Upper the first character in a string
Input string
Modified string with fist character upper
Repeat this string times
String to repeat
Number of times to repeat
repeated times
Converts a string into a target type
Target type to convert into
Value
Converted value into target type
Creates a new instance of this type
Creates a new instance of this type
Target type
New instance of {T}
1 inch to 1 mm
1 mm to 1 inch
Used to specify what our overwrite policy
is for files we are extracting.
Used to identify what we will do if we are
trying to create a zip file and it already
exists.
Unzips the specified file to the given folder in a safe
manner. This plans for missing paths and existing files
and handles them gracefully.
The name of the zip file to be extracted
The directory to extract the zip file to
Specifies how we are going to handle an existing file.
The default is IfNewer.
Unzips the specified file to the given folder in a safe
manner. This plans for missing paths and existing files
and handles them gracefully.
The zip file to be extracted
The directory to extract the zip file to
Specifies how we are going to handle an existing file.
The default is IfNewer.
The number of extracted files
Safely extracts a single file from a zip file
The zip entry we are pulling the file from
The root of where the file is going
True to preserve full name and create all directories up to the file, otherwise false to extract the file just to
Specifies how we are going to handle an existing file.
The default is Overwrite.IfNewer.
The extracted file path
Allows you to add files to an archive, whether the archive
already exists or not
The name of the archive to you want to add your files to
A set of file names that are to be added
Specifies how we are going to handle an existing archive
Specifies what type of compression to use - defaults to Optimal
Get or put a file into archive
Filename to create
Created
Create or update a file into archive and write content to it
Filename to create
Content to write
Created
Create or update a file into archive and write content to it
Filename to create
Content to write
Created
Create or update a file into archive and write content to it
Filename to create
Content to write
Created
This file format is based on B9Creator job file (.b9j) with defined version = 3
and added several new fields (as example, preview image).
Some of the format features are not recommended to use (BaseLayersCount and FilledBaseLayersCount).
Printer uses incorrect BMP header for preview image so we need to use it as-is instead of generating.
White pixels region (border including corner pixels)
Gets a magic number identifying the file type.
0x12fd_0019 for cbddlp
0x12fd_0086 for ctb
Gets the software version
Gets dimensions of the printer’s X output volume, in millimeters.
Gets dimensions of the printer’s Y output volume, in millimeters.
Gets dimensions of the printer’s Z output volume, in millimeters.
Gets the height of the model described by this file, in millimeters.
Gets the layer height setting used at slicing, in millimeters. Actual height used by the machine is in the layer table.
Gets the exposure time setting used at slicing, in seconds, for normal (non-bottom) layers, respectively. Actual time used by the machine is in the layer table.
Gets the exposure time setting used at slicing, in seconds, for bottom layers. Actual time used by the machine is in the layer table.
Gets the light off time setting used at slicing, for normal layers, in seconds. Actual time used by the machine is in the layer table. Note that light_off_time_s appears in both the file header and ExtConfig.
Gets number of layers configured as "bottom." Note that this field appears in both the file header and ExtConfig..
Gets the printer resolution along X axis, in pixels. This information is critical to correctly decoding layer images.
Gets the printer resolution along Y axis, in pixels. This information is critical to correctly decoding layer images.
Gets the file offsets of ImageHeader records describing the larger preview images.
Gets the file offset of a table of LayerHeader records giving parameters for each printed layer.
Gets the number of records in the layer table for the first level set. In ctb files, that’s equivalent to the total number of records, but records may be multiplied in antialiased cbddlp files.
Gets the file offsets of ImageHeader records describing the smaller preview images.
Gets the estimated duration of print, in seconds.
Gets the records whether this file was generated assuming normal (0) or mirrored (1) image projection. LCD printers are "mirrored" for this purpose.
Gets the print parameters table offset
Gets the print parameters table size in bytes.
Gets the number of times each layer image is repeated in the file.
This is used to implement antialiasing in cbddlp files. When greater than 1,
the layer table will actually contain layer_table_count * level_set_count entries.
See the section on antialiasing for details.
1 for ctb
Gets the PWM duty cycle for the UV illumination source on normal levels, respectively.
This appears to be an 8-bit quantity where 0xFF is fully on and 0x00 is fully off.
Gets the PWM duty cycle for the UV illumination source on bottom levels, respectively.
This appears to be an 8-bit quantity where 0xFF is fully on and 0x00 is fully off.
Gets the key used to encrypt layer data, or 0 if encryption is not used.
Gets the slicer tablet offset
Gets the slicer table size in bytes
Gets the distance to lift the build platform away from the vat after bottom layers, in millimeters.
Gets the speed at which to lift the build platform away from the vat after bottom layers, in millimeters per minute.
Gets the distance to lift the build platform away from the vat after normal layers, in millimeters.
Gets the speed at which to lift the build platform away from the vat after normal layers, in millimeters per minute.
Gets the speed to use when the build platform re-approaches the vat after lift, in millimeters per minute.
Gets the estimated required resin, measured in milliliters. The volume number is derived from the model.
Gets the estimated grams, derived from volume using configured factors for density.
Gets the estimated cost based on currency unit the user had configured. Derived from volume using configured factors for density and cost.
Gets the light off time setting used at slicing, for bottom layers, in seconds. Actual time used by the machine is in the layer table. Note that light_off_time_s appears in both the file header and ExtConfig.
Gets the light off time setting used at slicing, for normal layers, in seconds. Actual time used by the machine is in the layer table. Note that light_off_time_s appears in both the file header and ExtConfig.
Gets number of layers configured as "bottom." Note that this field appears in both the file header and ExtConfig.
Gets the machine name offset to a string naming the machine type, and its length in bytes.
Gets the machine size in bytes
CBDDLP: 0 [No AA] / 8 [AA] for cbddlp files. CTB: 7(0x7) [No AA] / 15(0x0F) [AA]
Not totally understood. 0 to not support, 0x20 for v2, 0x30 for v3 and 0x40 to 0x50 for v4 ctb files to allow per layer parameters
Gets the minutes since Jan 1, 1970 UTC
Gets the user-selected antialiasing level. For cbddlp files this will match the level_set_count. For ctb files, this number is essentially arbitrary.
Gets a version of software that generated this file, encoded with major, minor, and patch release in bytes starting from the MSB down.
(No provision is made to name the software being used, so this assumes that only one software package can generate the files.
Probably best to hardcode it at 0x01060300.)
17170480
Gets the machine name. string is not nul-terminated.
The character encoding is currently unknown — all observed files in the wild use 7-bit ASCII characters only.
Note that the machine type here is set in the software profile, and is not the name the user assigned to the machine.
The files contain two preview images.
These are shown on the printer display when choosing which file to print, sparing the poor printer from needing to render a 3D image from scratch.
Gets the X dimension of the preview image, in pixels.
Gets the Y dimension of the preview image, in pixels.
Gets the image offset of the encoded data blob.
Gets the image length in bytes.
Gets the build platform Z position for this layer, measured in millimeters.
Gets the exposure time for this layer, in seconds.
Gets how long to keep the light off after exposing this layer, in seconds.
Gets the layer image offset to encoded layer data, and its length in bytes.
Gets the layer image length in bytes.
Gets a copy of layer data definition
Gets the total size of ctbImageInfo and Image data
Checksum of unix timestamp
7(0x7) [No AA] / 15(0x0F) [AA]
Not totally understood. 0 to not support, 0x40 to 0x50 to allow per layer parameters
The files contain two preview images.
These are shown on the printer display when choosing which file to print, sparing the poor printer from needing to render a 3D image from scratch.
Gets the X dimension of the preview image, in pixels.
Gets the Y dimension of the preview image, in pixels.
Gets the image offset of the encoded data blob.
Gets the image length in bytes.
Gets the size of the header
Gets the header name
Gets the size of the printer model
Gets the printer model
Gets the number of records in the layer table
Gets the printer resolution along X axis, in pixels. This information is critical to correctly decoding layer images.
Gets the printer resolution along Y axis, in pixels. This information is critical to correctly decoding layer images.
Gets the size of the header
Gets the header name
Gets the size of the header
Gets the header name
Gets the number of records in the layer table
Gets the printer resolution along X axis, in pixels. This information is critical to correctly decoding layer images.
Gets the printer resolution along Y axis, in pixels. This information is critical to correctly decoding layer images.
Gets the size of the header
Gets the header name
Gets a magic number identifying the file type.
0xBD3C7AC8 for fdg
Gets the software version
Gets the number of records in the layer table
Gets number of layers configured as "bottom." Note that this field appears in both the file header and ExtConfig..
Gets the records whether this file was generated assuming normal (0) or mirrored (1) image projection. LCD printers are "mirrored" for this purpose.
Gets the printer resolution along X axis, in pixels. This information is critical to correctly decoding layer images.
Gets the printer resolution along Y axis, in pixels. This information is critical to correctly decoding layer images.
Gets the layer height setting used at slicing, in millimeters. Actual height used by the machine is in the layer table.
Gets the exposure time setting used at slicing, in seconds, for normal (non-bottom) layers, respectively. Actual time used by the machine is in the layer table.
Gets the exposure time setting used at slicing, in seconds, for bottom layers. Actual time used by the machine is in the layer table.
Gets the file offsets of ImageHeader records describing the larger preview images.
Gets the file offsets of ImageHeader records describing the smaller preview images.
Gets the file offset of a table of LayerHeader records giving parameters for each printed layer.
Gets the estimated duration of print, in seconds.
?
Gets the PWM duty cycle for the UV illumination source on normal levels, respectively.
This appears to be an 8-bit quantity where 0xFF is fully on and 0x00 is fully off.
Gets the PWM duty cycle for the UV illumination source on bottom levels, respectively.
This appears to be an 8-bit quantity where 0xFF is fully on and 0x00 is fully off.
Gets the height of the model described by this file, in millimeters.
Gets dimensions of the printer’s X output volume, in millimeters.
Gets dimensions of the printer’s Y output volume, in millimeters.
Gets dimensions of the printer’s Z output volume, in millimeters.
Gets the key used to encrypt layer data, or 0 if encryption is not used.
Gets the estimated required resin, measured in milliliters. The volume number is derived from the model.
Gets the estimated grams, derived from volume using configured factors for density.
Gets the estimated cost based on currency unit the user had configured. Derived from volume using configured factors for density and cost.
Gets the machine name offset to a string naming the machine type, and its length in bytes.
Gets the machine size in bytes
Gets the machine name. string is not nul-terminated.
The character encoding is currently unknown — all observed files in the wild use 7-bit ASCII characters only.
Note that the machine type here is set in the software profile, and is not the name the user assigned to the machine.
Gets the light off time setting used at slicing, for bottom layers, in seconds. Actual time used by the machine is in the layer table. Note that light_off_time_s appears in both the file header and ExtConfig.
Gets the light off time setting used at slicing, for normal layers, in seconds. Actual time used by the machine is in the layer table. Note that light_off_time_s appears in both the file header and ExtConfig.
Gets the distance to lift the build platform away from the vat after bottom layers, in millimeters.
Gets the speed at which to lift the build platform away from the vat after bottom layers, in millimeters per minute.
Gets the distance to lift the build platform away from the vat after normal layers, in millimeters.
Gets the speed at which to lift the build platform away from the vat after normal layers, in millimeters per minute.
Gets the speed to use when the build platform re-approaches the vat after lift, in millimeters per minute.
Gets the minutes since Jan 1, 1970 UTC
The files contain two preview images.
These are shown on the printer display when choosing which file to print, sparing the poor printer from needing to render a 3D image from scratch.
Gets the X dimension of the preview image, in pixels.
Gets the Y dimension of the preview image, in pixels.
Gets the image offset of the encoded data blob.
Gets the image length in bytes.
Gets the build platform Z position for this layer, measured in millimeters.
Gets the exposure time for this layer, in seconds.
Gets how long to keep the light off after exposing this layer, in seconds.
Gets the layer image offset to encoded layer data, and its length in bytes.
Gets the layer image length in bytes.
Represents a file extension for slicer file formats
Stores a specific type that should be used to create with this FileExtension instance
Gets the extension name without the dot (.)
Gets the extension description
Gets if the extension shows up on open file dialog filters
Gets if the extension shows up on convert to menu
Gets a tag object
Gets the file filter for open and save dialogs
Constructor
The exact type
The extension name without the dot (.)
The extension description
True if this extension is visible on open file dialog filters
True if this extension is visible on convert to menu
Tag object
Slicer representation
Gets the decimal precision for display properties
Enumeration of file format types
Enumeration of file thumbnail size types
Firmware transition layers are handled by printer firmware
Software transition layers are handled by software and written on layer data
File decode type
Decodes all the file information and caches layer images
Decodes only the information in the file and thumbnails, no layer image is read nor cached, fast
Image data type
eg: Nova Bene4
eg: Uniformation GKone
Available Print Parameters to modify
Gets the name
Gets the description
Gets the value unit
Gets the minimum value
Gets the maximum value
Gets the incrementing value for the dropdown
Gets the number of decimal plates
Gets or sets the current / old value
Gets or sets the new value
Gets if the value has changed
Gets the available formats to process
Gets all filters for open and save file dialogs
Gets the count of available file extensions
Find by an extension
name to find
True to create a new instance of found file format, otherwise will return a pre created one which should be used for read-only purpose
object or null if not found
Find by an extension
name to find
Number of file formats sharing the input extension
True to create a new instance of found file format, otherwise will return a pre created one which should be used for read-only purpose
object or null if not found
Find by an type name
Type name to find
True to create a new instance of found file format, otherwise will return a pre created one which should be used for read-only purpose
object or null if not found
Find by any means (type name, extension, filepath)
Name to find
True to create a new instance of found file format, otherwise will return a pre created one which should be used for read-only purpose
object or null if not found
Find by an type
Type to find
True to create a new instance of found file format, otherwise will return a pre created one which should be used for read-only purpose
object or null if not found
Copy parameters from one file to another
From source file
To target file
Number of affected parameters
Compress a layer from a
to compress
Compressed byte array
Compress a layer from a byte array
byte array to compress
Compressed byte array
Decompress a layer from a byte array
byte array to decompress
Decompressed byte array
Gets the file format type
Gets the layer image data type used on this file format
Gets the group name under convert menu to group all extensions, set to null to not group items
Gets the valid file extensions for this
The speed unit used by this file format in his internal data
Gets the available
Gets the available per layer
Checks if a exists on print parameters
True if exists, otherwise false
Checks if a exists on layer parameters
True if exists, otherwise false
Gets the file filter for open and save dialogs
Gets all valid file extensions for Avalonia file dialog
Gets all valid file extensions in "*.extension1;*.extension2" format
Gets or sets if change a global property should rebuild every layer data based on them
Gets the temporary output file path to use on save and encode
Gets the input file path loaded into this
Returns the file extension. The returned value includes the period (".") character of the
extension except when you have a terminal period when you get string.Empty, such as ".exe" or ".cpp".
The returned value is null if the given path is null or empty if the given path does not include an
extension.
Gets the available versions to set in this file format
Gets the amount of available versions in this file format
Gets the available versions to set in this file format for the given extension
Extension name, with or without dot (.)
Gets the available versions to set in this file format for the given file name
Gets the default version to use in this file when not setting the version
Gets or sets the version of this file format
Gets the thumbnails count present in this file format
Gets the number of created thumbnails
Gets the original thumbnail sizes
Gets the thumbnails for this
Layers List
First layer index, this is always 0
Gets the last layer index
Gets the first layer
Gets the last bottom layer
Gets the first transition layer
Gets the last transition layer
Gets the first normal layer
Gets the last layer
Gets the smallest bottom layer using the pixel count
Gets the largest bottom layer using the pixel count
Gets the smallest normal layer using the pixel count
Gets the largest layer using the pixel count
Gets the smallest normal layer using the pixel count
Gets the largest layer using the pixel count
Gets all bottom layers
Gets all normal layers
Gets all transition layers
Gets all layers that use TSMC values
Gets all layers on same position but exclude the first layer on that position
True if all layers are using same value parameters as global settings, otherwise false
True if there are one or more layer(s) using different settings than the global settings, otherwise false
Same as negated
True if any layer is using TSMC, otherwise false when none of layers is using TSMC
True if the file global property is using TSMC, otherwise false when not using
Gets if any layer got modified, otherwise false
Sets all layers `IsModified` flag
Gets the bounding rectangle of the model
Gets the bounding rectangle of the object in millimeters
Gets or sets if modifications require a full encode to save
Gets the image width and height resolution
Gets the image width resolution
Gets the image height resolution
Gets an rectangle that starts at 0,0 and goes up to
Gets the display total number of pixels ( * )
Gets the size of display in millimeters
Gets or sets the display width in millimeters
Gets or sets the display height in millimeters
Gets the display diagonal in millimeters
Gets the display diagonal in inch's
Gets the display ratio
Gets or sets if images need to be mirrored on lcd to print on the correct orientation
Gets if the display is in portrait mode
Gets if the display is in landscape mode
Gets or sets the maximum printer build Z volume
Gets or sets the pixels per mm on X direction
Gets or sets the pixels per mm on Y direction
Gets or sets the pixels per mm
Gets the maximum (Width or Height) pixels per mm
Gets the pixel width in millimeters
Gets the pixel height in millimeters
Gets the pixel size in millimeters
Gets the maximum pixel between width and height in millimeters
Gets the pixel area in millimeters
Gets the pixel width in microns
Gets the pixel height in microns
Gets the pixel size in microns
Gets the maximum pixel between width and height in microns
Gets the pixel area in millimeters
Gets the file volume (XYZ) in mm^3
Checks if this file have AntiAliasing
Gets if the AntiAliasing is emulated/fake with fractions of the time or if is real grey levels
Gets or sets the AntiAliasing level
Gets Layer Height in mm
Gets Layer Height in um
Gets or sets the print height in mm
Checks if this file format supports per layer settings
Gets or sets the layer count
Return the number of digits on the layer count number, eg: 123 layers = 3 digits
Gets or sets the total height for the bottom layers in millimeters
Gets or sets the number of initial layer count
Gets the transition layer type
Gets or sets the number of transition layers
Gets if have transition layers
Gets the maximum transition layers this layer collection supports
Gets the number of normal layer count
Gets or sets the bottom layer off time in seconds
Gets or sets the layer off time in seconds
Gets or sets the bottom time in seconds to wait before cure the layer
Gets or sets the time in seconds to wait after cure the layer
Gets or sets the initial exposure time for in seconds
Gets or sets the normal layer exposure time in seconds
Gets or sets the bottom time in seconds to wait after cure the layer
Gets or sets the time in seconds to wait after cure the layer
Gets: Total bottom lift height (lift1 + lift2)
Sets: Bottom lift1 with value and lift2 with 0
Gets: Total lift height (lift1 + lift2)
Sets: Lift1 with value and lift2 with 0
Gets or sets the bottom lift height in mm
Gets or sets the bottom lift speed in mm/min
Gets or sets the lift height in mm
Gets or sets the speed in mm/min
Gets or sets the second bottom lift height in mm
Gets or sets the second bottom lift speed in mm/min
Gets or sets the second lift height in mm (This is the closer to fep retract)
Gets or sets the second speed in mm/min (This is the closer to fep retract)
Gets or sets the bottom time in seconds to wait after lift / before retract
Gets or sets the time in seconds to wait after lift / before retract
Gets: Total bottom retract height (retract1 + retract2) alias of
Gets: Total retract height (retract1 + retract2) alias of
Gets the bottom retract height in mm
Gets the speed in mm/min for the bottom retracts
Gets the retract height in mm
Gets the speed in mm/min for the retracts
Gets or sets the second bottom retract height in mm
Gets the speed in mm/min for the retracts
Gets or sets the second retract height in mm
Gets the speed in mm/min for the retracts
Gets or sets the bottom pwm value from 0 to 255
Gets or sets the pwm value from 0 to 255
Gets the minimum used speed for bottom layers in mm/min
Gets the minimum used speed for normal bottom layers in mm/min
Gets the minimum used speed in mm/min
Gets the maximum used speed for bottom layers in mm/min
Gets the maximum used speed for normal bottom layers in mm/min
Gets the maximum used speed in mm/min
Gets the estimate print time in seconds
Gets the calculated estimate print time in seconds
Gets the estimate print time in hours
Gets the estimate print time in hours and minutes formatted
Gets the total time in seconds the display will remain on exposing the layers during the print
Gets the total time formatted in hours, minutes and seconds the display will remain on exposing the layers during the print
Gets the total time in seconds the display will remain off during the print.
This is the difference between and
Gets the total time formatted in hours, minutes and seconds the display will remain off during the print.
This is the difference between and
Gets the starting material milliliters when the file was loaded
Gets the estimate used material in ml
Gets the estimate material in grams
Gets the starting material cost when the file was loaded
Gets the estimate material cost
Gets the material cost per one milliliter
Gets the material name
Gets the machine name
Gets the GCode, returns null if not supported
Gets the GCode, returns null if not supported
Gets if this file format supports gcode
Gets if this file have available gcode to read
Disable or enable the gcode auto rebuild when needed, set this to false to manually write your own gcode
Get all configuration objects with properties and values
Gets if this file is valid to read
Sets a layer
Layer index
Layer to add
True to add a clone of the layer
Add a list of layers
Layers to add
True to add a clone of layers
Get layer given index
Layer index
Raise notification for aspect changes, like , and relatives
Clears all definitions and properties, it also dispose valid candidates
Check if a file is valid and can be processed before read it against the decode scheme
Validate if a file is a valid
Full file path
Checks if a extension is valid under the
Extension to check without the dot (.)
True if is a full file path, otherwise false for extension only
True if valid, otherwise false
Gets all valid file extensions in a specified format
Gets a thumbnail by it height or lower
Max height allowed
Gets a thumbnail by the largest or smallest
True to get the largest, otherwise false
Sets thumbnails from a list of thumbnails and clone them
Sets all thumbnails the same image
Image to set
Sets all thumbnails from a disk file
Sets a thumbnail from mat
Thumbnail index
Sets a thumbnail from a disk file
Thumbnail index
Triggers before attempt to save/encode the file
Triggers after save/encode the file
Encode to an output file
Encode to an output file
Output file
Decode a slicer file
Decode a slicer file
file path to load, use null to reload file
Decode a slicer file
file path to load, use null to reload file
Reloads the file
Reloads the file
Reloads the file
Reloads the file
Extract contents to a folder
Path to folder where content will be extracted
Gets the transition layer count calculated from layer exposure time configuration
Transition layer count
Parse the transition step time from layers, value is returned as positive from normal perspective and logic (Longer - shorter)
Seconds
Gets the transition step time from a long and short exposure time, value is returned as positive from normal perspective and logic (Longer - shorter)
The long exposure time
The small exposure time
Number of transition layers
Seconds
Gets the transition step time from and , value is returned as positive from normal perspective and logic (Longer - shorter)
Number of transition layers
Seconds
Gets the transition step time from and first normal layer after the last transition layer, value is returned as positive from normal perspective and logic (Longer - shorter)
Number of transition layers
Seconds
Gets the transition step time from and , value is returned as positive from normal perspective and logic (Longer - shorter)
Seconds
Gets the transition layer count based on long and short exposure time
The long exposure time
The small exposure time
Decrement time
Midpoint rounding method
Gets the transition layer count based on and
Step decrement time in seconds
True if transition layer count can't be higher than supported by the file, otherwise set to false to not look at possible file layers
Midpoint rounding method
Transition layer count
Gets the transition layer count based on and first normal layer after the last transition layer
Step decrement time in seconds
True if transition layer count can't be higher than supported by the file, otherwise set to false to not look at possible file layers
Midpoint rounding method
Transition layer count
Re-set exposure time to the transition layers
True to default all the previous transition layers exposure time, otherwise false
Set transition layers and exposure times, but do not set that count to file property
Number of transition layers to set
True to default all the previous transition layers exposure time, otherwise false
Get height in mm from layer height
The height in mm
Gets the global value for bottom or normal layers based on layer index
Type of value
Layer index
Initial value
Normal value
Gets the global value for bottom or normal layers based on layer
Type of value
Layer
Initial value
Normal value
Refresh print parameters globals with this file settings
Refresh print parameters per layer globals with this file settings
Gets the value attributed to
Modifier to use
A value
Sets a property value attributed to
Modifier to use
Value to set
True if set, otherwise false not found
Sets properties from print parameters
Number of affected parameters
Gets the bottom wait time before cure, if not available calculate it from light off delay
Gets the wait time before cure, if not available calculate it from light off delay
Attempt to set wait time before cure if supported, otherwise fall-back to light-off delay
True to set to bottom properties, otherwise false
The time to set
When true and time is zero, it will calculate light-off delay without extra time, otherwise false to set light-off delay to 0 when time is 0
Rebuilds GCode based on current settings
Saves current configuration on input file
Saves current configuration on a copy
File path to save copy as, use null to overwrite active file (Same as )
Partial save of the file, this is the file information only.
When this function is called it's already ready to save to file
Triggers when a conversion is valid and before start converting values
Source file format
True to continue the conversion, otherwise false to stop
Triggers when a conversion is valid and before start converting values
Target file format
True to continue the conversion, otherwise false to stop
Triggers when the conversion is made but before encoding
Source file format
True to continue the conversion, otherwise false to stop
Triggers when the conversion is made but before encoding
Output file format
True to continue the conversion, otherwise false to stop
Converts this file type to another file type
Target file format
Output path file
File version to use
The converted file if successful, otherwise null
Converts this file type to another file type
Target file format
Output path file
File version
TThe converted file if successful, otherwise null
Changes the compression method of all layers to a new method
The new method to change to
Validate AntiAlias Level
SuppressRebuildProperties = true, call the invoker and reset SuppressRebuildProperties = false
Action work
True to force rebuild the layer properties after the work and before reset to false
True to recalculate z position of each layer (requires = true), otherwise false
Property name to change for each layer, use null to update all properties (requires = true)
SuppressRebuildProperties = true, call the invoker and reset SuppressRebuildProperties = false
Action work
True to force rebuild the layer properties after the work and before reset to false
True to recalculate z position of each layer (requires = true), otherwise false
Property name to change for each layer, use null to update all properties (requires = true)
Converts millimeters to pixels given the current resolution and display size
Millimeters to convert
Fallback to this value in pixels if no ratio is available to make the convertion
Pixels
Converts millimeters to pixels given the current resolution and display size
Millimeters to convert
Fallback to this value in pixels if no ratio is available to make the convertion
Pixels
Converts millimeters to pixels given the current resolution and display size
Millimeters to convert
Fallback to this value in pixels if no ratio is available to make the convertion
Pixels
Converts millimeters to pixels given the current resolution and display size
Millimeters to convert
Fallback to this value in pixels if no ratio is available to make the convertion
Pixels
From a pixel position get the equivalent position on the display
X position in pixels
Decimal precision
Display position in millimeters
From a pixel position get the equivalent position on the display
Y position in pixels
Decimal precision
Display position in millimeters
From a pixel position get the equivalent position on the display
X position in pixels
Y position in pixels
Decimal precision
Resolution position in pixels
From a pixel position get the equivalent position on the display
X position in millimeters
Resolution position in pixels
From a pixel position get the equivalent position on the display
Y position in millimeters
Resolution position in pixels
From a pixel position get the equivalent position on the display
X position in millimeters
Y position in millimeters
Resolution position in pixels
Creates a empty mat of file size and create a dummy pixel to prevent a empty layer detection
Location to set the dummy pixel, use a negative value (-1,-1) to set to the bounding center
Dummy pixel brightness
Creates a empty mat of file size and create a dummy pixel to prevent a empty layer detection
Location to set the dummy pixel, use a negative value (-1,-1) to set to the bounding center
Creates a empty mat of file size
Dummy pixel brightness
Creates a empty mat of file size
Creates a empty mat of file size
True to black out the mat
Clone layers
Reallocate with new size
Reallocate layer count with a new size
New layer count
Reallocate at given index
Reallocate at a kept range
Reallocate at start
Reallocate at end
Allocate layers from a Mat array
The new Layer array
Allocate layers from a Mat array and set them to the current file
/// The new Layer array
Checks if a layer index exists in the collection
Layer index to check
Checks if a layer index exists in the collection
Layer index to check
Try to parse starting and ending layer index from a string
String value to parse, in start:end format
Parsed starting layer index
Parsed ending layer index
Constrains a layer index to be inside the range between 0 and
Layer index to sanitize
True if sanitized, otherwise false
Constrains a layer index to be inside the range between 0 and
Layer index to sanitize
True if sanitized, otherwise false
Constrains a layer index to be inside the range between 0 and
Layer index to sanitize
Constrains a layer index to be inside the range between 0 and
Layer index to sanitize
Re-assign layer indexes and parent
Sanitize file and thrown exception if a severe problem is found
True if one or more corrections has been applied, otherwise false
Rebuild layer properties based on slice settings
Set LiftHeight to 0 if previous and current have same PositionZ
If true also set light off to 0, otherwise current value will be kept.
Generates a heatmap based on a stack of layers
Layer index to start from
Layer index to end on
Region of interest
Heatmap grayscale Mat
Generates a heatmap based on a stack of layers
Region of interest
Heatmap grayscale Mat
The files contain two preview images.
These are shown on the printer display when choosing which file to print, sparing the poor printer from needing to render a 3D image from scratch.
Gets or sets the identifier, BM = bitmap?
Gets or sets the table total size
Gets the Y dimension of the preview image, in pixels.
Time with motor movement
Absolute time to wait
0: Light off delay mode | 1:Wait time mode
0: Normal mode
1: Advance mode, printing use the value of "Layer Definition Content"
// The volume of all parts. unit: mm3
The weight of all parts. unit: g
0:The range of pixel's gray value is from 0x0 ~ 0xf
1:The range of pixel's gray value is from 0x0 ~ 0xff
0: reserve
1: current layer pause printing
Gets the file tag = MKSDLP
Gets the model name
Gets the file tag = MKSDLP
(0x00 not mirrored, 0x01 X-axis mirroring, 0x02 Y-axis mirroring, 0x03 XY-axis mirroring)
(0x00 linear transition)
(0x00: S-shaped acceleration, 0x01: T-shaped acceleration, Default Value: S-shaped acceleration, currently only supports S-shaped acceleration)
OD OA begins, indicating that the model + support is included; the beginning of 0D 0B, indicating that the layer only has support data
Gets the X dimension of the preview image, in pixels.
Gets the Y dimension of the preview image, in pixels.
Gets the image length in bytes.
Gets the file mark placeholder
Fixed to "ANYCUBIC"
Gets the file format version
Gets the area num
4 for v1, 5 for v515, 8 for v516?
Gets the header start address
Gets the preview start offset
Spotted on version 515 only
Gets the layer definition start address
Spotted on version 516 only
Spotted on version 516 only
Gets layer image start address
Spotted on version 517 only
Gets the section mark placeholder
Gets the length of this section
Layer height in mm
Gets the lift speed in mm/s
Gets the retract speed in mm/s
24 00 00 00 $ or ¥ C2 A5 00 00 or € = E2 82 AC 00
80
spotted on 516
spotted on 516
0 = Basic mode | 1 = Advanced mode which allows TSMC
The files contain two preview images.
These are shown on the printer display when choosing which file to print, sparing the poor printer from needing to render a 3D image from scratch.
Gets the image width, in pixels.
Gets the operation mark 'x'
Gets the image height, in pixels.
Gets the layer image offset to encoded layer data, and its length in bytes.
Gets the layer image length in bytes.
Gets the exposure time for this layer, in seconds.
Gets the layer height for this layer, measured in millimeters.
1269C
Gets a magic number identifying the file type.
0x12fd_0019 for cbddlp
0x12fd_0086 for ctb
0x9FDA83AE for phz
Gets the software version
Gets the layer height setting used at slicing, in millimeters. Actual height used by the machine is in the layer table.
Gets the exposure time setting used at slicing, in seconds, for normal (non-bottom) layers, respectively. Actual time used by the machine is in the layer table.
Gets the exposure time setting used at slicing, in seconds, for bottom layers. Actual time used by the machine is in the layer table.
Gets number of layers configured as "bottom." Note that this field appears in both the file header and ExtConfig..
Gets the printer resolution along X axis, in pixels. This information is critical to correctly decoding layer images.
Gets the printer resolution along Y axis, in pixels. This information is critical to correctly decoding layer images.
Gets the file offsets of ImageHeader records describing the larger preview images.
Gets the file offset of a table of LayerHeader records giving parameters for each printed layer.
Gets the number of records in the layer table for the first level set. In ctb files, that’s equivalent to the total number of records, but records may be multiplied in antialiased cbddlp files.
Gets the file offsets of ImageHeader records describing the smaller preview images.
Gets the estimated duration of print, in seconds.
Gets the records whether this file was generated assuming normal (0) or mirrored (1) image projection. LCD printers are "mirrored" for this purpose.
Gets the number of times each layer image is repeated in the file.
This is used to implement antialiasing in cbddlp files. When greater than 1,
the layer table will actually contain layer_table_count * level_set_count entries.
See the section on antialiasing for details.
Gets the PWM duty cycle for the UV illumination source on normal levels, respectively.
This appears to be an 8-bit quantity where 0xFF is fully on and 0x00 is fully off.
Gets the PWM duty cycle for the UV illumination source on bottom levels, respectively.
This appears to be an 8-bit quantity where 0xFF is fully on and 0x00 is fully off.
Gets the height of the model described by this file, in millimeters.
Gets dimensions of the printer’s X output volume, in millimeters.
Gets dimensions of the printer’s Y output volume, in millimeters.
Gets dimensions of the printer’s Z output volume, in millimeters.
Gets the key used to encrypt layer data, or 0 if encryption is not used.
Gets the light off time setting used at slicing, for bottom layers, in seconds. Actual time used by the machine is in the layer table. Note that light_off_time_s appears in both the file header and ExtConfig.
Gets the light off time setting used at slicing, for normal layers, in seconds. Actual time used by the machine is in the layer table. Note that light_off_time_s appears in both the file header and ExtConfig.
Gets number of layers configured as "bottom." Note that this field appears in both the file header and ExtConfig.
Gets the distance to lift the build platform away from the vat after bottom layers, in millimeters.
Gets the speed at which to lift the build platform away from the vat after bottom layers, in millimeters per minute.
Gets the distance to lift the build platform away from the vat after normal layers, in millimeters.
Gets the speed at which to lift the build platform away from the vat after normal layers, in millimeters per minute.
Gets the speed to use when the build platform re-approaches the vat after lift, in millimeters per minute.
Gets the estimated required resin, measured in milliliters. The volume number is derived from the model.
Gets the estimated grams, derived from volume using configured factors for density.
Gets the estimated cost based on currency unit the user had configured. Derived from volume using configured factors for density and cost.
Gets the machine name offset to a string naming the machine type, and its length in bytes.
Gets the machine size in bytes
Gets the machine name. string is not nul-terminated.
The character encoding is currently unknown — all observed files in the wild use 7-bit ASCII characters only.
Note that the machine type here is set in the software profile, and is not the name the user assigned to the machine.
Gets the parameter used to control encryption.
Not totally understood. 0 for cbddlp files, 0xF for ctb files, 0x1c (28) for phz
Gets the minutes since Jan 1, 1970 UTC
The files contain two preview images.
These are shown on the printer display when choosing which file to print, sparing the poor printer from needing to render a 3D image from scratch.
Gets the X dimension of the preview image, in pixels.
Gets the Y dimension of the preview image, in pixels.
Gets the image offset of the encoded data blob.
Gets the image length in bytes.
Gets the build platform Z position for this layer, measured in millimeters.
Gets the exposure time for this layer, in seconds.
Gets how long to keep the light off after exposing this layer, in seconds.
Gets the layer image offset to encoded layer data, and its length in bytes.
Gets the layer image length in bytes.
ms
s
mm/s
mm/m
cm/m
Show image at start of each layer block commands
Show image just before exposing / turning LED ON
Converts seconds to current gcode norm
Converts speed in mm/min to current gcode norm
Millimeters per minute
Converts time from current gcode norm in to s
Time in
Converts speed from current gcode norm in to mm/min
Speed in
Gets or sets if this command is enabled
Gets or sets the command name
Gets or sets the arguments for this command
Gets or sets the comment
Set gathered data to the layer
Gets the index of this aperture
Gets the aperture name
Do not omit zeros
Omit left zeros
Omit right zeros
https://www.ucamco.com/files/downloads/file_en/456/gerber-layer-format-specification-revision-2022-02_en.pdf?ac97011bf6bce9aaf0b1aac43d84b05f
Gets or sets the X offset for drawings in millimeters
Gets or sets the Y offset for drawings in millimeters
Gets the current polarity as . will affect the return value
Gets or sets to inverse the polarity on drawing
Gets or sets the scale to apply to each shape drawing size.
Positions and vectors aren't affected by this.
Gets the macro name
A vector line is a rectangle defined by its line width, start and end points. The line ends are rectangular.
Exposure off/on (0/1)
1
Width ≥ 0
2
Height ≥ 0
3
Center point X coordinate
4
Center point Y coordinate
5
Rotation angle, in degrees counterclockwise, a decimal.
The primitive is rotated around the origin of the macro definition, i.e. the (0, 0) point of macro coordinates.
6
A circle primitive is defined by its center point and diameter.
Exposure off/on (0/1)
1
Diameter ≥ 0
2
Center X coordinate.
3
Center Y coordinate.
4
Rotation angle, in degrees counterclockwise, a decimal.
The primitive is rotated around the origin of the macro definition, i.e. the (0, 0) point of macro coordinates.
5
The comment primitive has no effect on the image but adds human-readable comments in an AM command.
The comment primitive starts with the ‘0’ code followed by a space and then a single-line text string.
The text string follows the syntax for strings in section 3.4.3.
The comment
1
An outline primitive is an area defined by its outline or contour.
The outline is a polygon, consisting of linear segments only, defined by its start vertex and n subsequent vertices.
The outline must be closed, i.e. the last vertex must be equal to the start vertex.
The outline must comply with all the requirements of a contour according to 4.10.3.
Exposure off/on (0/1)
1
The number of vertices of the outline = the number of coordinate pairs minus one. An integer ≥3.
2
subsequent X and Y coordinates.
The X and Y coordinates are not modal: both X and Y must be specified for all points.
2+n
Rotation angle, in degrees counterclockwise, a decimal.
The primitive is rotated around the origin of the macro definition, i.e. the (0, 0) point of macro coordinates.
A polygon primitive is a regular polygon defined by the number of vertices n, the center point and the diameter of the circumscribed circle.
Exposure off/on (0/1)
1
Diameter ≥ 0
2
Center X coordinate.
3
Center Y coordinate.
4
Diameter ≥ 0
5
Rotation angle, in degrees counterclockwise, a decimal.
The primitive is rotated around the origin of the macro definition, i.e. the (0, 0) point of macro coordinates.
6
A vector line is a rectangle defined by its line width, start and end points. The line ends are rectangular.
Exposure off/on (0/1)
1
Width of the line ≥ 0
2
Start point X coordinate
3
Start point Y coordinate
4
End point X coordinate
5
Start point Y coordinate
6
Rotation angle, in degrees counterclockwise, a decimal.
The primitive is rotated around the origin of the macro definition, i.e. the (0, 0) point of macro coordinates.
7
A helper class with utilities
Gets the instance
Gets the issue type associated
Gets the layer where this issue is present
Gets the layer index
Gets the bounding rectangle of the area
Gets the number of pixels
Gets the area of the issue
Gets the points contours of the issue
Gets the points containing the coordinates of the issue
Represent a Layer
Gets or sets the parent SlicerFile
Image resolution X
Image resolution Y
Image resolution
Gets the number of non zero pixels on this layer image
Gets the ratio between non zero pixels and display number of pixels
Gets the percentage of non zero pixels relative to the display number of pixels
Gets if this layer is empty/all black pixels
Gets if this layer is a dummy layer to bypass a firmware constrain, that is contain at most one pixel and exposure time no more than 0.01s
Gets the layer area (XY) in mm^2
Pixel size * number of pixels
Gets the layer volume (XYZ) in mm^3
Pixel size * number of pixels * layer height
Gets the bounding rectangle for the image area
Gets the bounding rectangle for the image area in millimeters
Gets the first pixel index on the
Gets the last pixel index on the
Gets the first pixel on the
Gets the last pixel on the
Gets the first pixel index on this layer
Gets the last pixel index on this layer
Gets the first pixel on this layer
Gets the last pixel on this layer
Gets if is the first layer
Gets if layer is between first and last layer, aka, not first nor last layer
Gets if is the last layer
Gets if is in the bottom layer group
Gets if is in the bottom layer group by count and height
Gets if is in the normal layer group
Gets if this layer is also an transition layer
Gets the previous layer, returns null if no previous layer
Gets the previous layer if available, otherwise return the calling layer itself
Gets the previous layer with a different height from the current, returns null if no previous layer
Gets the previous layer matching at least pixels, returns null if no previous layer
Gets the next layer, returns null if no next layer
Gets the next layer if available, otherwise return the calling layer itself
Gets the next layer with a different height from the current, returns null if no next layer
Gets the next layer matching at least pixels, returns null if no next layer
Gets the layer index
Gets the layer number, 1 started
Gets or sets the absolute layer position on Z in mm
Gets the relative layer position on Z in mm (Relative to the previous layer)
Gets or sets the wait time in seconds before cure the layer
AKA: Light-off delay
Chitubox: Rest time after retract
Lychee: Wait before print
Gets or sets the exposure time in seconds
Gets or sets the wait time in seconds after cure the layer
Chitubox: Rest time before lift
Lychee: Wait after print
Gets or sets the layer off time in seconds
Gets: Total lift height (lift1 + lift2)
Sets: Lift1 with value and lift2 with 0
Gets or sets the lift height in mm
Gets or sets the speed in mm/min
Gets or sets the lift height in mm
Gets or sets the speed in mm/min
Gets: Total retract height (retract1 + retract2) alias of
Gets the retract height in mm
Gets the speed in mm/min for the retracts
Gets or sets the second retract height in mm
Gets the speed in mm/min for the retracts
Gets or sets the pwm value from 0 to 255
Gets the minimum used speed in mm/min
Gets the maximum used speed in mm/min
Gets if this layer can be exposed to UV light
Gets if this layer should be exposed to UV light, ie: if layer is empty or no exposure time then it useless to expose it
Gets the layer height in millimeters of this layer
Gets the computed material milliliters spent on this layer
Gets the computed material milliliters percentage compared to the rest of the model
Gets or sets the compression method used to cache the image
Gets or sets layer image compressed data
True if this layer have an valid initialized image, otherwise false
Gets or sets a new image instance
Gets the layer mat with roi of it bounding rectangle
Gets the layer mat with roi of model bounding rectangle
Gets the layer mat with a specified roi
Region of interest
Gets the layer mat with bounding rectangle mat
Margin from bounding rectangle
Gets the layer mat with bounding rectangle mat
X margin from bounding rectangle
Y margin from bounding rectangle
Gets the layer mat with bounding rectangle mat
Margin from bounding rectangle
Gets a new Brg image instance
Gets a computed layer filename, padding zeros are equal to layer count digits
Gets if layer image has been modified
Gets if this layer have same value parameters as global settings
True if this layer is using TSMC values, otherwise false
Gets tree contours cache for this layer, however should call
GetContours
instead with instance.
If not set it will calculate contours first
Gets tree contours cache for this layer. If not set it will calculate contours first
Gets tree contours cache for this layer. If not set it will calculate contours first
Reset all parameters to the default values from the global parameters
Gets the layer area (XY) in mm^2
Pixel size * number of pixels
Gets the layer area (XY) in mm^2
Pixel size * number of pixels
Gets the layer volume (XYZ) in mm^3
Pixel size * number of pixels * layer height
Gets the layer volume (XYZ) in mm^3
Pixel size * number of pixels * layer height
Gets the wait time before cure, if not available calculate it from light off delay
Attempt to set wait time before cure if supported, otherwise fallback to light-off delay
The time to set
When true and time is zero, it will calculate light-off delay without extra time, otherwise false to set light-off delay to 0 when time is 0
Zero all 'wait times / delays' for this layer
Copy all parameters from this layer to an target layer
Copy all exposure parameters from this layer to an target layer
Copy all wait parameters from this layer to an target layer
Copy all lift parameters from this layer to an target layer
Copy the image and related parameters from this layer to an target layer
Gets the bounding rectangle that is the union of a collection of layers
Layer collection
Gets or sets if the detection is enabled
Gets or sets a list of layers to check for islands, absent layers will not be checked.
Set to null to check every layer
Combines the island and overhang detections for a better more realistic detection and to discard false-positives. (Slower)
If enabled, and when a island is found, it will check for overhangs on that same island, if no overhang found then the island will be discarded and considered safe, otherwise it will flag as an island issue.
Note: Overhangs settings will be used to configure the detection. Enabling Overhangs is not required for this procedure to work.
Gets the setting for whether or not diagonal bonds are considered when evaluation islands.
If true, all 8 neighbors of a pixel (including diagonals) will be considered when finding
individual components on the layer, if false only 4 neighbors (right, left, above, below)
will be considered..
Gets or sets the binary threshold, all pixels below this value will turn in black, otherwise white
Set to 0 to disable this operation
Gets the required pixel area to consider process a island (0-65535)
Gets the required brightness for check a pixel under a island (0-255)
Gets the required number of pixels to support a island and discard it as a issue (0-255)
Gets the required multiplier from the island pixels to support same island and discard it as a issue
Gets the required brightness of supporting pixels to count as a valid support (0-255)
Overhang configuration
Gets or sets a list of layers to check for overhangs, absent layers will not be checked.
Set to null to check every layer
Gets or sets if should take in consideration the islands, if yes a island can't be a overhang at same time, otherwise islands and overhangs can be shared
After compute overhangs, masses with a number of pixels bellow this number will be discarded (Not a overhang)
Previous layer will be subtracted from current layer, after will erode by this value.
The survived pixels are potential overhangs.
Gets or sets the starting layer index for the detection which will also be considered a drain layer.
Use this setting to bypass complicated rafts by selected the model first real layer.
Gets or sets the binary threshold, all pixels below this value will turn in black, otherwise white
Set to 0 to disable this operation
Gets the required area size (x*y) to consider process a hollow area (0-255)
Gets the number of black pixels required to consider a drain
Gets the maximum pixel brightness to be a drain pixel (0-150)
Gets if suction cups can also be detected together with resin traps
Required minimum area to be considered a suction cup
Required minimum height (in mm) to be considered a suction cup
Gets the minimum pixel brightness to be a touching bound
Gets or sets the margin in pixels from left edge to check for touching white pixels
Gets or sets the margin in pixels from top to check for touching white pixels
Gets or sets the margin in pixels from right edge to check for touching white pixels
Gets or sets the margin in pixels from bottom edge to check for touching white pixels
Get the offset from top to sum to printer max Z height
Gets or sets to ignore the starting empty layers.
True to ignore starting empty layers, otherwise false.
Gets or sets to ignore the loose empty layers that are not on start nor in end.
True to ignore loose empty layers, otherwise false.
Gets or sets to ignore the ending empty layers.
True to ignore ending empty layers, otherwise false.
Gets the issue type associated
Gets the layer where issue is present and starts
Gets the layer where issue ends
Gets the layer index
Gets the layer index
Gets the number of layers in this range
Gets the total height that represents this issue
Gets the bounding rectangle of the area
Gets the area of the issue
Gets the area of the issue
Gets the area character, either ² or ³
Gets all issues inside this main issue
Gets the LayerCount for this clip
Gets the LayerHeight for this clip
Gets the Resolution for this clip
Gets the description of this operation
Gets the index of current item
Clears the manager
Clears and init clipboard
Snapshot layers and prepare manager to collect modified layers with
Clip
Collect differences and create a clip
Collect differences and create a clip
Gets the visible aka not ignored
Clears and dispose all the cache
Gets the slicer file
Gets or sets the cache count of items to keep in memory
Gets the number of cached elements per a cache entry
Gets the starting layer index range
Gets the ending layer index range
Gets the size of this collection
Gets the image rotation to cache
Gets the image flip to cache
Gets if striping anti-aliasing is enabled, cache will be threshold'ed
Gets or sets the cache direction, false to go backwards, true to go forward
If enabled it will not calculate the cache index given a layer index, set this to true to use your own indexing without pair them with layers
Gets or sets the auto dispose mode, it will dispose all mat's below of above passed index
Gets or sets the amount of last mats to keep cached when is enabled
Gets the cache mat array
Gets or sets the action to trigger after cache the initial
Gets the cache index from a layer index, required when layer range is not 0 started
Gets the layer index from the cache index, required when layer range is not 0 started
Gets all cached mat's given an index
Consume and dispose the cached Mats for given layer index
Clears and dispose the cache but keep the selected index and optionally the last n indexes
Clears and dispose all the cache
Instance of (singleton)
Gets the total number of bottles in stock
Gets the total number of bottles ever owned
Gets the total of consumed volume in milliliters
Gets the total of consumed volume in liters
Gets the total volume in stock in milliliters
Gets the total volume in stock in liters
Gets the total costs
Gets the total print time in hours
Gets the total print time
Load settings from file
Save settings to file
Gets the standard message box for this session which will trigger a message with pre-defined buttons.
If using console it will prompt there as text, otherwise if in UI will use dialogs.
Gets the file format for this mesh
Gets the from model export
Gets the file path of the stream
Gets the file name with extension from
Gets the current file stream
Gets the number of vertexes, this is often triangle count * 3
Gets the number of triangles
Call once before write content to the file, use this to build up the header if any
Writes an triangle to the file
Call once before close the file, use this to build up the footer if any
Gets or sets if this device is enabled
Gets or sets the full path for the location
Gets or sets the path name alias
Gets or sets the compatible extensions with this device.
Empty or null to be compatible with everything
Gets or sets the alias name for this printer.
Not used on requests
Gets or sets the host/ip for the requests
Gets or sets the host port for the requests.
Use 0 to not use a port
Gets or sets the compatible extensions with this device.
Empty or null to be compatible with everything
Gets if this host is valid
Gets or sets this request type
Gets or sets this request method
Gets or sets the request path, eg: print/file/{0}
Gets the path with formatted arguments
Implementation of to simplify models.
Multicast event for property change notifications.
Notifies listeners that a property value has changed.
Name of the property used to notify listeners. This
value is optional and can be provided automatically when invoked from compilers
that support .
Gets or sets the layer height in millimeters
Gets or sets the bottom exposure in seconds
Gets or sets the bottom exposure in seconds
Gets or sets the brightness level
Gets or sets the file path
Gets the file name with extension
Gets the file name without extension
Gets the file extension. The returned value includes the period (".")
Gets if the file exists
Gets an instance on the
Checks if the ends with
Extension name
True if found, otherwise false
Gets or sets if this device is enabled
Gets or sets the full path for the application
Gets or sets the path name alias
Gets or sets the arguments for the application
Gets or sets the compatible extensions with this device.
Empty or null to be compatible with everything
Represents a material to feed in the printer
Gets or sets the bottle volume in milliliters
Gets or sets the bottle weight in grams
Gets or sets the material density in g/ml
Gets or sets the bottle cost
Gets or sets the number of bottles in stock
Gets or sets the current bottle remaining material in milliliters
Gets the total available volume in stock in milliliters
Gets the number of consumed bottles
Gets the total number of owned bottles
Gets or sets the total number of consumed volume in milliliters
Gets total number of consumed volume in liters
Gets or sets the total print time using with material in hours
Gets the cost for a given volume
Volume in ml
Gets the grams for a given volume
Volume in ml
Consume material from current bottle and manage stock
Volume to consume in milliliters
Time in seconds it took to print
True if still have bottles in stock, otherwise false
Add print time with this material
Seconds to add
A string that always end with 0x00 if not null
It contains the string length as uint
A string that always end with 0x00 if not null
It contains the string length as uint
Gets or sets from where this option got loaded/imported
Gets or sets the parent
Gets the bounding rectangle of the model, preserved from any change during and after execution
Gets or sets any object which is not used internally
Gets the ID name of this operation, this comes from class name with "Operation" removed
Gets the starting layer selection
Gets the last used layer range selection, returns none if custom
Gets a string representing the layer range, used with profiles
Gets if the LayerIndexEnd selector is enabled
Gets if this operation should set layer range to the actual layer index on layer preview
Gets if this operation can run in a file open as partial mode
Gets if this operation can make use of ROI
Gets if this operation can make use maskable areas
Gets if this operation can store profiles
Gets if this operation supports cancellation
Gets the icon class to show on the UI
Gets the title of this operation
Gets a descriptive text of this operation
Gets the Ok button text
Gets the confirmation text for the operation
Gets the progress window title
Gets the progress action name
Gets if this operation have a action text
Gets the start layer index where operation will starts in
Gets the end layer index where operation will ends in
Gets if any bottom layer is included in the selected layer range
Gets if any normal layer is included in the selected layer range
Gets the number of selected layers
Gets the name for this profile
Gets if this profile is the default to load
Gets or sets an ROI to process this operation
Gets if there is an ROI associated
Gets or sets an Mask to process this operation
Gets if there is masks associated
Gets if there is roi or masks associated
Gets if this operation have been executed once
Gets if this operation have validated at least once
Gets or sets an report to show to the user after complete the operation with success
Gets if the operation can spawn
Gets if this operation can spawn under the
Gets if this operation can spawn under the
Validates the operation, return null or empty if validates
Validates the operation
null or empty if validates, otherwise return a string with error message
Gets if the operation is able to execute
Selects all layers from first to last layer
Selects one layer
Layer index to select
Selects all bottom layers
Selects all normal layers
Select the first layer (0)
Select the last layer
Selects from first to a layer index
To layer index to select
Selects from a layer index to the last layer
From layer index to select
Selects layer given a range type
Called to init the object when changes
Clears the ROI and set to empty
Clear and
Set only if not set already
ROI to set
Gets the size, but if empty returns the file resolution size instead
Gets the size, but if empty returns size instead
Gets the size, but if empty returns the size from instead
Gets the size, but if empty returns the instead
Gets the size, but if empty returns the model volume bounds size instead
Gets the size, but if empty returns the instead
Gets a cropped shared from by the , but if empty return the instead
Gets a cropped shared from by the , but if empty crop by
Gets a cropped shared by the , but if empty crop by
Gets the , but if empty returns
Clears all masks
Sets masks only if they are empty
Returns a mask given
Apply a mask to a mat
Original untouched mat
Mat to modify and apply the mask
Mask
Gets a mask and apply it
Original unmodified image
Result image which will also be modified
Execute the operation internally, to be override by class
Execute the operation
Execute the operation on a given
Get the selected layer range in a new array, array index will not match layer index when a range is selected
Copy this operation base configuration to another operation.
Layer range, ROI, Masks
Serialize class to XML file
Clone object
Deserialize from a XML file
XML file path
Deserialize from a XML file
XML file path
Deserialize from a XML file
XML file path
Gets the layers
Gets the bottom and normal layers, 0 = bottom | 1 = normal
Gets all holes in pixels and ordered
Gets all holes in pixels and ordered
Gets all holes in pixels and ordered
Gets all holes in pixels and ordered
Gets the bottom and normal layers, 0 = bottom | 1 = normal
Gets the bottom and normal layers, 0 = bottom | 1 = normal
Gets the exposure table into a dictionary where key is the layer height
Gets or sets if parameters are global or per layer inside a layer range
Gets or sets the number of sequential layers to set the parameters
Gets or sets the number of sequential layers to skip after set a layer
Number of times this file has been printed
Gets or sets if cloned layers will keep same position z or get the height rebuilt
Gets or sets the number of clones
Get the cached dim mat's
Loads mask from a image file
Fills the plate with maximum cols and rows
Gets or sets to invert the polarity when drawing
Gets or sets the scale to apply to each shape drawing size.
Positions and vectors aren't affected by this.
Use the alternate pattern every layers
Blocks the current thread until the current WaitHandle receives a signal.
true if the current instance receives a signal. If the current instance is never signaled, WaitOne() never returns.
Blocks or cancels the current thread until the current WaitHandle receives a signal.
Gets or sets if operation can be cancelled
Gets or sets the item name for the operation
Gets or sets the item name for the operation
Gets or sets the number of processed items
Gets or sets the total of item count on this operation
Detailed log to show below the progress bar
Gets or sets an tag
Gets the remaining items to be processed
Gets the progress from 0 to 100%
Gets or sets the Z position to raise to
Gets or sets the ensured wait time to stay still on the desired position.
This is useful if the printer firmware always move to top and you want to stay still on the set position for at least the desired time.
Note: The print time calculation will take this wait into consideration and display a longer print time.
True to output a dummy pixel on bounding rectangle position to avoid empty layer and blank image, otherwise set to false
IF true it will re-detect the selected issues before repair, otherwise uses and repair the previous detected issues
Gets the minimum required area to solidify it
Sets or gets the Z position to raise to
True to output a dummy pixel on bounding rectangle position to avoid empty layer and blank image, otherwise set to false
Gets or sets the alternating height in millimeters to raise when, it will raise only at each defined millimeters and skip the same next millimeters
Gets or sets the alternating layer count to raise when, it will raise only at each defined layers and skip the same next layers
Gets the total number of additional lifts
Gets or sets if last layer must be ensured in the sequence,
If true, it will generate an obligatory additional layer to cover the last layer
Gets or sets the index number to show on GUI
Gets the
Gets the layer index
Gets the location of the operation
Gets the for the draw operation
Gets the total size of the operation
Gets or sets the pixels per mm on X direction
Gets or sets the pixels per mm on Y direction
Gets or sets the pixels per mm
Gets the maximum (Width or Height) pixels per mm
Gets the pixel width in millimeters
Gets the pixel height in millimeters
Gets the pixel size in millimeters
Gets the maximum pixel between width and height in millimeters
Gets the pixel area in millimeters
Gets the pixel width in microns
Gets the pixel height in microns
Gets the pixel size in microns
Gets the maximum pixel between width and height in microns
Gets the pixel area in millimeters
Preset list of machines
Gets all machines from PrusaSlicer profiles
Utility methods over a printer screen
Gets the pixel size in mm
Resolution in pixels
Display size in mm
Pixel size in mm
Gets the pixel size in microns
Resolution in pixels
Display size in mm
Pixel size in microns
Gets the pixel size in mm
Resolution in pixels
Display size in mm
Pixel size in mm
Gets the pixel size in microns
Resolution in pixels
Display size in mm
Pixel size in microns
Gets the input label
Gets the hover tooltip for this input
Gets the value representative unit name
Gets or sets the value for this input
Gets or sets the script name
Gets or sets the script description of what it does
Gets or sets the script author name
Gets or sets the script version
Gets or sets the minimum version able to run this script
Scripts were introduced on v2.8
List of user inputs to show on GUI for configuration of the script
Gets or sets the title for the dialog
Gets or sets the default directory to open the dialog in
Gets or sets the initial filename to be on the dialog
Gets or sets the file filters on the dropdown list
Gets the loaded slicer file
Gets the progress operation for loading bar
Gets the current operation holding the layer range, mask, roi, etc
Gets the script configuration
Gets the minimum for this input
Gets the minimum for this input
Gets the increment value for this
Gets the number of decimal plates to round the value
Gets or sets if allow multiple file selection
Gets or sets the selected files
Gets the title for the dialog
Parse the script and clean forbidden keywords
Text to parse
The parsed text
Gets or sets the default extension for the dialog
Gets if this input accepts multi lines
Gets or sets the text when the switch is turned off
Gets or sets the text when the switch is turned on
Gets the size of resolution
Gets the size of display
Gets the pixels per millimeters
Gets or sets the
Gets or sets if this suggestion is enabled
Gets or sets if this suggestion can be auto applied once file load
Gets or sets when to apply the suggestion
Gets if this suggestion is informative only and contain no actions to execute
Gets if this suggestion is available given the
Gets if this suggestion is already applied given the
Gets the title for this suggestion
Gets the message for this suggestion
Gets the tooltip message
Gets the confirmation message before apply the suggestion
Validates the settings and return a string message if got any error
Executes and applies the suggestion
Executes and applies the suggestion
Executes only if this suggestion is marked with as true
Linux specific methods
Gets if is running under Linux and under AppImage format
Gets if is running under Linux and under AppImage format and return the full root path for the running AppImage
Gets the full root path for the running AppImage. Returns null is not Linux and null/empty if not an AppImage
The return path is the source file location and not the execution path location.
Gets the name of the running *.app. Returns null or empty if not running an macOS .app. Returns null or empty if not an AppImage
MacOS specific methods
Gets if is running under MacOS and under .app format
Gets if is running under macOS and under .app format and return the full root path for the running .app
Gets the full root path for the running .app. Returns null or empty if not running an macOS .app
Gets the name of the running .app. Returns null or empty if not running an macOS .app
Gets if is running under Linux and under AppImage format
Gets if is running under MacOS and under *.app format
Gets the main name of the operative system
Gets the main name of the operative system with architecture
Get the USB handler
This should be the drive letter. Format: F:/, C:/..
Eject an USB drive
This should be the drive letter. Format: F:/, C:/..
Default filepath for store
Gets all suggestions
Instance (singleton)
Reset to defaults
True to save settings on file, otherwise false
Load settings from file
Save settings to file
Implementation of a dynamic data collection based on generic Collection<T>,
implementing INotifyCollectionChanged to notify listeners
when items get added, removed or the whole list is refreshed.
Initializes a new instance of ObservableCollection that is empty and has default initial capacity.
Initializes a new instance of the ObservableCollection class that contains
elements copied from the specified collection and has sufficient capacity
to accommodate the number of elements copied.
The collection whose elements are copied to the new list.
The elements are copied onto the ObservableCollection in the
same order they are read by the enumerator of the collection.
collection is a null reference
Initializes a new instance of the ObservableCollection class
that contains elements copied from the specified list
The list whose elements are copied to the new list.
The elements are copied onto the ObservableCollection in the
same order they are read by the enumerator of the list.
list is a null reference
Gets or sets a value indicating whether this collection acts as a ,
disallowing duplicate items, based on .
This might indeed consume background performance, but in the other hand,
it will pay off in UI performance as less required UI updates are required.
Clear the list and set a collection in place
The collection whose elements should be added to the end of the .
The collection itself cannot be null, but it can contain elements that are null, if type T is a reference type.
is null.
Adds the elements of the specified collection to the end of the .
The collection whose elements should be added to the end of the .
The collection itself cannot be null, but it can contain elements that are null, if type T is a reference type.
is null.
Inserts the elements of a collection into the at the specified index.
The zero-based index at which the new elements should be inserted.
The collection whose elements should be inserted into the List{T}.
The collection itself cannot be null, but it can contain elements that are null, if type T is a reference type.
is null.
is not in the collection range.
Removes the first occurence of each item in the specified collection from the .
The items to remove.
is null.
Iterates over the collection and removes all items that satisfy the specified match.
The complexity is O(n).
Returns the number of elements that where
is null.
Iterates over the specified range within the collection and removes all items that satisfy the specified match.
The complexity is O(n).
The index of where to start performing the search.
The number of items to iterate on.
Returns the number of elements that where
is out of range.
is out of range.
is null.
Removes a range of elements from the >.
The zero-based starting index of the range of elements to remove.
The number of elements to remove.
The specified range is exceeding the collection.
Clears the current collection and replaces it with the specified collection,
using .
The items to fill the collection with, after clearing it.
is null.
Removes the specified range and inserts the specified collection in its position, leaving equal items in equal positions intact.
The index of where to start the replacement.
The number of items to be replaced.
The collection to insert in that location.
is out of range.
is out of range.
is null.
Called by base class Collection<T> when the list is being cleared;
raises a CollectionChanged event to any listeners.
Raise CollectionChanged event to any listeners.
Properties/methods modifying this ObservableCollection will raise
a collection changed event through this virtual method.
When overriding this method, either call its base implementation
Helper to raise Count property and the Indexer property.
/// Helper to raise a PropertyChanged event for the Indexer property
///
Helper to raise CollectionChanged event to any listeners
Helper to raise CollectionChanged event with action == Reset to any listeners
Helper to raise event for clustered action and clear cluster.
The index of the item following the replacement block.
To be kept outside , since otherwise, a new instance will be created for each generic type used.