BaseSupportGenerator

class pyslm.support.BaseSupportGenerator

Bases: abc.ABC

The BaseSupportGeneration class provides common methods used for generating the support structures (SupportStructure) typically used in Additive Manufacturing.

This class provides the base methods used for identifying geometrical unsupported features such as vertices and edges within a part.

Attributes Summary

POINT_OVERHANG_TOLERANCE

The point overhang Tolerance is used for determining if adjacent connected vertices lies above, which indicates that this vertex requires a Point Support generating.

PYCLIPPER_SCALEFACTOR

The scaling factor used for polygon clipping and offsetting in PyClipper for the decimal component of each polygon coordinate.

Methods Summary

findOverhangEdges(part[, overhangAngle, …])

Identifies edges which requires additional support based on both an support surface and support edge angle.

findOverhangPoints(part)

Identifies vertices that require additional support based on their connectivity with adjacent vertices.

Attributes Documentation

POINT_OVERHANG_TOLERANCE = 0.05

The point overhang Tolerance is used for determining if adjacent connected vertices lies above, which indicates that this vertex requires a Point Support generating.

PYCLIPPER_SCALEFACTOR = 10000.0

The scaling factor used for polygon clipping and offsetting in PyClipper for the decimal component of each polygon coordinate. This should be set to inverse of the required decimal tolerance i.e. 0.01 requires a minimum scale factor of 1e2. Default is 1e4.

Methods Documentation

static findOverhangEdges(part, overhangAngle=45.0, edgeOverhangAngle=10.0)

Identifies edges which requires additional support based on both an support surface and support edge angle.

Parameters:
  • part (Part) – Part to be analysed

  • overhangAngle (Optional[float]) – The support surface overhang angle (degrees)

  • edgeOverhangAngle (Optional[float]) – The edge overhang angle (degrees)

Returns:

A list of edge tuples.

static findOverhangPoints(part)

Identifies vertices that require additional support based on their connectivity with adjacent vertices.

Parameters:

part (Part) – The part to locate un-support vertices

Return type:

ndarray

Returns:

Identified points that require additional support