def addLighteningHoles(derivation, gearHolePaths, negatives, pitchRadius, positives):
 extrudeDerivation = extrude.ExtrudeDerivation()
 positiveVertexes = matrix.getVertexes(positives)
 bottomPath = euclidean.getTopPath(positiveVertexes)
 topPath = euclidean.getBottomPath(positiveVertexes)
 extrudeDerivation.offsetPathDefault = [Vector3(0.0, 0.0, bottomPath), Vector3(0.0, 0.0, topPath)]
 extrudeDerivation.setToXMLElement(derivation.copyShallow)
 vector3LighteningHoles = getLighteningHoles(derivation, gearHolePaths, pitchRadius)
 extrude.addNegativesPositives(extrudeDerivation, negatives, vector3LighteningHoles, positives)

def addLighteningHoles ( derivation , gearHolePaths , negatives , pitchRadius , positives ) : extrudeDerivation = extrude . ExtrudeDerivation ( ) positiveVertexes = matrix . getVertexes ( positives ) bottomPath = euclidean . getTopPath ( positiveVertexes ) topPath = euclidean . getBottomPath ( positiveVertexes ) extrudeDerivation . offsetPathDefault = [ Vector3 ( 0.0 , 0.0 , bottomPath ) , Vector3 ( 0.0 , 0.0 , topPath ) ] extrudeDerivation . setToXMLElement ( derivation . copyShallow ) vector3LighteningHoles = getLighteningHoles ( derivation , gearHolePaths , pitchRadius ) extrude . addNegativesPositives ( extrudeDerivation , negatives , vector3LighteningHoles , positives )
add lightening holes .