BuildStyle

class pyslm.geometry.BuildStyle

Bases: object

A BuildStyle represents a collection of laser parameters used for scanning across a single LayerGeometry. This consists of essential laser parameters including

A unique buildstyle id (bid) must be set within each Model group that it is stored in and later assigned for each LayerGeometry group. Additional, metadata can be set that for some Machine Build File formats are used such as name and description. For single and multi-laser systems, :attr:` laserId` corresponds with the parameter set associated with the laser. This offers opportunity to tailor the behavior of multiple beams applied to the same area such as providing a pre-heating or annealing exposure pass.

Note

For single laser systems the laserId is set to 1

Attributes Summary

bid

A unique id used for each BuildStyle object within each Model that can be referenced by a LayerGeometry

description

The description of the BuildStyle.

jumpDelay

The jump delay between scan vectors (usually expressed as an integer [\(\mu s\)]).

jumpSpeed

The jump speed between scan vectors (usually expressed as an integer \(mm/s\)).

laserFocus

The laser focus position used, typically given as increment position

laserId

The ID of the laser beam used for the exposure.

laserMode

Determines the laser mode to use via LaserMode which is either continuous wave (CW) or pulsed (Pulsed) laser operation

laserPower

The average laser power of the exposure point

laserSpeed

The laser speed typically expresses as :math:`mm/s.

name

The name of the BuildStyle

pointDelay

The delay added between individual point exposure (usually expressed as an integer [\(\mu s]\)).

pointDistance

The point exposure distance (usually expressed as an integer \(\mu m\)).

pointExposureTime

The point exposure time (usually expressed as an integer \(\mu s\)).

Methods Summary

setStyle(bid, focus, power, …[, …])

Attributes Documentation

bid

A unique id used for each BuildStyle object within each Model that can be referenced by a LayerGeometry

Return type:

int

description

The description of the BuildStyle. This is usually not export by most machine build file formats but is useful to assign to help differentiate each build-style.

Return type:

str

jumpDelay

The jump delay between scan vectors (usually expressed as an integer [\(\mu s\)]). This must be set to zero (default) if it is not explicitly used.

Return type:

int

jumpSpeed

The jump speed between scan vectors (usually expressed as an integer \(mm/s\)). This must be set to zero (default) if it is not explicitly used.

Return type:

int

laserFocus

The laser focus position used, typically given as increment position

Return type:

float

laserId

The ID of the laser beam used for the exposure. Typically set to 1 for single laser systems

Return type:

int

laserMode

Determines the laser mode to use via LaserMode which is either continuous wave (CW) or pulsed (Pulsed) laser operation

Return type:

int

laserPower

The average laser power of the exposure point

Return type:

float

laserSpeed

The laser speed typically expresses as :math:`mm/s.

Note

For pulsed laser mode systems this is typically ignored.

Return type:

float

name

The name of the BuildStyle

Return type:

str

pointDelay

The delay added between individual point exposure (usually expressed as an integer [\(\mu s]\)). This must be set to zero (default) if it is not explicitly used.

Return type:

int

pointDistance

The point exposure distance (usually expressed as an integer \(\mu m\)).

Return type:

int

pointExposureTime

The point exposure time (usually expressed as an integer \(\mu s\)).

Return type:

int

Methods Documentation

setStyle(bid, focus, power, pointExposureTime, pointExposureDistance, laserSpeed=0.0, laserId=1, laserMode=1, name='', description='')