I'm trying to build a CAD model of a bolt, but I can't figure out how to cut off the tops of the corners at the top of the head at a 45-degree angle. I want to get this result What did I do for this? At first I tried this: import cadquery as cq from math import sqrt, tan, radians head_diameter = 10.0 head_height = 5.0 shaft_diameter = 5.0 shaft_length = 20.0 R = head_diameter / 2 r = R * sqrt(3)/2 chamfer_size = (R - r) / tan(45) bolt_head = ( cq.Workplane("XY") .polygon(6, 2*R) .extrude(head_height) .translate((0, 0, -1 * (head_height/2))) ) bolt_head = bolt_head.edges("Z").chamfer(1) bolt_shaft = ( cq.Workplane("XY") .circle(shaft_diameter/2) .extrude(-shaft_length) ) bolt = bolt_head.union(bolt_shaft) This code generates the following CAD: Then so: import cadquery as cq from math import sqrt, tan, radians HEAD_DIAMETER = 20.0 HEAD_HEIGHT = 10.0 CUT_ANGLE = 45.0 SHAFT_DIAMETER = 8.0 SHAFT_LENGTH = 30.0 R = HEAD_DIAMETER / 2 r = R * sqrt(3)/2 cut_depth = (R - r) / tan(radians(CUT_ANGLE)) hexagon = ( cq.Workplane("XY") .polygon(6, HEAD_DIAMETER) .extrude(HEAD_HEIGHT + cut_depth) ) cutter = ( cq.Workplane("XY") .workplane(offset=HEAD_HEIGHT) .circle(r) .workplane(offset=cut_depth) .circle(R * 1.1) .loft(combine=True) ) result = hexagon.cut(cutter) result = ( result.faces(">Z") .workplane(centerOption="CenterOfMass") .circle(r) .cutBlind(-cut_depth) ) show_object(result) But it outputs an error: ValueError: If multiple objects selected, they all must be planar faces. This code generates the following CAD: Does anyone know how to cut off the upper parts of the corners of the bolt head at a 45 degree angle? Continue reading...