Adam Vermeer

Iron Ring - A Canadian Engineer's Tradition

The iron ring is a symbolic piece worn on the small finger of an engineer's dominant hand. We Canadian Engineers know the ring well, and it's purpose is made clear to us all just prior to graduation from an undergraduate degree in engineering.

It's an exciting event, and we all have a good time (perhaps too good, for some definition of good) in the days leading up to the Iron Ring Ceremony. However, I can confidently say that on the whole we also take the symbolism to heart. The ritual distills in all attending the importance of taking our work seriously as engineers.

So what is an iron ring, physically?

This is mine, posed on... some metal thing.

It's a simple piece of metal, and it's actually not iron. Admittedly that's kinda strange, but wrought iron tends to react with skin when worn for long periods, so stainless steel is used instead.

So that's what an iron ring actually looks like, but the more important thing is what the rings symbolise for their wearers.

The Meaning of the Iron Ring

The iron ring serves to remind its wearer of their responsibilities as a professional, stressing the importance of ethical and professional conduct. When an engineer looks at their iron ring, they are reminded of the importance of their work, and the necessity to conduct themselves with honesty, and integrity, while using their skills with pride tempered constantly with humility.

Basically, we have to remember to take our jobs seriously. Our designs are not built in a vacuum (unless that's part of the spec). Our decisions affect more than just ourselves. We impact other people's lives, and we should always remember that and let that factor into our calculations.

You can read a bit about the backround, which has this to say about the object of the Ritual associated with receiving an iron ring:

The Ritual of the Calling of an Engineer has been instituted with the simple end of directing the newly qualified engineer toward a consciousness of the profession and its social significance and indicating to the more experienced engineer their responsibilities in welcoming and supporting the newer engineers when they are ready to enter the profession.

Coding the Iron

While I'm here, I may as well provide some code to create a parametric model of the iron ring. It should use the radius and vertical thickness as parameters, in case someone ever wanted to create a drastically different iron ring, I guess.

NOTE: This is just for fun. If you want to 3D print a ring, I think that's totally fine. However, it would be in poor taste to recreate an iron ring exactly, as it circumvents the important act of receiving a ring amongst fellow students and engineers.

import math

# R is outer radius of ring
# T is NOT the ring's thickness radially 
# but vertically, if the ring is resting on a surface
# ie, the hollow cylinder that is the ring has a HEIGHT of T
R = 9.5
T = 3.0

# Make a function that radially patterns points
def list_points(r, a, N):
    '''Radially pattern points

    r: the radius of the circle on which points are placed
    a: an offset angle from the x axis, CCW, in degrees
    N: number of points to place radially along. 
       Spaces evenly along full 360 circle
    arad = math.radians(a)
    theta = math.pi*2 / N
    pnts = []

    for i in range(0, N):
        coord = (r*math.cos(theta*i + arad), r*math.sin(theta*i + arad))

    return pnts

# Create a plain ring, centered in the plane and around the origin
ring = (cq.Workplane("XZ").workplane(offset=(-T/2.0))

# Make spheres on top and bottom of ring
# These will be cut away from the ring 
# To make the 'divets' of an iron ring
spheres1 = cq.Workplane("XZ").workplane(offset=(T-0.4))
spheres2 = cq.Workplane("ZX").workplane(offset=(T-0.4))

for point in list_points((R*1.789), 0, 8):
    spheres1 = spheres1.moveTo(point[0], point[1]).sphere(R*0.8526)

for point in list_points((R*1.789), 22.5, 8):
    spheres2 = spheres2.moveTo(point[0], point[1]).sphere(R*0.8526)

iron_ring = ring.cut(spheres1).cut(spheres2)


Final Words on the Iron Ring

I take pride in the fact that I have an Iron Ring. I put in some hard work to receive one, and I wear it all the time. But dedication to professionalism, humility, ethics, and purposeful action take continuous hard work. It's a lifelong committment to being diligent in what I do with my engineering skills. I take this very seriously.

I hope over the years I can live up to the requirements of professionalism, and my iron ring reminds me daily to put in that work.

To end on a light note, however, I want to also stress that a great sense of joy and accomplishment comes with the territory, too. I get to put time and attention to engaging design projects, I can focus mental efforts on complex engineering questions, and I can use my hands to build awesome things to achieve useful goals in the world.

I take engineering very seriously, and I seriously love engineering.

I'll leave this quote from Rudyard Kipling, the creator of the Iron Ring Ceremony, because I find it so characteristic of how an engineer tends to think about the world. It's a quote that rings of sincerity from Kipling, yet holds a kind of humour, too as it eschews written works of man in favour of raw materials (an engineer must know their priorities):

The Obligation will be taken on cold iron of honourable tradition, as being a solid substance of proven strength and physical characteristics. It will not be taken on any other written works of man, but upon a product from nature, used by every engineer. - Kipling

Blurb About the Contents of this Post

This post contains python code that is meant to be used with the CadQuery library. It's a script-based CAD system built upon FreeCAD, an open source CAD package. I also created this inside a Jupyter Notebook context and use a python module of my own making to integrate CadQuery into the Notebook environment. It's not perfect, but it works well enough.

In this post I have several iframes which are linked to a few a-frame VR scenes. I use these to showcase the parts in browser. It's actually a VR-ready library, so you can actually view the objects in VR if you've got access to that sort of thing.

All links to the mentioned software:

And, if you'd like to get a feel for CadQuery in the context of a Jupyter notebook, you can check out It's a minimal server, set up by me, an admitted novice when it comes to, well, most things, actually. So, please be gentle.

Some Downloads

I've attached a few things that you're welcome to download, details and links listed below:

Thanks for reading through this short article. I do appreciate you making it this far. If you think someone else you know might like reading this and seeing the code / output in the article, please share it! I'd love that. It's cool if you don't want to either. You know, no pressure.


You can find me @RustyVermeer if you want to engage me directly. Please do, I like that sort of thing. :)