Skip to content

Chamfer Calculus

Class full path: NemAll_Python_Geometry.ChamferCalculus

Class for chamfer calculation between two objects

Functions

Calculate overload

Calculate(polyhedron, chamferWidth) staticmethod

Calculate chamfer on all edges of given Polyhedron3D

Parameters:

Name Type Description Default
polyhedron Polyhedron3D

polyhedron to chamfer

required
chamferWidth float

chamfer width

required

Returns:

Type Description
tuple

error code,

tuple

Resulting polyhedron

Calculate(polyhedron, edges, chamferWidth, propagation) staticmethod

Calculate chamfer on selected edges of given Polyhedron3D

Parameters:

Name Type Description Default
polyhedron Polyhedron3D

polyhedron to chamfer

required
edges VecSizeTList

edges to chamfer

required
chamferWidth float

chamfer width

required
propagation bool

flag for propagation of neighboring edges

required

Returns:

Type Description
tuple

error code,

tuple

Resulting polyhedron

Calculate(brep, chamferWidth) staticmethod

Calculate chamfer on all edges of given BRep3D

Parameters:

Name Type Description Default
brep BRep3D

BRep to chamfer

required
chamferWidth float

chamfer width

required

Returns:

Type Description
tuple

error code,

tuple

Resulting BRep

Calculate(brep, edges, chamferWidth, propagation) staticmethod

Calculate chamfer on selected edges of given BRep3D

Parameters:

Name Type Description Default
brep BRep3D

BRep to chamfer

required
edges VecSizeTList

edges to chamfer

required
chamferWidth float

chamfer width

required
propagation bool

flag for propagation of neighboring edges

required

Returns:

Type Description
tuple

error code,

tuple

Resulting BRep

CalculateApplicableChamfers overload

CalculateApplicableChamfers(line1, line2, intersectionPoint, chamferWidth) staticmethod

Calculates four applicable chamfer lines

Parameters:

Name Type Description Default
line1 Line2D

Geometry of first chamfered line

required
line2 Line2D

Geometry of second chamfered line

required
intersectionPoint Point2D

Intersection point of 2 chamfered lines

required
chamferWidth float

Chamfer width

required

Returns:

Type Description
Line2DList

Calculated 4 applicable chamfer lines

CalculateApplicableChamfers(igeo1, igeo2, plane3D, intersectionPoint, chamferWidth) staticmethod

Calculates four applicable chamfer lines

Parameters:

Name Type Description Default
igeo1 object

Geometry of first object

required
igeo2 object

Geometry of second object

required
plane3D Plane3D

3D plane in which objects lie

required
intersectionPoint Point3D

Intersection point of 2 chamfered objects

required
chamferWidth float

Chamfer width

required

Returns:

Type Description
Line3DList

Calculated 4 applicable chamfer lines

CalculateApplicableChamfers(line1, line2, plane3D, intersectionPoint, chamferWidth) staticmethod

Calculates applicable chamfer lines between two 3D lines

Parameters:

Name Type Description Default
line1 Line3D

Geometry of the first line

required
line2 Line3D

Geometry of the second line

required
plane3D Plane3D

3D plane in which line lies

required
intersectionPoint Point3D

Intersection point of 2 chamfered lines

required
chamferWidth float

Chamfer width

required

Returns:

Type Description
Line3DList

Calculated 4 applicable chamfer lines

CalculateApplicableChamfers(line, arc, chamferArc, bFirstElementIsLine) staticmethod

Calculates applicable chamfer lines between 3D line and 3D arc

Parameters:

Name Type Description Default
line Line3D

Geometry of 3D line

required
arc Arc3D

Geometry of 3D arc

required
chamferArc Arc3D

Geometry of chamfer arc

required
bFirstElementIsLine bool

Flag for order of element's intersection calculation

required

Returns:

Type Description
Line3DList

Calculated 4 applicable chamfer lines

CalculateApplicableChamfers(arc1, arc2, chamferArc) staticmethod

Calculates applicable chamfer lines between two 3D arcs

Parameters:

Name Type Description Default
arc1 Arc3D

Geometry of the first arc

required
arc2 Arc3D

Geometry of the second arc

required
chamferArc Arc3D

Geometry of chamfer arc

required

Returns:

Type Description
Line3DList

Calculated 4 applicable chamfer lines

CalculateChamferInsideOnePolyline(originalChamferLine, originalPolyLine, polySegment1, polySegment2) staticmethod

Calculate chamfer inside one polyline - 2 different segments of a polyline are to be chamfered

Parameters:

Name Type Description Default
originalChamferLine Line3D

Geometry of chamfer line

required
originalPolyLine Polyline3D

Geometry of chamfered polyline

required
polySegment1 int

First segment index of polyline

required
polySegment2 int

Second segment index of polyline

required

Returns:

Type Description
Polyline3D

Calculated chamfered polyline

CalculateChamferLine overload

CalculateChamferLine(line1, line2, inputPoint) staticmethod

Calculates chamfer line

Parameters:

Name Type Description Default
line1 Line2D

Geometry of first chamfered line

required
line2 Line2D

Geometry of second chamfered line

required
inputPoint Point2D

Point of click (through which the chamfer should run)

required

Returns:

Type Description
Line2D

Calculated chamfer line

CalculateChamferLine(igeo1, igeo2, plane3D, intersectionPoint, inputPoint) staticmethod

Calculates chamfer line

Parameters:

Name Type Description Default
igeo1 object

Geometry of first object

required
igeo2 object

Geometry of second object

required
plane3D Plane3D

3D plane of the objects

required
intersectionPoint Point3D

Intersection point of objects for chamfering

required
inputPoint Point3D

Point of click (through which the chamfer should run)

required

Returns:

Type Description
Line3D

Calculated chamfer line

CalculateChamferLine(line1, line2, plane3D, intersectionPoint, inputPoint) staticmethod

Calculates chamfer line between two 3D lines

Parameters:

Name Type Description Default
line1 Line3D

Geometry of first 3D line

required
line2 Line3D

Geometry of second 3D line

required
plane3D Plane3D

3D plane of the objects

required
intersectionPoint Point3D

Intersection point of objects for chamfering

required
inputPoint Point3D

Point of click (through which the chamfer should run)

required

Returns:

Type Description
Line3D

Calculated chamfer line

CalculateChamferLine(line, arc, plane3D, intersectionPoint, inputPoint, bFirstElementIsLine) staticmethod

Calculates chamfer line between 3D line and 3D arc

Parameters:

Name Type Description Default
line Line3D

Geometry of 3D line

required
arc Arc3D

Geometry of 3D arc

required
plane3D Plane3D

3D plane of the objects

required
intersectionPoint Point3D

Intersection point of objects for chamfering

required
inputPoint Point3D

Point of click (through which the chamfer should run)

required
bFirstElementIsLine bool

Flag for order of element's intersection calculation

required

Returns:

Type Description
Line3D

Calculated chamfer line

CalculateChamferLine(arc1, arc2, plane3D, intersectionPoint, inputPoint) staticmethod

Calculates chamfer line between two 3D arcs

Parameters:

Name Type Description Default
arc1 Arc3D

Geometry of the first 3D arc

required
arc2 Arc3D

Geometry of the second 3D arc

required
plane3D Plane3D

3D plane of the objects

required
intersectionPoint Point3D

Intersection point of objects for chamfering

required
inputPoint Point3D

Point of click (through which the chamfer should run)

required

Returns:

Type Description
Line3D

Calculated chamfer line

CalculateChamferedLine overload

CalculateChamferedLine(originalLine, intersectionPoint, chamferPoint) staticmethod

Calculates chamfered line

Parameters:

Name Type Description Default
originalLine Line2D

Line which is being chamfered

required
intersectionPoint Point2D

Intersection point of 2 chamfered lines

required
chamferPoint Point2D

Intersection point of chamfer line and (original) chamfered line

required

Returns:

Type Description
Line2D

Calculated chamfered line

CalculateChamferedLine(originalLine, plane3D, intersectionPoint, chamferPoint) staticmethod

Calculates chamfered line

Parameters:

Name Type Description Default
originalLine Line3D

Line which is being chamfered

required
plane3D Plane3D

3D plane in which line lies

required
intersectionPoint Point3D

Intersection point of 2 chamfered lines

required
chamferPoint Point3D

Intersection point of chamfer line and (original) chamfered line

required

Returns:

Type Description
Line3D

Calculated chamfered line

CalculateHalvingAngle(line1, line2, intersectionPoint) staticmethod

Calculates halving angle of 2 given lines in the global coordinate system

Parameters:

Name Type Description Default
line1 Line2D

Geometry of first line

required
line2 Line2D

Geometry of second line

required
intersectionPoint Point2D

Intersection point of the 2 lines

required

Returns:

Type Description
Angle

Halving angle

SwapLinePoints overload

SwapLinePoints(line, point) staticmethod

Changes line orientation if given point lies on line's left side.

Parameters:

Name Type Description Default
line Line2D

line to be changed

required
point Point2D

point to be evaluated

required

Returns:

Type Description
tuple

True if line orientation was changed, false if orientation was left intact,

tuple

Resulting line

SwapLinePoints(line, point) staticmethod

Changes line orientation if given point lies on line's left side

Parameters:

Name Type Description Default
line Line3D

line to be changed

required
point Point3D

point to be evaluated

required

Returns:

Type Description
tuple

True if line orientation was changed, false if orientation was left intact,

tuple

Resulting line