Add or resize a hole in an STL where you tap
The bracket from Printables is right except that it has no hole for the screw you own. Meshes are hard to edit because an STL is triangles, not features. In SpeakCAD you upload the file, tap the face, pick M4 and Through, and the hole is there. Here is the whole path, including the step that still goes through the AI.Why adding a hole to an STL used to be hard
An STL is a bag of triangles. There is no "hole" in it to select, no diameter to change; the hole is just the triangles that happen to form a cylinder. Mesh editors make you draw a cylinder, line it up by eye in three views, and subtract it, and if the result is not watertight the slicer refuses it or fills it in. On a phone, forget it.
The Hole tool works differently. You tap the face, the tool reads the surface under your finger (its position, which way it faces, how thick the wall is behind it), and drills a cylinder of the diameter you choose along that direction. The result is recompiled as one solid, so it slices.
Getting the file in
Two doors. Hand the file over with nothing typed, from the Upload an STL or 3MF card in a new model's empty editor, from the Edit an STL box (drop it, leave the change empty), from the online slicer (drop it on the box, press Change it with AI, leave the change empty) or from SpeakCAD's card in ChatGPT or Claude, and it opens as a model at once, with no AI turn: the first line in the chat says "Started from your file", and the rail is ready. On a phone the file comes from Files or Downloads.
Or attach it in the editor's chat with the change written in the same message, "add an M4 hole in the centre of the base", if you would rather the AI place the first one. That message is one AI request, 2 credits: the AI opens the mesh as a model, reads its outer size in millimetres and measures the holes already in it. Either way, from there on every hole you add by hand is free to add.
Adding a hole
Tap Hole in the rail: Hole · Cut · Add · Extrude · Round · Measure. Tap the face. The card shows Diameter, with the metric presets, and Depth, with Through, then Position: two rows that put the hole's centre a typed distance from the face's edges, "Centre 12 mm from the left edge", with Centre on the face for the middle.
The presets are clearance sizes: M3 is 3.4 mm, not 3 mm, because a printed hole comes out 0.2 to 0.4 mm small and an M3 screw should slide through. If the screw is meant to bite into the plastic, flip the tap toggle and the presets drop to the tapping sizes (M3 becomes 2.5 mm). For a heat-set insert, type the insert's recommended diameter, 4.0 mm for a common M3 insert, and a depth a little deeper than the insert.
Through uses the wall thickness measured behind your tap plus a millimetre, so the hole breaks cleanly out the other side. For a blind hole, type the depth.
Press Apply hole. The hole is a feature now, not triangles: tap it later and its card shows the same two numbers, ready to change. Wrong spot? Change its Position rows on its card, or Remove it and tap again.
Heat-set inserts, nuts and self-tapping screws
Not every hole is a clearance hole. For a heat-set insert, type the diameter the insert's maker recommends (around 4.0 mm for a common M3 insert, 5.6 mm for M4) and a depth about 1 mm deeper than the insert is long, blind, not Through. For a screw that bites into the plastic, flip the tap toggle: the presets drop to M3 2.5 mm, M4 3.3, M5 4.2, M6 5.0, M8 6.8, and the screw cuts its own thread on the way in; PETG and ABS hold these better than PLA. For a nut trap, a hexagonal pocket, the Cut tool's shapes do not include a hexagon, so that one is a sentence to the AI: "cut a 5.5 mm hex pocket 2.5 mm deep around this hole", 2 credits.
Resizing a hole that is already there
An existing hole in a mesh has no centre to tap: tapping inside it lands on its curved wall. Two honest ways to make it bigger:
- Ask the AI. Because the holes were measured when the file was opened, "make the 3 mm hole on the left 4.5 mm" is a request the AI can place exactly. One request, 2 credits. Ask for a parametric rebuild ("rebuild this as a parametric model with the same size") and every hole becomes a named number you then type for free, as many times as you like.
- Measure, then drill beside it. Tap Measure, tap the hole's rim on opposite sides to read its diameter, then use Hole on the flat face around it for the new hole you actually need. Useful when the old hole was in the wrong place anyway.
Checking before you print
Measure gives you the distance between two taps with its ΔX, ΔY and ΔZ. Tap the centres of two new holes and compare with the part they must match. The face size and the wall thickness are in the same small card. None of this is a program change and none of it is counted.
What it costs
Shaping a part by hand (a hole, a cut, an added tab, an extruded face, rounded corners) and downloading what you shaped are free. Each AI request spends 2 credits, a download of AI work 4 credits, and G-code 5 more. A part started from a shape (box, plate, cylinder, tray) or from your own STL or 3MF file and shaped by hand, with no AI in it, downloads free with a free account. Once a message to the AI has opened or changed the file, the model carries AI work and its download spends 4 credits; a small fix after a test print, such as one hole 0.5 mm wider, re-downloads free. G-code sliced for your printer is 5 credits more, included in Pro and Unlimited.
When the AI is the right tool
A hole is a hole. A lid that fits, a wall made 2 mm thicker everywhere, a mounting pattern moved 10 mm, a copy of the part mirrored: those are sentences, and the chat under the rail takes them. The AI keeps the holes you added by hand. The Edit an STL page lists the edits that work in one message.
- 1Upload the STL or 3MFHand the file over with nothing typed (the Upload an STL or 3MF card in a new model's empty editor, the Edit an STL box or the online slicer's Change it with AI with the change left empty, or SpeakCAD's card in ChatGPT or Claude with no change) and it opens as a model at once: no AI turn, no credits. Attach it in the editor's chat with a sentence instead and that message is one AI request, 2 credits; the AI then opens the mesh with its outer size and its existing holes measured.
- 2Tap Hole, then tap the faceIn the rail above the chat, tap Hole. Tap the face of the model where the hole goes. The card opens with Diameter and Depth.
- 3Pick the sizeTap a preset: M2 2.4 mm, M2.5 2.9, M3 3.4, M4 4.5, M5 5.5, M6 6.6, M8 9.0, clearance sizes that a printed hole comes out right for. The tap toggle gives the smaller sizes for a screw that cuts its own thread. Or type any diameter.
- 4Place it, then ApplyTap Through so the hole goes out the other side of the wall under your finger, or type a depth. Under Position, type the centre's distance from the face's edges (Centre 12 mm from the left edge), or tap Centre on the face. Press Apply hole. The mesh recompiles with the hole and the card shows its numbers.
- 5Check with Measure, then downloadTap Measure and tap two holes to read their spacing. Then download the STL or 3MF, or G-code sliced for your printer.