code: def make_cutter(self):
          
          # head
          obj = self.head.make_cutter()
  
          # neck
          if self.neck_length:
              # neck cut diameter (if thread is larger than the neck, thread must fit through)
              (inner_radius, outer_radius) = self.thread.get_radii()
              neck_cut_radius = max(outer_radius, self.neck_diam / 2)
  
              neck = cadquery.Workplane(
                  'XY', origin=(0, 0, -self.neck_length)
              ).circle(neck_cut_radius).extrude(self.neck_length)
              obj = obj.union(neck)
  
          # thread (pilot hole)
          pilot_hole = self.thread.make_pilothole_cutter() \
              .translate((0, 0, -self.length))
          obj = obj.union(pilot_hole)
  
          return obj
docs: Makes a shape to be used as a negative; it can be cut away from other
          shapes to make a perfectly shaped pocket for this part.
  
          For example, for a countersunk screw with a neck, the following
          cutter would be generated.
  
          .. image:: /_static/img/fastenerpart/male.cutter.png
  
          If the head were an externally driven shape (like a hex bolt), then the
          cutter's head would be wide enough to accommodate a tool to fasten it.