volmdlr_tools.features.feature_types.sheet_metal package#

Sheet metal feature types for representing various sheet metal manufacturing features.

Submodules#

volmdlr_tools.features.feature_types.sheet_metal.bends module#

Sheet metal bend feature module.

class volmdlr_tools.features.feature_types.sheet_metal.bends.Bend(obj: TopoDS_Shape, nodes: list[int], name: str = '')#

Bases: Feature

Bend feature type.

A bend is a sheet metal feature consisting of two fan-shaped faces forming a simple bend angle. According to Yang Yang et al., bends are identified by the binary pattern [0, 1] in the characteristic matrix.

category: FeatureCategory = 'forming'#
class volmdlr_tools.features.feature_types.sheet_metal.bends.Curl(obj: TopoDS_Shape, nodes: list[int], name: str = '')#

Bases: Bend

Curl feature type.

class volmdlr_tools.features.feature_types.sheet_metal.bends.Hem(obj: TopoDS_Shape, nodes: list[int], name: str = '')#

Bases: Bend

Hem feature type.

volmdlr_tools.features.feature_types.sheet_metal.corners module#

Sheet metal corner feature module.

class volmdlr_tools.features.feature_types.sheet_metal.corners.Corner(obj: TopoDS_Shape, nodes: list[int], name: str = '')#

Bases: Feature

Corner feature type.

A corner is a sheet metal feature consisting of a single face where both adjacent solid angles are convex and fall within the range (90°, 180°). According to Yang Yang et al., corners are identified using the convexity method.

category: FeatureCategory = 'cut'#

volmdlr_tools.features.feature_types.sheet_metal.jogs module#

Sheet metal jog feature module.

class volmdlr_tools.features.feature_types.sheet_metal.jogs.Jog(obj: TopoDS_Shape, nodes: list[int], name: str = '')#

Bases: Feature

Jog feature type.

A jog (also called offset) is a sheet metal feature consisting of four fan-shaped faces forming two parallel bends with an offset section between them. According to Yang Yang et al., jogs are identified by the binary pattern [0, 0, 1, 1] in the characteristic matrix.

category: FeatureCategory = 'forming'#

volmdlr_tools.features.feature_types.sheet_metal.notches module#

Sheet metal notch feature module.

class volmdlr_tools.features.feature_types.sheet_metal.notches.Notch(obj: TopoDS_Shape, nodes: list[int], name: str = '')#

Bases: Feature

Notch feature type.

A notch is a sheet metal feature consisting of consecutive faces connected by concave angles, with the sequence open at one end (typically at the edge of the part). According to Yang Yang et al., notches are identified using the concavity method, similar to slots but open-ended.

category: FeatureCategory = 'cut'#

volmdlr_tools.features.feature_types.sheet_metal.reliefs module#

Sheet metal corner relief feature module.

class volmdlr_tools.features.feature_types.sheet_metal.reliefs.CornerRelief(obj: TopoDS_Shape, nodes: list[int], name: str = '')#

Bases: Relief

Corner relief feature type.

A corner relief is a small sheet metal feature consisting of a few faces connected by concave angles, typically located at corners where bends meet. According to Yang Yang et al., corner reliefs are identified using the concavity method and distinguished from slots/notches by their small size and location at bend intersections.

class volmdlr_tools.features.feature_types.sheet_metal.reliefs.Relief(obj: TopoDS_Shape, nodes: list[int], name: str = '')#

Bases: Feature

Corner relief feature type.

category: FeatureCategory = 'cut'#

volmdlr_tools.features.feature_types.sheet_metal.lances module#

Sheet metal lances module.

class volmdlr_tools.features.feature_types.sheet_metal.lances.Lance(obj: TopoDS_Shape, nodes: list[int], name: str = '')#

Bases: Feature

Lance feature type.

volmdlr_tools.features.feature_types.sheet_metal.louvres module#

Sheet metal louvre module.

class volmdlr_tools.features.feature_types.sheet_metal.louvres.Louvre(obj: TopoDS_Shape, nodes: list[int], name: str = '')#

Bases: Feature

Louvre feature type.

volmdlr_tools.features.feature_types.sheet_metal.deformations module#

Sheet metal emboss module.

class volmdlr_tools.features.feature_types.sheet_metal.deformations.Emboss(obj: TopoDS_Shape, nodes: list[int], name: str = '')#

Bases: Feature

Emboss feature type.

class volmdlr_tools.features.feature_types.sheet_metal.deformations.FlangedCutout(obj: TopoDS_Shape, nodes: list[int], name: str = '')#

Bases: Feature

Flanged cutout feature type representing an open deformation with a cutout in sheet metal.

volmdlr_tools.features.feature_types.sheet_metal.unknown module#

Unknown feature type for unclassified sheet metal features.

class volmdlr_tools.features.feature_types.sheet_metal.unknown.UnknownFeature(obj: TopoDS_Shape, nodes: list[int], name: str = '', confidence: float = 0.0)#

Bases: Feature

Unknown feature type for features that don’t match any classification rules.

This class is used when a thickness face chain or face set is extracted but doesn’t match any known feature patterns in the configuration files. It stores the extracted geometry and properties for manual review or future classification.

category: FeatureCategory = 'unknown'#

Module contents#

Sheet-metal features types module.

class volmdlr_tools.features.feature_types.sheet_metal.Bend(obj: TopoDS_Shape, nodes: list[int], name: str = '')#

Bases: Feature

Bend feature type.

A bend is a sheet metal feature consisting of two fan-shaped faces forming a simple bend angle. According to Yang Yang et al., bends are identified by the binary pattern [0, 1] in the characteristic matrix.

category: FeatureCategory = 'forming'#
class volmdlr_tools.features.feature_types.sheet_metal.Corner(obj: TopoDS_Shape, nodes: list[int], name: str = '')#

Bases: Feature

Corner feature type.

A corner is a sheet metal feature consisting of a single face where both adjacent solid angles are convex and fall within the range (90°, 180°). According to Yang Yang et al., corners are identified using the convexity method.

category: FeatureCategory = 'cut'#
class volmdlr_tools.features.feature_types.sheet_metal.CornerRelief(obj: TopoDS_Shape, nodes: list[int], name: str = '')#

Bases: Relief

Corner relief feature type.

A corner relief is a small sheet metal feature consisting of a few faces connected by concave angles, typically located at corners where bends meet. According to Yang Yang et al., corner reliefs are identified using the concavity method and distinguished from slots/notches by their small size and location at bend intersections.

class volmdlr_tools.features.feature_types.sheet_metal.Curl(obj: TopoDS_Shape, nodes: list[int], name: str = '')#

Bases: Bend

Curl feature type.

class volmdlr_tools.features.feature_types.sheet_metal.Emboss(obj: TopoDS_Shape, nodes: list[int], name: str = '')#

Bases: Feature

Emboss feature type.

class volmdlr_tools.features.feature_types.sheet_metal.FlangedCutout(obj: TopoDS_Shape, nodes: list[int], name: str = '')#

Bases: Feature

Flanged cutout feature type representing an open deformation with a cutout in sheet metal.

class volmdlr_tools.features.feature_types.sheet_metal.Hem(obj: TopoDS_Shape, nodes: list[int], name: str = '')#

Bases: Bend

Hem feature type.

class volmdlr_tools.features.feature_types.sheet_metal.Jog(obj: TopoDS_Shape, nodes: list[int], name: str = '')#

Bases: Feature

Jog feature type.

A jog (also called offset) is a sheet metal feature consisting of four fan-shaped faces forming two parallel bends with an offset section between them. According to Yang Yang et al., jogs are identified by the binary pattern [0, 0, 1, 1] in the characteristic matrix.

category: FeatureCategory = 'forming'#
class volmdlr_tools.features.feature_types.sheet_metal.Lance(obj: TopoDS_Shape, nodes: list[int], name: str = '')#

Bases: Feature

Lance feature type.

class volmdlr_tools.features.feature_types.sheet_metal.Louvre(obj: TopoDS_Shape, nodes: list[int], name: str = '')#

Bases: Feature

Louvre feature type.

class volmdlr_tools.features.feature_types.sheet_metal.Notch(obj: TopoDS_Shape, nodes: list[int], name: str = '')#

Bases: Feature

Notch feature type.

A notch is a sheet metal feature consisting of consecutive faces connected by concave angles, with the sequence open at one end (typically at the edge of the part). According to Yang Yang et al., notches are identified using the concavity method, similar to slots but open-ended.

category: FeatureCategory = 'cut'#
class volmdlr_tools.features.feature_types.sheet_metal.Relief(obj: TopoDS_Shape, nodes: list[int], name: str = '')#

Bases: Feature

Corner relief feature type.

category: FeatureCategory = 'cut'#
class volmdlr_tools.features.feature_types.sheet_metal.UnknownFeature(obj: TopoDS_Shape, nodes: list[int], name: str = '', confidence: float = 0.0)#

Bases: Feature

Unknown feature type for features that don’t match any classification rules.

This class is used when a thickness face chain or face set is extracted but doesn’t match any known feature patterns in the configuration files. It stores the extracted geometry and properties for manual review or future classification.

category: FeatureCategory = 'unknown'#