import cadquery as cq # Create a block with holes in each corner of a rectangle on that workplane. # 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. Creates a plain box to base future geometry on with the box() function. # 3. Selects the top-most Z face of the box. # 4. Creates a new workplane to build new geometry on. # 5. Creates a for-construction rectangle that only exists to use for placing # other geometry. # 6. Selects the vertices of the for-construction rectangle. # 7. Places holes at the center of each selected vertex. result = cq.Workplane("front").box(2, 2, 0.5)\ .faces(">Z").workplane() \ .rect(1.5, 1.5, forConstruction=True).vertices() \ .hole(0.125) # Displays the result of this script show_object(result)