text: import cadquery as cq
  
  # These can be modified rather than hardcoding values for each dimension.
  circle_radius = 50.0  # Radius of the plate
  thickness = 13.0  # Thickness of the plate
  rectangle_width = 13.0  # Width of rectangular hole in cylindrical plate
  rectangle_length = 19.0  # Length of rectangular hole in cylindrical plate
  
  # Extrude a cylindrical plate with a rectangular hole in the middle of it.
  # 1.  Establishes a workplane that an object can be built on.
  # 1a. Uses the named plane orientation "front" to define the workplane, meaning
  #     that the positive Z direction is "up", and the negative Z direction
  #     is "down".
  # 2.  The 2D geometry for the outer circle is created at the same time as the
  #     rectangle that will create the hole in the center.
  # 2a. The circle and the rectangle will be automatically centered on the
  #     workplane.
  # 2b. Unlike some other functions like the hole(), circle() takes
  #     a radius and not a diameter.
  # 3.  The circle and rectangle are extruded together, creating a cylindrical
  #     plate with a rectangular hole in the center.
  # 3a. circle() and rect() could be changed to any other shape to completely
  #     change the resulting plate and/or the hole in it.
  result = (
      cq.Workplane("front")
      .circle(circle_radius)
      .rect(rectangle_width, rectangle_length)
      .extrude(thickness)
  )
  
  # Displays the result of this script
  show_object(result)
  