Failed Engineer: Designing parametric gear in Catia

Wednesday 16 September 2020

Designing parametric gear in Catia

Gears can fundamentally be classified according to the profile of the teeth. The profile of the teeth may be involute, cycloidal, trochoidal or even a combination of these profiles. 

Involute profile in red

The involute profile is basically a path traced by a point on a straight line which rolls without slipping on the circle. The circle is called the base circle of the involute. 

Epicycloid in red
The epicycloid is the path that's traced by a point on the circle as it rotates outside a circle, while hypocycloid is the path traced by a point on the circle as it rotates on the inside of another circle.

Hypocycloid in red.
Gears are used in motion transfer like spur gears, helical gears, bevel gears, rack/pinion gears, worm gears etc. They also find application in the field of hydraulics for pumping fluids etc.

Difference between involute and cycloidal gears 

In practice, gears may not just use one profile. So it is worth mentioning that the face and flank of the involute gears is essentially one profile i.e. involute profile. In case of cycloidal gears however, double profiles are required for face and flank. Epicycloid profile is used for face and hypocycloid for the flank. 

Profile for cycloid gear
There are of course many other differences like involute gears are easy to manufacture than the cycloid gears, cycloidal teeth have wider flanks and therefore they are stronger than involute gears for the same pitch and are therefore preferred if teeths are to be cast.

Creating Parametric gears in general

The spur gear parametrization does not require ingenuity from your end, in a sense that it has already been achieved by mathematicians i.e. we know the mathematical functions that generate such a profile. However, to model this in Catia, you would need to add these parameters and formulas to achieve parametrization. You should also know that many CAD softwares these days offer gear generation tools built-in and you can use these to create CAD models if needed. One such tool that you can use is FreeCAD software that you can use to generate gears by simply adding an additional workbench like FCGear.

Creating parametric gears in Catia

There's no workbench that would generate gears in Catia. However, it offers fundamental tools that you can use to generate parametric gears and achieve other and more fundamental type of parametrization if you have the knowledge of what you are doing. 


I followed a tutorial when I first modeled a parametric gear in Catia around 10 years ago. Unfortunately, the link is no longer working and the tutorial is no longer available on the original link. I have documented the process in simple steps, you can follow these steps as present below to make a parametric involute gear. If you want the original tutorial I followed, you can download it from here.

1. Identifying parameters that control the gear 

These are the parameters - m (modulus), a (pressure angle) and z (number of teeth). We will first define these parameters keeping mind the units these parameters have. a is angle in degrees, z is a number of teeth i.e. an integer and m is length type parameter in with units as mm. So, as a first step we just need to define them using f(x) button and add a suitable value as shown.
Adding parameters
By default, parameters may be not be visible in the specification tree, these can be turned on as shown below.
Turning visualization of parameters and relations ON, in the specification tree
The values of many other parameters will be automatically calculated based on the values we define for these basic parameters. So, the next step is that we define other parameters and relations those parameters have with m, z, a etc. 

2. Adding relationships / formula

Before we add the relationships and formula, we will first make sure they are visible in the specification tree. This can be done as shown below.
Turning visualization of value and formula for parameters in specification tree
As a next step, we define parameters that depend on the primary parameters and add the relationship through which they are related using the Add formula button This will calculate the values of these secondary parameters. These are the following parameters / relations. 
rp = m*z/2 (Radius of pitch circle diameter)
ra = rp+m (Radius of outer circle)
rc = m*0.38 (Radius of root concave corner)
rb = rp*cos(a) (Radius of base circle)
rf = rp-(1.25*m) (Radius of root circle)
Parameters displayed in specification tree with formula and respective values
All parameters are of length type, and when added using f(x) and Add formula will be shown in the specification tree as above. 

3. Adding Laws for creating points

We need to add Laws by using the fog tool present in the knowledge toolbar. These laws will generate the points in the YZ plane, and we can then generate the profile using spline by using these points. The laws are the following, where yd, zd and t are formal parameters.

1). yd = rb * ( sin( t * PI * 1rad) - cos( t * PI * 1rad) * t * PI )
2). zd = rb * ( cos( t * PI * 1rad) + sin( t * PI * 1rad) * t * PI )
Adding laws - yd and zd.
We need to add yd and t while adding the first law named 'yd' is a length type parameter while t is a real type parameter, and while adding the second law 'zd', we need to add other two formal parameters i.e. zd and t. PI is a constant and it's value is built-in. If you want to understand why we are using 1rad angle and other things, I would suggest you to read the tutorial.

4. Creating points using laws

After creating laws, we use the law and use the point reference element, and values from 0 to 0.4 to create points as shown below. Below, we are creating a point for the second point for the value of t = 0.1.
Using yd law for creating coordinate for y for first point 
In the same way, we will use the law for creating coordinate for z. For this, law 'zd' will be used as shown below. You can also see all points created using values of 0, 0.1, 0.2, 0.3 and 0.4 in the specification tree.
Applying formula for z coordinate. Points created shown in specification tree.
After all the points are created, we navigate to wireframe and surface design workbench and join them using spline tool, to create an involute profile as shown below.
Spline created using all five points
5. Extrapolate the spline 

When z < 42, root circle is smaller than base circle, we need to extrapolate the spline. The length of extension is defined by the formula f(x) = m*2. Below you can see we extrapolate the spline using extrapolate tool.
Extrapolating spline

6. Rotate profile to make symmetric about zx plane.

Since profile is not symmetric about zx plane, you need to rotate it by some angle. The angle is phi, and to compute phi, we use the following formula.

phi = atan( yd(c) / zd(c) ) + 90deg/z

Since we do not know c, which is a type Real parameter, we first calculate that using the formula below.

c = sqrt (1/(cos (a) * cos (a)) -1) /PI

You can also see below when it's added in the specification tree.
Adding c parameter and calculating the value
Subsequently, we add the parameter phi which is an angle type parameter. Below you can see how it's added and present in the specification tree.
Formula for Phi added and value calculated
Using this value, we can rotate the extrapolated profile. Below you can see we have used the rotate tool to rotate the profile using Phi as parameter.
Extrapolated profile rotation
7. Create root circle and Outer circle

We need to create two circles using ra (radius of outer circle) and rf (radius of root circle) as radius parameters.
Created two circles using ra and rf as radius parameters
8. Create a corner and a copy about a new plane and a copy of existing profile

First the corner is applied using corner between root circle and involute profile. The radius value created using rc as parameter. For the plane, we use an angle 180deg/z to rotate the zx plane. We then mirror the corner about this plane.
Corner, plane and symmetrical corner created about the plane 
Above you can see, the solution that we chose among the four solutions provided, the plane created and a symmetrical corner created about the new plane. 

9. Creating the desired profile 

By using split or trim repeatedly and other commands like mirror etc, we create the profile shown below. Subsequently, we join it to use it for creating a circular pattern.
Desired units in a profile

10. Joining and creating the complete circular profile

First we join all units to create single profile and then we create a pattern as shown. The pattern is created in Generative shape design workbench. The complete crown option within the axial reference tab is used, and we use the parameter z as number of instance. 
Creating pattern after joining all individual units
11. Joining patterned profile with original and extrusion

We subsequently join the patterned profile with the original profile and extrude it. This gear created is parametric. It means that you can modify the parameters like z, m, a etc. and the gear will change automatically. You can see it below.
Parametric gear completed
12. Creating more features like hole, chamfer etc.

We can now create more features to complete gear. Below you can see that we have create a hole and shoulder with chamfer to complete the part.

Completed gear