EKL Creating an Involute Curve

Print Friendly, PDF & Email

Creating an Involute Curve is really useful when building Involute Gears which will be a post later on. So, what is an Involute, if we wrapped a piece of string anti-clockwise around a circle starting at the top and pulled the string tight as its unwrapped the following curve can be drawn.

So how can we do this with EKL in CATIA.

First, we need a Circle and a Datum Curve, then we can develop the following Rule.

Let iCurve , ioSpline ( Curve )
Let ioRadius , ioPerimeter ( Length )
Let ioExtremum , ioTangPoint , ioPoint ( Point )

Let ioIndex ( Integer )
Let ioList ( List )

iCurve = `Geometrical Set.1\Circle.1` 

ioRadius = minimumCurvatureRadius( iCurve ) 
ioPerimeter = 2 * PI * ioRadius

ioExtremum = extremum( iCurve , direction( plane( 0 , 0 , 1 , 0mm )) , True , NULL , True , NULL , True ) 

ioIndex = 1
For ioIndex While ioIndex <= 360
{
	ioTangPoint = pointoncurveRatio( iCurve , ioExtremum , (( 1 / 360 ) * ioIndex ) , False )
	ioPoint = pointoncurveRatio( linetangent( iCurve , ioTangPoint , 0mm , (( ioPerimeter / 360 ) * ioIndex ) , True )  , NULL , 1 , True ) 
	ioList ->Append( ioPoint )
}

ioSpline = spline( ioList ) 

`Geometrical Set.1\Curve.1`  = ioSpline 

This can be used to develop involute gears, happy coding.