BasicIslandHatcher¶
- class pyslm.hatching.BasicIslandHatcher¶
Bases:
HatcherThe class extends the standard
Hatcherbut generates a set of islands of fixed size (islandWidth) which covers a region. This a common scan strategy adopted across numerous L-PBF (SLM) systems. This scan strategy in particular is designed to have effect of limiting the maximum length of the scan whilst by orientating the scan vectors orthogonal to each other mitigating any preferential distortion or curling due to residual stress in a single direction and any effects to microstructure.The extension of the base class involves simply overriding the
generateHatching()method for creating an infill for the boundaries provided in the primary method withinHatcher.hatch(). The infill must cover the entire boundary. Other attribute and properties can be added to the class to provide further user definable behavior such as:Island Size (
islandWidth) - the length of each size of the square islandIsland Overlap (
islandOverlap) - the overlap between adjacent islands
Warning
This method is not optimal and is provided as a reference for the user to improve their own understanding and develop their own form island scan strategies. For optimal performance, it is recommended that the user should refer instead to
IslandHatcher.Attributes Summary
The island offset is the relative distance (hatch spacing) to move the scan vectors between adjacent islands.
The length of overlap between adjacent islands
The island width
Methods Summary
generateHatching(paths, hatchSpacing[, ...])Generates un-clipped hatches which is guaranteed to cover the entire polygon region base on the maximum extent of the polygon bounding box.
Attributes Documentation
- islandOffset¶
The island offset is the relative distance (hatch spacing) to move the scan vectors between adjacent islands.
- islandOverlap¶
The length of overlap between adjacent islands
- islandWidth¶
The island width
Methods Documentation
- generateHatching(paths, hatchSpacing, hatchAngle=90.0)¶
Generates un-clipped hatches which is guaranteed to cover the entire polygon region base on the maximum extent of the polygon bounding box.
- Parameters:
paths (
List[ndarray]) – The boundaries that the hatches should fill entirelyhatchSpacing (
float) – The hatch spacinghatchAngle (
float) – The hatch angle (degrees) to rotate the scan vectors
- Return type:
ndarray- Returns:
Returns the list of unclipped scan vectors covering the region