# OPJAW > Deterministic geometry engine for CNC workholding fixture generation. OPJAW generates CNC workholding fixtures from STEP files. Upload a part, get fixture plates, soft jaws, or zero-point clamping plates as downloadable STEP solids. Geometry-driven -- dimensions derived from bounding boxes, pockets extracted from part profiles, all outputs verified by a geometric oracle before download. Python + build123d + OpenCASCADE. Same STEP in, same STEP out. - [llms.txt](https://opjaw.com/llms.txt): Brief overview ## How It Works 1. **Upload** a .step or .stp file 2. **Surface analysis** -- the engine identifies flat faces, measures bounding boxes, and scores the part against four tooling strategies (soft jaws, fixture plates, zero-point plates, multi-op vise) 3. **Strategy selection** -- each strategy is scored on flat face ratio, compactness, and size fit. The highest-scoring strategy runs first. If multiple strategies are requested, all run in parallel 4. **Pocket generation** -- the grip profile is extracted from the part geometry. For soft jaws, a tier cascade tries four extraction methods (Z-bounded slice, multi-Z slice, cross-section, 3D conformal) with hard timeouts. For fixture and zero-point plates, a silhouette projection or bounding box fallback is used 5. **Tool radius compensation** -- the pocket is expanded by clearance + tool radius, then contracted by tool radius. Internal corners round to the cutter diameter. Straight walls maintain exact clearance 6. **Geometric oracle** -- the output STEP file is measured against declared dimensional ranges (bounding box, volume, face count). If any measurement falls outside tolerance, the file is rejected 7. **Preview and download** -- SVG drawing sheet preview. $200 per design. Pay after preview, download STEP files ## Tooling Types ### 6-Inch Vise Soft Jaws Matched left/right jaw pair for Kurt-style 6″ vise. Part-conforming pockets from STEP geometry. #### What soft jaws are Soft jaws are machinable aluminum blanks that bolt to a vise. You cut a pocket into each jaw face that matches your part profile. The pocket grips the part during secondary operations — finishing cuts, drilling, tapping — without marring machined surfaces or deforming thin walls. Hard jaws grip raw stock with serrations. Soft jaws grip finished geometry with a conforming cavity. OPJAW generates the pocket automatically. Upload a STEP file, and the system extracts a 2D grip profile from the part geometry, applies [tool radius compensation](https://opjaw.com/articles/tool-radius-compensation), and outputs a matched jaw pair as downloadable STEP solids. Every output is measured by the [geometric oracle](https://opjaw.com/articles/why-we-built-a-geometric-oracle) before you see it. #### Specifications | Jaw blank | 152.4 × 50.8 × 50.8 mm | | Grip depth | 12.7 mm | | Clearance | 0.15 mm per side | | Tool radius | 3.175 mm (1/4″ endmill) | | Min wall thickness | 3.0 mm | | Bolt pattern | 2 × 2 grid, 98.425 mm c-c | | Bolt holes | 1/2″-13 UNC, 13.494 mm clearance | | Counterbore | 20.638 mm dia × 12.7 mm deep | | Material | Aluminum 6061-T6 | | Surface finish | Ra 1.6 µm | | Workholding force | 6000 PSI hydraulic | | Oracle tolerance | bbox ±0.1 mm | Clearance, tool radius, shrinkage factor, and minimum wall thickness are overridable at generation time. #### Pocket generation The pocket profile is extracted from the part geometry in the grip zone — the bottom 12.7 mm of the part as positioned in the jaw. Four extraction methods run in a tier cascade. If one times out or fails quality checks, the next takes over. Each tier runs in an isolated subprocess with a hard timeout. | Tier | Method | Timeout | Approach | | --- | --- | --- | --- | | 0 | Z-bounded slice | 30 s | Clip part to grip zone, section at multiple Z heights, union into 2D profile | | 0.25 | Multi-Z slice | 45 s | Lower area threshold — tolerates complex internal geometry | | 0.35 | Cross-section | 30 s | Single section at grip zone midpoint — preserves concave features | | 0.5 | 3D conformal | 45–120 s | Subtract part from envelope, remove undercuts with Z-prism extrusions | After profile extraction, the pocket is expanded by clearance + tool radius, then contracted by tool radius. This [double-offset technique](https://opjaw.com/articles/tool-radius-compensation) rounds internal corners to the cutter diameter while maintaining exact clearance on straight walls. The full pipeline is described in [How Automated Fixture Generation Works](https://opjaw.com/articles/how-automated-fixture-generation-works). #### Example output Generated from real STEP files in the stress test suite. Each jaw pair is a distinct geometry — pocket profile, bolt clearance, and chamfer placement vary with the part. [See all soft jaw results in the portfolio.](https://opjaw.com/portfolio) #### When to use a different tooling type If the part has a dominant flat face and needs modular clamping, a [fixture plate](https://opjaw.com/tooling/fixture-plates) gives you an M8 grid for standard clamps. If you need quick-change capability with pull-stud registration, [zero-point plates](https://opjaw.com/tooling/zero-point-plates) add locating precision. If the part requires machining from both sides, the [multi-op vise](https://opjaw.com/) strategy generates two sets of jaws — Op1 in the original orientation, Op2 flipped 180°. See [Fixture Selection for Irregular Parts](https://opjaw.com/articles/fixture-selection-irregular-parts) for how the system scores each strategy. ### Fixture Plates Aluminum fixture plates with conforming nest pockets, generated from your STEP geometry. #### Specifications | Material | Aluminum 6061-T6 | | Plate thickness | 25.0 mm | | Nest pocket depth | 3.0 mm | | Part clearance | 0.2 mm per side | | Plate margin | 40.0 mm per side | | Grid pitch | 25.0 mm | | Grid holes | M8 clearance — 8.5 mm bore, 13.0 mm CB | | Grid counterbore depth | 8.0 mm | | Corner holes | M10 clearance — 11.0 mm, 15.0 mm inset | | Tool radius | 3.175 mm (1/4″ endmill) | | Corner fillet | 3.0 mm | | Surface finish | as-machined | #### When to use a fixture plate Fixture plates are for parts that need a dedicated setup but don't justify a custom tombstone. The part must have at least one flat face for seating — the generator orients it face-down and projects a conforming pocket from the bottom profile. Grid holes on a 25.0 mm pitch accept standard modular clamps. Four corner holes mount the plate to the machine table. If the part fits in a 6″ vise, [soft jaws](https://opjaw.com/tooling/soft-jaws) are faster to machine and easier to store. If you need quick-change capability across multiple parts, [zero-point plates](https://opjaw.com/tooling/zero-point-plates) add pull-stud registration. Fixture plates fill the gap: irregular geometry, second-op work, or parts too large for jaw stock. #### Example output Generated from real STEP files in the stress test suite. Plate dimensions, pocket method, and grid hole count vary with part geometry. 16_leveling_mount — rejected No Z-aligned flat face for fixture seating. Parts without a planar bottom cannot use fixture plates. See [Soft Jaws](https://opjaw.com/tooling/soft-jaws) for alternative workholding. [See all 19 fixture plate results in the portfolio.](https://opjaw.com/portfolio) ### Zero-Point Clamping Plates Upload a STEP file. Get a zero-point clamping plate — conforming nest pocket on top, 52 mm pull stud interface on bottom — as a verified STEP solid. #### Specifications | Material | Aluminum 6061-T6 | | Plate thickness | 30.0 mm | | Nest pocket depth | 3.0 mm | | Part clearance | 0.2 mm per side | | Plate margin | 40.0 mm per side | | Tool radius | 3.175 mm (1/4″ endmill) | | Corner fillet | 3.0 mm | | Max plate size | 350 × 350 mm | | Surface finish | as-machined | #### 52 mm clamping interface | Bolt circle | 52.0 mm | | Pull studs | 4 at 90° spacing (45° start) | | Through-bore | 12.5 mm | | Counterbore | 20.0 mm dia × 10.0 mm deep | | Locating pin | 8.0 mm dia at 36.0 mm offset | OPJAW generates the hole geometry. You supply the pull studs — centering, compensating, and clamping — to match your receiver. The 96 mm bolt circle is not currently supported. #### When to use a zero-point plate Zero-point plates lock onto spring-loaded receivers via pull studs. Pallet swap takes seconds — you build the next setup offline while the spindle cuts the current job. The tradeoff is 30 mm of Z-height and a mechanical joint between your part and the table. If you change setups more than twice a shift, the time wins. If you run one part number for a week, a [fixture plate](https://opjaw.com/tooling/fixture-plates) bolted directly to the table wins on rigidity. The other advantage is datum continuity. The same plate with the same studs locks into receivers on the mill, the CMM, the EDM, and the grinder. The part datum does not move between machines because the receiver defines it. Fixture plates do not transfer — they bolt to one table. The 52 mm bolt circle limits part footprint. If the conforming pocket extends far enough to intersect the pull stud holes, the system rejects the part for zero-point and scores [fixture plates](https://opjaw.com/tooling/fixture-plates) instead. Of the 20 parts in the stress test suite, 6 fit the 52 mm interface. | | Zero-Point Plate | Fixture Plate | 6″ Vise Jaws | | --- | --- | --- | --- | | Plate thickness | 30.0 mm | 25.0 mm | 50.8 mm (jaw height) | | Clearance | 0.2 mm / side | 0.2 mm / side | 0.15 mm / side | | Nest / pocket depth | 3.0 mm | 3.0 mm | 12.7 mm | | Clamping method | Pull studs (52 mm BC) | Bolted to table | Vise jaw grip | | Setup time | seconds (pallet swap) | 15–45 min | 5–15 min | | Requires flat bottom | yes | yes | no | | Max part envelope | ~120 mm footprint | ~270 mm footprint | 152.4 mm jaw width | | Best for | high-mix, multi-machine | large parts, long runs | compact parts | #### Example output Generated from STEP files in the stress test suite. Plate dimensions scale to the part footprint. [Tool radius compensation](https://opjaw.com/articles/tool-radius-compensation) rounds internal pocket corners to the cutter diameter. #### What disqualifies a part 01_pillow_block — rejected Pull stud #1 at (18.4, 18.4) intersects nest pocket. Part footprint exceeds the 52 mm bolt circle clearance. Use a [fixture plate](https://opjaw.com/tooling/fixture-plates) instead — same nest pocket, no bolt circle constraint. 16_leveling_mount — rejected No Z-aligned flat face for seating. Parts without a planar bottom cannot use zero-point plates or fixture plates. See [how fixture generation works](https://opjaw.com/articles/how-automated-fixture-generation-works) for how seating faces are selected. 14 of 20 test parts are rejected for zero-point — most because their footprint intersects the pull stud holes. The [auto-selector](https://opjaw.com/articles/fixture-selection-irregular-parts) scores all four strategies and recommends the best fit. #### Verification Every output is measured by the [geometric oracle](https://opjaw.com/articles/why-we-built-a-geometric-oracle) before download. Bounding box, volume, and plate thickness are checked against declared ranges. If a plate measures outside 30.0 ± 0.1 mm in Z, you get an error, not a file. ## Pricing $200 per design. You see an SVG drawing sheet preview before paying. Download includes STEP solid files for all generated tooling. ## Portfolio 20 customer STEP files spanning prismatic, rotational, organic, tubular, finned, sheet, and mixed geometry. Each part is tested against all four tooling strategies (80 total runs). | Strategy | Pass | Warn | Defect | Hidden | Total | | --- | --- | --- | --- | --- | --- | | 6-Inch Vise Soft Jaws | 0 | 0 | 7 | 13 | 20 | | Fixture Plates | 2 | 0 | 1 | 17 | 20 | | Multi-Op Vise | 0 | 0 | 8 | 12 | 20 | | Zero-Point Plates | 1 | 0 | 14 | 5 | 20 | PASS: part fits within tooling envelope and passes geometric oracle. WARN: part protrudes above tooling but oracle passes. DEFECT: geometric postcondition violated. HIDDEN: generated but not displayed in portfolio (e.g., marginal results). Full portfolio with SVG hero images and drawing sheets: https://opjaw.com/portfolio ## Articles ### How Automated Fixture Generation Works 2026-04-03 You upload a STEP file. You get back workholding — soft jaws, a fixture plate, or a zero-point plate — as downloadable STEP files ready for CAM. No templates. No manual modeling. The geometry comes directly from the part. Four stages make that happen: 1. **Surface analysis** — find the seating face and orient the part 2. **Strategy selection** — score each tooling type against the part geometry 3. **Pocket generation** — extract the clamping profile from the solid 4. **Validation** — measure the output before you ever see it The entire pipeline is procedural geometry code. Deterministic — same input, same output, every time. No neural networks, no model weights, nothing stochastic. #### 1. Surface Analysis First question: which face does the part sit on? The analyzer examines every planar face on the imported solid and measures its surface normal against the approach axis. Any face within 5° of perpendicular to Z qualifies as a seating candidate. The largest qualifying face wins. Once selected, the part is reoriented: seating face flipped to point downward, translated so that face sits at Z = 0, centered on the XY origin. Every downstream stage operates on this standardized pose. Some parts make this easy. A pillow block has a large flat base that dominates the ranking — there is no ambiguity about where it sits. A pipe cross is a different story. Four cylindrical branches, no dominant flat face. When no qualifying face is found, the part is flagged as incompatible with fixture plates and zero-point plates. Vise jaws use a different positioning scheme that does not depend on a seating face, so they can still handle it. #### 2. Strategy Selection Four tooling strategies are available: - [6" vise soft jaws](https://opjaw.com/tooling/soft-jaws) — matched left/right pair for a Kurt-style vise. Blanks are 152.4 × 50.8 × 50.8 mm with a 2×2 grid of ½"-13 counterbored bolt holes per jaw. - **Multi-op vise** — two sets of jaws. Op1 grips the part in its original orientation; Op2 grips it flipped 180°. Four jaw bodies total. - [Fixture plate](https://opjaw.com/tooling/fixture-plates) — rectangular plate with a shallow conforming nest pocket, M8 grid holes on 25 mm pitch, and M10 corner mounts. - [Zero-point plate](https://opjaw.com/tooling/zero-point-plates) — same top-side nest pocket, but with pull stud holes on a 52 mm bolt circle and a precision locating pin on the underside. When you select `auto`, the system scores every strategy on a 0.0–1.0 scale in two phases. **Phase 1: Geometric pre-screen** (scores 0.0–0.5). Three features are extracted from the part: the flat face ratio (Z-aligned planar faces divided by total faces), compactness (shortest bounding box dimension divided by longest), and the max dimension. Each strategy has a preference profile. Fixture plates favor parts with high flat face ratios. Vise jaws favor compact parts. Anything wider than 152.4 mm gets penalized for vise strategies. Anything wider than 350 mm gets penalized for fixture plates. **Phase 2: Generation probe** (scores 0.0 or 0.5). The system actually builds the tooling — runs the full generation pipeline for each strategy and checks whether postconditions pass. If it works, the strategy gets the full 0.5 bonus. If it throws a compatibility error (part too large for the bolt circle, no seating face, pocket generation failed), zero. So auto-selection is not a heuristic guess. It builds every option, measures the results, and picks the highest scorer. An angle bracket with large flat faces and moderate dimensions might score 0.85 on fixture plate and 0.60 on vise jaws. A shaft coupling — cylindrical, compact, 40 mm diameter — scores the reverse. #### 3. Pocket Generation This is the hard part. The pocket is the part-conforming cavity machined into the tooling. For vise jaws, it is the grip profile cut into the jaw faces. For fixture plates, it is a shallow nest pocket on the top surface. The pocket must match the part closely enough to locate it repeatably, with controlled clearance for the cutter. **Vise jaw pockets** run through a tier cascade. Each tier attempts a different profile extraction method. If a tier times out or fails quality checks, the next one runs automatically. | Tier | Method | Timeout | How it works | | --- | --- | --- | --- | | 0 | Z-bounded slice | 30 s | Clip part to grip zone, section at multiple Z heights, union into a 2D profile | | 0.25 | Multi-Z slice | 45 s | Same clip, lower area threshold — tolerates complex internal geometry | | 0.35 | Cross-section | 30 s | Single section at grip zone midpoint — preserves concave features | | 0.5 | 3D conformal | 45–120 s | Subtract part from envelope box, remove undercuts with Z-prism extrusions | The tiers exist because geometry kernels are unpredictable. A boolean subtraction that finishes in 200 ms on a pillow block might hang indefinitely on a ball valve. Rather than hope the kernel cooperates, each tier runs in an isolated subprocess with a hard timeout. If it does not return in time, the process is killed and the next tier takes over. What makes each tier different is the tradeoff between fidelity and reliability. The Z-bounded slice captures the most detail — every contour at every height within the grip zone is preserved. But it requires clipping the part to the grip zone first, which is itself a boolean operation that can hang on complex geometry. The 3D conformal tier at the bottom of the cascade is the most resilient. It builds a solid envelope box at grip zone height, subtracts the part from it, then removes undercuts by extruding Z-height cross-sections upward through the envelope. The result is always machinable from above, but it can be slower and the geometry is heavier. A heat sink is a good example of why tiers matter. The cross-section tier (tier 0.35) captures the fin gaps as individual channels in the jaw face — exactly what you want for repeatable location. The Z-bounded slice might union those gaps into a flat plane if the fins are thinner than the slice spacing. A star knob, with organic lobes that defeat clean 2D slicing entirely, falls through to the 3D conformal tier. **Fixture and zero-point plate pockets** are simpler. The part is sectioned at multiple Z heights across its full extent, each section is flattened to Z = 0, and the results are unioned into a single 2D silhouette. That silhouette becomes a 3 mm deep nest pocket. If sectioning fails, the system falls back to a bounding-box rectangle — less precise, but the part still drops in. **Tool radius compensation** adjusts the pocket profile for the endmill. The profile is expanded outward by `clearance + tool_radius`, then contracted by `tool_radius`. This double-offset rounds all internal corners to the cutter diameter while maintaining exact clearance on straight edges. Default clearance: 0.15 mm. Default tool radius: 3.175 mm (¼" endmill). #### 4. Validation Every generated STEP file is checked before it reaches you. Two layers. **Postcondition checks** verify that each tooling component is a valid solid (not a shell or degenerate compound), that the positioned part does not interfere with the tooling body, and that the BRep representation passes integrity checks. If any check fails, the result is rejected — you get an error, not a bad file. **The geometric oracle** is a dimensional sanity check. Each tooling configuration declares expected ranges for the output — bounding box X, Y, Z dimensions and volume. The oracle measures the actual STEP output and compares. If a fixture plate for a 100 mm part suddenly measures 400 mm wide, the oracle catches it. Think of it as a headless CMM. Same idea as measuring a physical part against a drawing, applied to generated CAD before it ever leaves the server. #### The 20 Parts We validate the pipeline against 20 off-the-shelf industrial components. These are not cherry-picked to make the system look good — they were chosen to cover the range of geometry that shows up in real shops. | Part | Character | Why it matters | | --- | --- | --- | | Pillow block | Prismatic | Large flat base, obvious seating face. The easy case. | | Terminal block | Prismatic | Thin walls, internal channels. Tests pocket fidelity at small scales. | | Angle bracket | Prismatic | Two dominant flat faces. Tests seating face disambiguation. | | Toggle clamp | Mixed | Articulated geometry with thin linkage arms. | | Strap hinge | Sheet | Thin, wide, and flat. Pushes minimum grip depth limits. | | Spur gear | Rotational | Teeth create high-frequency radial detail in the pocket profile. | | Shaft coupling | Rotational | Cylindrical with keyway. Compact, favors vise strategies. | | Cam follower | Rotational | Eccentric profile. Tests off-center grip zone behavior. | | Hand knob | Organic | Lobed grip with no flat faces. Falls through to 3D conformal. | | Wing nut | Organic | Thin wings, threaded bore. Complex cross-section at every height. | | Star knob | Organic | Five-pointed lobes. Defeats 2D slicing, requires conformal subtraction. | | Pipe cross | Tubular | No dominant flat face. Hollow interior. Incompatible with plates. | | Ball valve | Tubular | Complex internal cavity. Boolean operations tend to hang here. | | U-bolt | Tubular | Thin bent rod. Tests minimum cross-section viability. | | Heat sink | Finned | Parallel fin gaps must be preserved as individual pocket channels. | | Shoulder eye bolt | Mixed | Ring, shoulder, and threaded shank in one part. | | Rod end | Mixed | Spherical bearing housing with a threaded stud. | | Leveling mount | Mixed | Rubber pad, threaded base, hex flats. Multi-material intent. | | Quick release pin | Mixed | Slender shaft with spring-loaded balls. Fragile grip zone. | | Spring plunger | Mixed | Small, cylindrical, threaded. Tests the lower end of viable part size. | Every commit to the codebase runs the full pipeline against all 20 parts across every strategy. Parts that cannot be fixtured by a given strategy are expected to be rejected cleanly — a controlled incompatibility, not a crash. **Related articles:** - [Why We Built a Geometric Oracle](https://opjaw.com/articles/why-we-built-a-geometric-oracle) — the validation layer. - [Tool Radius Compensation in Pocket Milling](https://opjaw.com/articles/tool-radius-compensation) — pocket generation detail. - [Fixture Selection for Irregular Parts](https://opjaw.com/articles/fixture-selection-irregular-parts) — strategy selection detail. Source: https://opjaw.com/articles/how-automated-fixture-generation-works ### Fixture Selection for Irregular Parts 2026-04-02 Most CNC workholding is designed around rectangular stock. Vise jaws clamp parallel faces. Fixture plates bolt to flat bottoms. Zero-point systems pull down on planar surfaces. When the part cooperates — flat, compact, the right size — fixture selection is straightforward. When it doesn't, you're guessing. A part with curved surfaces has no obvious seating face. A part with thin features might fit geometrically but produce a pocket that collides with the part itself. A part that exceeds the jaw width works in theory if you don't mind overhang, but you won't know until you've committed setup time. This article describes how OPJAW evaluates fixture suitability for irregular parts. Three geometric metrics score each part against each fixture strategy. Then the system goes further: it actually generates the tooling and validates the result. If the tooling doesn't hold up to inspection, the strategy is ranked below one that does. #### Three Metrics That Matter Every fixture strategy imposes geometric requirements on the part. OPJAW quantifies three of them directly from the STEP file. **Flat face ratio.** The fraction of the part's surfaces that are planar and aligned with the clamping axis. OPJAW filters all faces in the model, keeps only those that are both planar and within a few degrees of the Z axis, and divides by the total face count. Fixture plates and zero-point systems need at least one large flat face for seating. A higher ratio means more surface area in contact with the fixture — better stability, less risk of the part rocking under cutting loads. **Compactness.** The ratio of the part's shortest bounding-box dimension to its longest. A perfect cube scores 1.0. A long thin bar approaches zero. Compact parts fit vise jaws well because they distribute clamping force evenly and don't protrude beyond the jaw faces. Elongated parts cant, deflect, or hang off the edge. **Size fit.** Whether the part's largest dimension fits within the strategy's working envelope. A 6-inch vise has `152.4 mm` of jaw width. A fixture plate has a larger bolt-pattern footprint. Exceeding the envelope doesn't disqualify a strategy outright — some overhang is acceptable — but it penalizes the score. The farther past the limit, the steeper the penalty. These three metrics produce a geometric pre-screen score for each strategy. But the pre-screen is only half the evaluation. OPJAW then runs the generation probe: it actually builds the fixture tooling — cuts the pocket, positions the clamps, validates the solid — and checks the result. Is the output a single watertight body? Does the pocket intersect the part? Are the dimensions within tolerance? A strategy that passes the generation probe scores significantly higher than one that doesn't, regardless of its geometric pre-screen. A fixture that looks compatible on paper but produces a broken pocket is ranked below one that actually works. #### Case Study: Pillow Block 01_pillow_block.step — 63.5 x 41.3 x 49.2 mm A standard bearing housing. The bounding box is moderate and fits within every strategy's envelope. Compactness is `0.65` — not a perfect cube, but close enough that vise jaws clamp it evenly without overhang. The flat face ratio is only about 12%. That sounds low, but it's misleading. The pillow block has a large flat bottom and a flat top, which together provide ample seating area. The remaining 88% of faces are bearing bores, chamfers, and mounting flanges — curved surfaces that don't count as Z-aligned flats. What matters for fixture seating isn't that most faces are flat, but that at least one face is flat and large enough to sit on. This part has that. All four strategies — vise jaws, multi-op vise, fixture plate, zero-point — generate valid tooling. The generation probe passes for each one. When the geometry cooperates across the board, pick whatever fixture type is already bolted to your table. #### Case Study: Heat Sink 09_heat_sink.step — 22.3 x 14.5 x 22.2 mm Parallel cooling fins, tightly spaced. This part has a higher flat face ratio than the pillow block — about 32%, because every fin surface is a planar face aligned with the Z axis. Compactness is `0.65`, similar to the pillow block. The part is small enough to fit any fixture type. On geometric pre-screen scores alone, this part looks well-suited to every strategy. The generation probe tells a different story. The pocket that holds this part must fit between those fins. The gap between adjacent fins is narrow, and the boolean operation that subtracts the part shape from the fixture stock is sensitive to thin-wall geometry. A pocket wall that's too thin either fails the solid-body check or produces an interference — the fixture collides with the part it's supposed to hold. This is the case that shows why surface metrics alone can't predict fixture viability. A part can have good numbers — high flat ratio, compact proportions, well within the size envelope — and still fail the generation probe because its internal geometry creates conditions that the pocket builder can't resolve cleanly. The only way to know is to attempt the cut and validate the result. #### Case Study: Pipe Cross 04_pipe_cross.step — 67.6 x 67.6 x 37.6 mm Four cylindrical tubes meeting at right angles. This part has a flat face ratio of 1.4% — two small planar faces out of 148 total. Nearly every surface is curved. Compactness is `0.56`, dragged down by the part extending equally in two axes while being shorter in the third. The fixture plate and zero-point strategies rely on a stable flat seating face. With a 1.4% flat ratio, there's effectively nowhere for this part to sit. The surface analyzer finds no Z-aligned planar face large enough to qualify, and the strategy reports an incompatibility before generation even begins. Vise jaws take a different approach — they clamp from the sides, so a flat bottom isn't strictly required. The compactness score is moderate, and the bounding box (`67.6 x 67.6 x 37.6 mm`) fits within the `152.4 mm` jaw width. The vise can attempt a pocket. But the tubes extend in four directions, and the generated pocket can't fully enclose them. The system produces tooling with an oversized warning: the jaws hold the center of the cross, while the tube arms protrude beyond the fixture envelope. This is what fixture selection looks like when no standard strategy is a clean fit. Rather than discovering that through trial setups on the machine, the evaluation runs in seconds and reports the specific failure mode for each strategy: no seating face, envelope overshoot, curved profile incompatible with standard pocket methods. #### What This Means in Practice Fixture selection for irregular parts is a geometric compatibility problem. The part's shape, proportions, and size determine which strategies can even attempt to hold it, and the generation probe determines which of those attempts actually produce valid tooling. OPJAW runs this evaluation on any STEP file. Upload a part, and the system scores it against four fixture strategies. You see which strategies work, which fail, and why — flat face ratio too low for plate fixturing, part too large for the vise envelope, pocket geometry creating thin walls. No trial runs, no scrap from a bad setup. [Upload a STEP file](https://opjaw.com/) and see how your part scores. **Related articles:** - [How Automated Fixture Generation Works](https://opjaw.com/articles/how-automated-fixture-generation-works) — the full pipeline context. - [Holding Round Parts: Collets vs V-Blocks vs Conformal Jaws](https://opjaw.com/articles/round-part-workholding) — special case of irregular geometry. - [Datum Reference Schemes for Fixture Design](https://opjaw.com/articles/datum-reference-schemes-fixture-design) — datum availability drives fixture selection. Source: https://opjaw.com/articles/fixture-selection-irregular-parts ### Clearance Fits for Workholding Pockets 2026-04-04 0.15 mm (0.006") of clearance per side. That is the gap between a part and its soft jaw pocket — enough for the part to slide in by hand, tight enough that it does not shift under a finishing pass. #### 1. What Clearance Does Clearance is the gap between the part surface and the pocket wall. A pocket with 0.15 mm clearance per side has a total gap of 0.30 mm across any dimension — the pocket is 0.30 mm wider than the part. The clearance is applied as a uniform outward offset of the 2D pocket profile. Every wall moves outward by the clearance amount. The pocket is always larger than the part by exactly the clearance on every wall, regardless of the profile shape. This is distinct from the [tool radius compensation](https://opjaw.com/articles/tool-radius-compensation) offset, which accounts for corner geometry. The clearance offset determines fit. The tool radius offset determines machinability. Both are applied to the same profile, in sequence. #### 2. The Clearance Decision Table ``` Fit Type Per-Side (mm) Per-Side (in) Use Case Press fit 0.05 0.002 Interference, part must be pressed in Location fit 0.10 0.004 Precision location, hand-push fit Slip fit 0.15 0.006 Standard workholding, drop-in Free fit 0.25 0.010 Easy load/unload, chip clearance ``` Soft jaws default to 0.15 mm (slip fit). Vise clamping force holds the part laterally — the jaws squeeze inward on both sides, so the pocket only needs to locate the part, not restrain it. A slip fit lets the operator drop the part in by hand and close the vise. Fixture plates and zero-point plates default to 0.20 mm. Gravity plus top clamps provide less lateral restraint than a vise. The extra clearance allows chip clearance in the pocket floor and easier part seating when the operator is working from above. #### 3. When Tighter Is Worse **Thermal expansion.** Aluminum 6061-T6 has a coefficient of thermal expansion (CTE) of 23.6 μm/m/°C. A 100 mm (3.937") part that arrives 10°C above ambient has grown 0.024 mm (0.001") — eating 16% of a 0.15 mm clearance budget. A hot part from a previous operation may not fit a 0.05 mm press-fit pocket at all. **Chip trapping.** Below 0.10 mm (0.004") of clearance, swarf trapped between the part and the pocket wall prevents the part from seating flat. The part rocks on a chip, producing a surface finish defect on the next operation and potentially shifting under cutting forces. On a production run where the operator is loading parts every 90 seconds, clearing sub-0.10 mm gaps with an air gun is not realistic. #### 4. When Looser Is Worse Cutting forces shift the part laterally within the pocket. On a vise, clamping force counteracts this — the part is pinched between the jaws, and friction prevents lateral movement. The pocket clearance is less critical because the vise is doing the restraining. On a fixture plate, the pocket wall is the only lateral restraint. A 0.25 mm (0.010") clearance means the part can shift 0.25 mm before contacting the wall. That is 0.25 mm of positioning uncertainty on every feature cut in that setup. For a finishing pass targeting ±0.05 mm (0.002"), that clearance is the dominant error source. The tradeoff: tighter clearance improves positional accuracy but makes loading harder and risks chip interference. Looser clearance makes loading easy but introduces positional uncertainty. The defaults — 0.15 mm for vise jaws, 0.20 mm for fixture plates — are the midpoints that work for most parts. #### 5. When This Doesn't Apply - **Collet-held round parts.** Clearance is radial, not per-face. The collet spring provides its own compliance — it closes around the part concentrically. The collet's clamping range (typically ±0.5 mm from nominal) replaces the pocket clearance concept entirely. - **Vacuum fixtures.** No pocket walls at all. The part sits on a flat surface and is held by differential air pressure. Lateral restraint comes from friction (vacuum force times coefficient of friction), not from wall contact. Clearance is not a parameter. - **Adhesive workholding.** The part is bonded to the fixture surface with a thermoplastic or UV-cure adhesive. No pocket, no walls, no clearance. Restraint is the adhesive shear strength. **Related articles:** - [Tool Radius Compensation in Pocket Milling](https://opjaw.com/articles/tool-radius-compensation) — the offset technique that applies the clearance. - [Pocket Depth-to-Width Ratio](https://opjaw.com/articles/pocket-depth-width-ratio) — pocket proportions interact with clearance. - [Material-Specific Clamping: Aluminum, Steel, Titanium](https://opjaw.com/articles/clamping-pressure-by-material) — thermal expansion affects clearance. Source: https://opjaw.com/articles/clearance-fits-workholding-pockets ### Internal Corner Radii and Tool Access 2026-04-04 A 6.35 mm (1/4") endmill cannot cut a corner tighter than 3.175 mm radius. A 3.175 mm (1/8") endmill halves the corner radius but takes four times longer to clear the same pocket volume. Tool selection for fixture pockets is a trade-off between corner access and cycle time. #### 1. The Relationship An endmill is round. The minimum internal corner radius it can produce equals the endmill radius. A 1/4" endmill leaves a 3.175 mm radius at every internal corner. No toolpath strategy changes this — the geometry of a circular cross-section sets a hard floor. ``` Tool diameter Tool radius Min corner radius --------------------------------------------------- 3.175 mm (1/8") 1.588 mm 1.588 mm 4.763 mm (3/16") 2.381 mm 2.381 mm 6.350 mm (1/4") 3.175 mm 3.175 mm 9.525 mm (3/8") 4.763 mm 4.763 mm 12.700 mm (1/2") 6.350 mm 6.350 mm 19.050 mm (3/4") 9.525 mm 9.525 mm ``` The corner radius equals the tool radius at minimum. In practice, you want more than the minimum. Section 3 explains why. #### 2. The Upstream Decision The [tool radius compensation article](https://opjaw.com/articles/tool-radius-compensation) covers what happens after you have chosen a tool — the double-offset technique that produces machinable corners. This section covers the upstream question: given the part geometry, what is the largest tool that can fully machine the pocket? Read the part's external corners. The tightest external corner radius on the part determines the maximum endmill radius. If the part has a 2.0 mm external radius at a corner, the pocket must reproduce that radius plus clearance. The endmill radius must be no larger than the pocket corner radius. ``` Part's tightest external corner radius: 2.0 mm Clearance: 0.15 mm Pocket corner radius at that point: 2.0 + 0.15 = 2.15 mm Maximum endmill radius: 2.15 mm Maximum tool diameter: 2 * 2.15 = 4.3 mm ``` A 4.763 mm (3/16") endmill is too large — its 2.381 mm radius cannot produce a 2.15 mm corner. A 3.175 mm (1/8") endmill works — its 1.588 mm radius is smaller than the required 2.15 mm. The pocket corner will be 2.15 mm (set by the double-offset), and the endmill can reach it. For a part with sharp external corners (radius = 0), the pocket corner radius equals the clearance value alone — typically 0.10–0.25 mm. The endmill radius must be smaller than the clearance, which is impossible for any practical tool. In this case, the double-offset technique inserts corner radii equal to the endmill radius, and the part clears because its sharp corners fit inside the larger radiused pocket corners. #### 3. The 130% Guideline When the pocket corner radius exactly equals the endmill radius (the minimum case), the cutter is 100% radially engaged at the corner. The tool is effectively slotting — the full diameter is in the cut. This produces maximum cutting force, maximum deflection, worst surface finish, and the highest risk of chatter. Industry practice: size the pocket corner radius to at least 130% of the endmill radius. At 1.3x, radial engagement drops significantly, the tool has room to arc through the corner, and cutting forces are more uniform. ``` Corner radius / tool radius Radial engagement Notes ---------------------------------------------------------------------- 1.0x (minimum) 100% (full slot) Max force, chatter risk 1.1x ~85% Marginal improvement 1.2x ~72% Acceptable for most work 1.3x (guideline) ~60% Good balance 1.5x ~45% Conservative, smooth finish 2.0x+ ~30% Diminishing returns ``` For automated fixture generation, the tool selection algorithm targets the largest tool that satisfies the corner constraint with the 130% margin where possible. When the part geometry forces the tool into a tight corner at 1.0x, the double-offset still produces correct geometry — the machining is just harder on the cutter. #### 4. When Features Disappear A part with a narrow protrusion — a thin fin, a mounting tab, a snap-fit clip — creates a narrow slot in the pocket. If the slot width is less than the endmill diameter, the tool cannot enter it. The pocket profile rounds off or removes the feature entirely. OPJAW enforces a minimum edge length of 1.5 mm (matching a 1/8" endmill radius). Features smaller than this in the part profile cannot be faithfully represented in the pocket. The offset operations either collapse them or merge them into adjacent geometry. This is a hard physical limit. A 3.175 mm diameter endmill cannot cut a 2 mm wide slot. The options are: - **Use a smaller endmill.** A 1.5 mm endmill can cut the 2 mm slot, but cycle time increases dramatically — more passes to clear the same volume, more tool changes if roughing with a larger cutter first. - **Accept the feature loss.** If the narrow feature does not affect part seating or clamping, the pocket can omit it. The part still drops in; it just has extra clearance where the feature was. - **Redesign the fixture strategy.** Switch from a profile-following pocket to a bounding-box pocket or a different clamping approach that does not need to trace the feature. #### 5. When This Does Not Apply - **Through-pockets with no internal corners.** An open-ended slot has no concave vertex to constrain the tool. - **Circular pockets.** A round pocket has no corners at all — the tool traces an arc and the corner constraint is irrelevant. - **Wire EDM fixtures.** Wire EDM produces arbitrarily sharp internal corners. The tool diameter constraint applies only to milling. - **Multi-tool strategies.** Rough with a large endmill for volume removal, then finish corners with a small endmill. This eliminates the trade-off but adds cycle time, tool changes, and programming complexity. For high-volume production fixtures it can be worth it; for one-off workholding it rarely is. For most CNC-milled workholding, the single-tool constraint applies. Pick the largest tool that fits the tightest corner, apply the [double-offset technique](https://opjaw.com/articles/tool-radius-compensation), and the pocket is machinable as drawn. **Related articles:** - [Tool Radius Compensation in Pocket Milling](https://opjaw.com/articles/tool-radius-compensation) — what happens after tool selection. - [Pocket Depth-to-Width Ratio](https://opjaw.com/articles/pocket-depth-width-ratio) — tool reach constrains pocket depth. - [Clearance Fits for Workholding Pockets](https://opjaw.com/articles/clearance-fits-workholding-pockets) — clearance at corners. Source: https://opjaw.com/articles/internal-corner-radii-tool-access ### Pocket Depth-to-Width Ratio: When Shallow Pockets Fail 2026-04-04 A 6.35 mm (1/4") endmill at 4:1 depth-to-width cuts 25.4 mm (1.000") deep. Go deeper and the tool chatters, deflects, and breaks. Go shallower and the part lifts out of the pocket under cutting forces. #### 1. The Constraint Endmill stickout determines maximum pocket depth. Tool deflection increases with the cube of unsupported length — double the stickout, eight times the deflection. At 4:1 depth-to-width, deflection is manageable for standard carbide endmills in aluminum. At 5:1 or 6:1, the tool walks off the programmed path, the pocket walls taper, and surface finish degrades to the point where dimensional control is lost. The 4:1 ratio is not a safety factor or a conservative guideline. It is the practical ceiling for standard-length carbide endmills cutting 6061 aluminum at production feeds and speeds. Extended-reach tooling exists, but it requires reduced feed rates, specialty holders, and careful vibration management — none of which a general-purpose fixture generator can assume. #### 2. The 4:1 Rule Maximum pocket depth equals four times the endmill diameter: ``` max_depth = 4 * tool_diameter ``` Common tool diameters and their maximum pocket depths: ``` Tool diameter Max depth (4:1) ------------------------------- 3.175 mm (1/8") 12.7 mm (0.500") 4.763 mm (3/16") 19.05 mm (0.750") 6.35 mm (1/4") 25.4 mm (1.000") 9.525 mm (3/8") 38.1 mm (1.500") 12.7 mm (1/2") 50.8 mm (2.000") ``` A fixture generator that produces a pocket deeper than `4 * tool_diameter` has generated a pocket the shop cannot cut with standard tooling. The pocket may look correct in the STEP viewer. The CAM programmer will reject it or, worse, attempt it and break the tool. #### 3. Grip Depth vs Nest Depth Two different fixture types use pockets at very different depths, for very different reasons. **Soft jaws: grip depth = 12.7 mm (1/2").** The part sits 12.7 mm deep in the pocket. The vise applies lateral clamping force through the jaw faces. A deeper pocket distributes that force over more surface area and prevents the part from riding up under cutting loads. The grip depth of 12.7 mm is the minimum for reliable clamping in a 6-inch vise — enough contact area without exceeding the 4:1 ratio for common endmill sizes. **Fixture plates: nest depth = 3.0 mm.** The part sits in a shallow conforming pocket, held down by toe clamps pressing from above. The pocket locates the part (prevents lateral movement) but does not clamp it. Deep pockets are unnecessary because the clamping force is vertical, not lateral. A 3.0 mm nest depth is enough to register the part position without complicating chip evacuation or part extraction. The distinction matters: grip depth is structural (it carries clamping force), nest depth is positional (it prevents drift). Confusing the two — cutting a 12.7 mm deep pocket in a fixture plate, or a 3.0 mm shallow nest in a soft jaw — produces a fixture that either over-constrains the part or fails to hold it. #### 4. When Deeper Is Worse **Chip evacuation.** Deep pockets trap chips at the bottom. In a 25 mm deep pocket with 0.15 mm per-side clearance, chips have nowhere to go. They accumulate at the pocket floor, get re-cut on the next pass, and score the pocket surface. Scored pocket walls change the effective clearance and can make the part fit tighter than designed. **Coolant access.** Flood coolant and mist nozzles are aimed from above. In a shallow pocket, coolant reaches the cutting zone directly. In a deep pocket, coolant pools at the top edges and the cutting zone at the floor runs dry. Through-spindle coolant helps, but it requires compatible tooling and adds cost. **Part extraction.** A part seated in a tight-clearance pocket resists removal. At 0.15 mm per side in a 25 mm deep pocket, the air column beneath the part creates a suction effect when you try to pull it out. Shops blow compressed air into the pocket to break the seal, or design a through-hole in the pocket floor for ejection. Neither is free. #### 5. When This Doesn't Apply **Through-pockets.** A pocket with no bottom — the cut goes all the way through the jaw stock — has no floor. Chips fall through, coolant drains, and the relevant ratio becomes wall height to wall thickness rather than depth to width. Through-pockets have their own constraints (wall deflection under clamping load), but the 4:1 endmill limit is not one of them. **Parts smaller than the tool diameter.** If the part bounding box is 4.0 mm wide and the endmill is 6.35 mm (1/4"), the pocket width always exceeds the pocket depth regardless of how deep you cut. The aspect ratio is favorable by definition. The constraint that applies here is minimum [internal corner radius](https://opjaw.com/articles/internal-corner-radii-tool-access), not depth-to-width. **Fixture plates.** With a nest depth of 3.0 mm and pocket widths that match the part footprint (typically 20–200 mm), the aspect ratio is always well below 1:1. The 4:1 rule is never the binding constraint for plate fixtures. Thin-wall deflection under clamp force is the constraint that matters there. **Related articles:** - [Internal Corner Radii and Tool Access](https://opjaw.com/articles/internal-corner-radii-tool-access) — tool diameter constrains pocket width. - [Minimum Wall Thickness in CNC Workholding](https://opjaw.com/articles/minimum-wall-thickness-fixtures) — pocket proportions interact with wall thickness. - [Clearance Fits for Workholding Pockets](https://opjaw.com/articles/clearance-fits-workholding-pockets) — depth affects clearance effectiveness. Source: https://opjaw.com/articles/pocket-depth-width-ratio ### Tool Radius Compensation in Pocket Milling 2026-04-01 A 6.35 mm (1/4") endmill leaves a 3.175 mm radius at every internal corner of a pocket. The double-offset technique accounts for this at the CAD level, producing pocket geometry that is machinable as drawn and dimensionally exact on straight walls. #### 1. The Corner Problem Mill a rectangular pocket. The sidewalls come out straight and at the programmed dimension. But look at the corners: every internal vertex has a fillet equal to the endmill radius. The cutter is round. It cannot push material out of a sharp corner. This is not a surprise to anyone who has run a mill. The problem shows up when the pocket is holding a part. If the CAD model for the pocket has sharp internal corners, the model does not represent what the machine actually cuts. The part — which does have sharp external corners — contacts the corner radius and cannot seat fully. Depending on the geometry, it either jams at an angle or sits proud by a few tenths. #### 2. Clearance-Only Offset The obvious fix: offset the part profile outward by the desired clearance and use that as the pocket profile. For a 0.15 mm slip-fit clearance, offset every edge outward by 0.15 mm. The straight walls are now correct — 0.15 mm of air between the part and the pocket wall on each side. The corners are not correct. The offset operation expands the profile uniformly, but the internal corners remain sharp (or nearly so — some CAD kernels insert a tiny arc, but it is far smaller than the endmill radius). When the pocket is actually milled, the endmill still rounds those corners to its own radius. The CAD model says sharp. The physical pocket says 3.175 mm radius. The part's sharp external corner hits the residual material and won't seat flush. For a rectangular part in a rectangular pocket, the interference is small and some shops shim past it. For anything with multiple internal corners at varying angles — an L-bracket, a housing with mounting ears, a part with a step — the accumulated interference makes drop-in fit unreliable. #### 3. The Double-Offset Technique Two offset operations, applied sequentially to the 2D pocket profile: **Step 1.** Offset outward by `clearance + tool_radius`. **Step 2.** Offset inward by `tool_radius`. With a 1/4" endmill (3.175 mm radius) and 0.15 mm clearance: ``` Step 1: offset outward by 0.15 + 3.175 = 3.325 mm Step 2: offset inward by 3.175 mm Net on straight edges: 3.325 - 3.175 = 0.15 mm (exact clearance) Net on internal corners: radius = 3.175 mm (exact tool radius) ``` That is the entire technique. Two offsets. The result is a pocket profile where the straight walls have exactly the specified clearance and every internal corner is radiused to exactly the endmill radius. #### 4. Why It Works The geometry of 2D offset operations explains the result. When you offset a polygon outward, straight edges translate outward by the offset amount. That part is straightforward. At a concave vertex (an internal corner of a pocket), the offset operation inserts a circular arc with radius equal to the offset amount. This is how all CAD kernels handle concave offset — the vertex becomes a fillet. After Step 1, every internal corner has an arc of radius `clearance + tool_radius`. The straight edges have moved outward by the same amount. Step 2 offsets inward by `tool_radius`. On straight edges, this subtracts `tool_radius` from the outward offset, leaving a net of `clearance`. On the arcs at internal corners, the inward offset reduces the arc radius by `tool_radius`, leaving `clearance + tool_radius - tool_radius = clearance`. The profile corner radius is small — just the clearance value (0.15 mm). The endmill can’t cut that tight. It physically cuts a corner of radius `tool_radius` (3.175 mm). But the endmill follows the profile exactly on straight walls, and at corners it opens them up to its own radius. The machined corner is larger than the profile specifies, but the part’s sharp corner clears it with room to spare. Clearance on straight walls: exact. Clearance at corners: more than specified, but no interference. No post-processing, no hand-fitting, no surprises at the machine. External (convex) corners of the pocket are unaffected by this concern — the endmill has no trouble cutting outward-pointing geometry. #### 5. When It Fails The double-offset relies on the CAD kernel producing valid geometry from both offset operations. This works reliably on profiles with straight edges and moderate curves. It fails on: - **Nearly-circular profiles.** The outward offset of a near-circle produces a slightly-larger near-circle. The subsequent inward offset can produce self-intersecting geometry or collapse entirely. The kernel returns degenerate faces or throws. - **Profiles with features smaller than the tool radius.** Narrow slots or thin protrusions in the part profile may disappear or invert during the inward offset step. - **High-curvature concave regions.** When the local radius of curvature is close to the offset amount, the inward offset can produce cusps or self-intersections. The fallback is a single offset by the clearance amount only. The pocket walls get the correct clearance, but internal corners remain sharp in the CAD model. The physical endmill still rounds them — the corner radius is determined by the cutter, not the model. The part will seat, but the CAD geometry no longer matches the physical result exactly. For inspection or downstream automation that reads the STEP output, this mismatch matters. CNC controllers handle this at the toolpath level via G41/G42 cutter compensation. The controller offsets the programmed path by the tool radius at runtime. This is the standard approach for open-contour milling. For enclosed pockets in workholding, handling it at the CAD level via double-offset is more predictable — the STEP file is the single source of truth, and what you see in the model is what the machine cuts. #### 6. Why This Matters for Workholding In workholding, the pocket holds the part. The clearance between part and pocket wall determines whether the part drops in by hand, needs a press, or moves under cutting forces. A few hundredths either way is the difference between a fixture that works and one that doesn't. A clearance-only offset gets the walls right but ignores the corners. For a simple rectangular part, you might get away with it — the corner interference is small and the part can sometimes be persuaded in. For a part with six or eight internal corners at odd angles, the accumulated interference from un-radiused corners can prevent seating entirely. The double-offset eliminates this. Every wall has the specified clearance. Every corner is radiused to the endmill. The part drops in. No shimming, no filing, no running a second cleanup pass with a smaller endmill to chase corners. For automated fixture generation — where the pocket profile is derived from STEP geometry and there is no operator judgment in the loop — the double-offset is not optional. The generated pocket must be machinable as drawn, first time, on any machine with the specified endmill. That is what the technique guarantees. **Related articles:** - [Clearance Fits for Workholding Pockets](https://opjaw.com/articles/clearance-fits-workholding-pockets) — clearance is the other half of pocket sizing. - [Internal Corner Radii and Tool Access](https://opjaw.com/articles/internal-corner-radii-tool-access) — tool selection determines the minimum corner radius. - [How Automated Fixture Generation Works](https://opjaw.com/articles/how-automated-fixture-generation-works) — where double-offset fits in the pipeline. Source: https://opjaw.com/articles/tool-radius-compensation ### Multi-Op Fixturing: Datum Transfer Between Operations 2026-04-04 Op 1 machines the top half. Op 2 machines the bottom. If the two halves do not align, every feature that crosses the parting line is out of tolerance. The fixture is the datum transfer mechanism. #### 1. The Problem Features machined in Op 1 must align with features machined in Op 2. A bore that starts on the top and exits on the bottom has its centerline defined by both operations. Any misalignment between the two setups shows up as a step at the parting line. This is not a theoretical concern. A 0.1 mm shift between operations produces a visible and measurable step on every feature that crosses the parting plane. On a bearing bore, that step becomes a wear point. On an O-ring groove, it becomes a leak path. On a cosmetic surface, it is a reject. #### 2. The Flip A 180-degree rotation around one axis. For an X-axis flip: the part's top becomes its bottom, left stays left, front stays front. The XY center of the bounding box stays at the same coordinates. Z inverts — what was the top face is now at Z=0. The jaw pocket for Op 2 must match the part's Op 2 orientation exactly. The pocket is not a mirror of the Op 1 pocket — it is a pocket generated from the part in its flipped orientation, which may have a completely different cross-section on the gripping plane. #### 3. What Stays the Same The vise itself is the registration device. Both jaw pairs bolt to the same holes on the same vise. The bolt hole pattern defines the coordinate system. As long as the jaw pockets are machined accurately and the bolt holes are in the right place, the part's XY position is maintained across operations. This is why multi-op soft jaws are always generated as a matched set. The Op 1 and Op 2 jaw pairs share the same bolt pattern, the same jaw blank dimensions, and the same coordinate origin. The only thing that changes is the pocket geometry — one matches the part right-side-up, the other matches it flipped. #### 4. Where Error Accumulates Every physical interface between the part and the fixture contributes positioning error. In a two-operation vise setup, the error budget looks like this: ``` Source Contribution (mm) Jaw pocket machining +/- 0.015 Part-to-pocket clearance +/- 0.150 (per side, worst case) Vise repeatability +/- 0.005 Thermal growth between ops +/- 0.010 (varies) ----------------------------------------------- Total worst-case per axis +/- 0.180 Total RSS (root-sum-square) +/- 0.151 ``` The clearance dominates. At 0.15 mm per side (a standard slip fit), the part can shift by that amount in any direction when seated in the pocket. The other sources — machining accuracy of the jaw pocket itself, vise jaw repeatability, and thermal growth if there is a long delay between operations — are an order of magnitude smaller. Tighter clearance (0.10 mm instead of 0.15 mm) reduces the worst-case total to +/- 0.130 mm and the RSS to +/- 0.102 mm, but makes the part noticeably harder to load and unload. Below 0.10 mm, hand loading without an arbor press becomes impractical for most geometries. The RSS figure assumes independent, random errors. In practice, the clearance error is systematic — the part tends to sit in the same position each time if the operator loads it the same way. But for tolerance analysis, worst-case is what matters for qualification. #### 5. Machined-In-Process Locators When the clearance-driven error is too large, the solution is to machine registration features into the part during Op 1 that positively locate it in Op 2. The standard approach: ream two dowel pin holes in Op 1, in locations that will not interfere with Op 2 features. The Op 2 fixture has matching dowel pins. When the part is flipped and loaded into Op 2, the dowel pins register it to within the reaming tolerance — typically +/- 0.005 mm. The clearance-dependent error term drops to near zero. This is worth the extra machining time when: - **Crossing-feature tolerances are below 0.05 mm (0.002").** The fixture clearance alone cannot guarantee alignment this tight. - **The part is a high-value material.** Titanium, Inconel, or other expensive stock where a scrapped part costs more than the extra Op 1 cycle time for reaming two holes. - **The part has a critical bore or seal surface crossing the parting plane.** Bearing fits and O-ring grooves are the usual drivers. #### 6. When This Does Not Apply Parts machined in a single operation need no datum transfer — there is no second setup to align with. If all features are accessible from one direction, the problem does not exist. Parts that can be probed in-machine offer another path. A touch probe establishes the Op 2 work coordinate system from Op 1 features directly, eliminating the fixture as the datum transfer mechanism. This requires a probe-equipped machine and a probing routine, but removes the fixture from the error budget entirely. The part's own machined features become the datum, not the jaw pocket. Generating complementary jaw pairs from STEP geometry eliminates manual pocket modeling. [Upload a STEP file](https://opjaw.com/) to generate Op 1 and Op 2 jaws. **Related articles:** - [Clearance Fits for Workholding Pockets](https://opjaw.com/articles/clearance-fits-workholding-pockets) — pocket clearance for both ops. - [Datum Reference Schemes for Fixture Design](https://opjaw.com/articles/datum-reference-schemes-fixture-design) — the datum scheme foundation. - [Zero-Point Clamping: Repeatability and When It Matters](https://opjaw.com/articles/zero-point-clamping-repeatability) — repeatability between setups. Source: https://opjaw.com/articles/multi-op-datum-transfer ### Datum Reference Schemes for Fixture Design 2026-04-04 The surface the CMM touches to inspect the part should be the same surface the fixture touches to hold it. When they are not, every tolerance on the drawing is referenced to a datum the fixture does not control. #### 1. 3-2-1 Locating Three contact points define the primary plane — constraining Z translation, X rotation, and Y rotation (3 DOF). Two contact points define the secondary line — constraining Y translation and Z rotation (2 DOF). One contact point defines the tertiary position — constraining X translation (1 DOF). Total: six degrees of freedom, fully constrained. Every fixture implements some version of this, even if the operator does not think about it that way. A vise jaw is a secondary datum. A hard stop is a tertiary datum. The bottom of the vise or fixture plate is the primary datum. The language is GD&T. The physics is older than GD&T. #### 2. Datum A: Seating Face The primary datum is the seating face — the largest Z-aligned flat face on the part. It must be large enough to resist cutting torque without the part rocking. In OPJAW's surface analyzer, a face qualifies as "flat" if its normal is within 5 degrees of the approach axis. The alignment threshold is `cos(5°) ≈ 0.9962`. The function `get_flat_faces(shape, approach_axis=Axis.Z, angle_tolerance=5.0)` collects all planar faces, filters by alignment, and returns them sorted by area descending. The largest qualifying face becomes the seating surface. `orient_to_seating_face(part)` takes this face, flips the part if the face normal points up, and translates so the seating face sits at Z=0, centered on the XY origin. If no face passes the alignment filter, there is no primary datum. The function raises `ToolingCompatibilityError`. The part cannot be fixtured with a planar seating scheme — it needs a conforming fixture, V-block, or collet. When multiple faces are equally large, the choice is ambiguous. The surface analyzer picks the first by sort order, but two faces with near-identical area and different orientations can produce completely different fixture setups. This is where operator judgment — or a more sophisticated heuristic — must intervene. #### 3. Datum B: Clamp Direction **For vise jaws:** the clamping axis is the secondary datum. The jaw faces constrain the part's position perpendicular to the clamping direction. The part seats on the primary datum (vise bottom or parallels), and the jaw faces establish the secondary reference. **For fixture plates:** a side stop or dowel pin pair constrains rotation around the seating face normal and translation in one horizontal axis. Two pins on one edge give you two contact points — the minimum for a secondary datum. #### 4. Datum C: Position Along Clamp Axis A hard stop, locating pin, or jaw shoulder sets the part's position along the clamping axis. Without this, the part can slide between the jaws. On a fixture plate, this is typically a single dowel pin or an end stop perpendicular to the secondary stops. One contact point — the minimum for a tertiary datum. The tertiary datum is the one most often neglected. Operators push the part against the jaw and call it located. For single-operation roughing, this is usually fine. For multi-operation work where you need to return to the same position after flipping, it is not. See [Multi-Op Fixturing: Datum Transfer Between Operations](https://opjaw.com/articles/multi-op-datum-transfer) for the full picture. #### 5. When 3-2-1 Fails **No flat face.** The pipe cross (`04_pipe_cross.step` in the stress test set) has a flat ratio of 1.4% — effectively no seating surface. The ratio is computed as `z_aligned_flat_count / total_face_count`. The surface analyzer finds no qualifying face and raises `ToolingCompatibilityError`. The auto-selector scores this part low on every strategy that requires a seating plane. **Ambiguous primary datum.** Parts with multiple equally-large faces create ambiguous primary datums. A cube has six faces of identical area. The seating face depends on which orientation the operator chooses — or which face the sort order happens to pick. **Curved primary surfaces.** Spheres, cylinders, and other non-planar surfaces cannot define a plane with three points. They need conforming fixtures: cradles, V-blocks, or custom-shaped nests that make contact along a curve rather than at discrete points. For a deeper look at how OPJAW handles parts that defeat the standard strategies, see [Fixture Selection for Irregular Parts](https://opjaw.com/articles/fixture-selection-irregular-parts). #### 6. When This Does Not Apply **Collet holding.** A collet constrains four degrees of freedom simultaneously — radial position in X and Y, plus tilt around both horizontal axes. The collet grip replaces both the primary plane and the secondary line. Only axial position and rotation around the collet axis remain unconstrained (set by a stop and an orientation key, respectively). **Adhesive fixturing.** The adhesive bond constrains the seating plane, but secondary and tertiary location depend on part placement accuracy. There is no mechanical datum — the operator places the part by eye or against a reference edge. **Magnetic chucks.** The magnetic field pulls the part flat against the chuck surface (primary plane), but does not constrain XY position. Lateral location depends on stops, fences, or the operator. This is a one-datum fixture. **Related articles:** - [Multi-Op Fixturing: Datum Transfer Between Operations](https://opjaw.com/articles/multi-op-datum-transfer) — datum transfer between operations. - [Fixture Selection for Irregular Parts](https://opjaw.com/articles/fixture-selection-irregular-parts) — datum availability drives selection. - [Zero-Point Clamping: Repeatability and When It Matters](https://opjaw.com/articles/zero-point-clamping-repeatability) — zero-point datum integration. Source: https://opjaw.com/articles/datum-reference-schemes-fixture-design ### Clamping Force and Part Deflection 2026-04-04 A 6-inch vise delivers 20–40 kN of clamping force. Distributed across two 50.8 mm (2.000″) jaw faces, that is 200–400 N/mm of contact pressure. Whether that deforms the part depends on the wall thickness, the material, and how the force distributes. #### 1. The Requirement Clamping force must exceed cutting force divided by the friction coefficient between the jaw face and the part surface: ``` F_clamp >= F_cut / mu ``` If the clamping force is too low, the part slips during a cut. The result is a crash — the endmill catches the moving part, the tool breaks, and the part is scrap. Typical static friction coefficients for jaw-to-part contact: - **Steel jaw on aluminum part:** mu = 0.3–0.5 - **Steel jaw on steel part:** mu = 0.15–0.25 (lower — less friction between similar hardnesses) - **Serrated jaw on any metal:** mu = 0.5–0.8 (teeth bite in, but mark the surface) Lower friction means you need more clamping force to hold the same cutting load. Steel-on-steel is the worst case for smooth jaws — the part wants to slide. #### 2. Estimating Cutting Force The tangential cutting force on a single-flute engagement: ``` Ft = Kc * ae * ap * fz ``` Where `Kc` is the specific cutting force (N/mm²), `ae` is radial depth of cut (mm), `ap` is axial depth of cut (mm), and `fz` is feed per tooth (mm). Typical `Kc` values: - **6061-T6 aluminum:** ~800 N/mm² - **1018 steel:** ~2,000 N/mm² - **Ti-6Al-4V titanium:** ~1,500 N/mm² **Worked example.** Roughing 6061-T6 with a 6.35 mm (1/4″) endmill. 3.175 mm radial DOC, 12.7 mm axial DOC, 0.05 mm/tooth chipload: ``` Ft = 800 * 3.175 * 12.7 * 0.05 Ft = 800 * 2.016 Ft = 1,613 N ``` This is the peak tangential force on a single flute. With a 3-flute endmill, only one flute is cutting at a time in a slotting cut (engagement angle < 120°), so `Ft` is the instantaneous peak. For conservative clamping calculations, use this peak value — it is the force that could push the part out of the jaws. #### 3. The Safety Factor Minimum clamping force from the static equilibrium: ``` F_clamp >= F_cut / mu ``` Industry standard safety factor: 2x–3x. This accounts for interrupted cuts, engagement spikes when entering material, and uncertainty in the friction coefficient (surface finish, coolant, contamination). **Worked example.** The 1,613 N cutting force from above, steel jaw on aluminum (mu = 0.4), safety factor 2.5: ``` F_clamp >= 1,613 / 0.4 * 2.5 F_clamp >= 4,032.5 * 2.5 F_clamp >= 10,081 N ``` A 6-inch vise at moderate handle torque delivers 20,000+ N. The requirement is met with margin. This is typical — for aluminum in a properly sized vise, slippage is not the failure mode. The failure mode is deformation. #### 4. The Deformation Crossover Contact pressure from the clamping force: ``` P = F_clamp / (jaw_height * contact_length * 2 jaws) ``` **Worked example.** 20 kN clamping force, 50.8 mm jaw height, 25 mm part contact length per side: ``` P = 20,000 / (50.8 * 25 * 2) P = 20,000 / 2,540 P = 7.87 MPa ``` Compare to material yield strengths: - **6061-T6 aluminum:** 276 MPa — safe by 35x - **1018 steel:** 370 MPa — safe by 47x - **Ti-6Al-4V titanium:** 880 MPa — safe by 112x For a solid part with full jaw contact, the surface pressure from a vise is far below yield. The jaw will not mark the part through direct compression. **But thin walls change everything.** A thin wall fails in bending, not compression. The clamping force pushes the wall inward. The wall acts as a cantilever — fixed at the base, loaded along the jaw contact height. The bending stress at the base of the wall is: ``` sigma = (F_wall * h) / (L * t^2 / 6) ``` Where `F_wall` is the force on one wall (half the total clamping force), `h` is the height where the force acts (half the jaw height for distributed load), `L` is the wall length, and `t` is the wall thickness. The `t²` term dominates — halving the wall thickness quadruples the bending stress. A 2 mm wall on a 6061-T6 part can deflect visibly at 20 kN of clamping force. The jaw does not mark the surface through compression — it bows the wall inward. The part comes out of the vise with a permanent set. This is why minimum wall thickness (typically 2–3 mm for aluminum) is a critical parameter in automated fixture generation. #### 5. When This Does Not Apply The clamping-force-versus-cutting-force model assumes friction-based workholding — a vise or clamp pressing on the part. Other fixturing methods have different force models: - **Vacuum fixturing.** Holding force = atmospheric pressure (101 kPa) multiplied by the sealed area. A 100 x 100 mm vacuum chuck: 101,000 * 0.01 = 1,010 N maximum. Far below vise clamping force. Suitable for light finishing cuts on large, flat parts. - **Adhesive workholding.** Holding force = shear strength of the adhesive bond layer multiplied by the bonded area. Depends on adhesive type, surface preparation, and cure state — not clamping pressure. - **Magnetic chucks.** Pull-down force per unit area from the magnet specification. Varies with air gap (surface finish), part material (permeability), and part thickness. Only works on ferromagnetic materials. For these methods, the limiting factor is total holding force, not contact pressure. Deformation is rarely a concern because the forces are lower. The tradeoff is that they cannot resist the cutting forces that a vise handles easily. **Related articles:** - [Thin-Wall Clamping: Deflection Limits and Jaw Design](https://opjaw.com/articles/thin-wall-clamping-deflection) — thin-wall deflection model in detail. - [Material-Specific Clamping: Aluminum, Steel, Titanium](https://opjaw.com/articles/clamping-pressure-by-material) — material-specific force considerations. - [Minimum Wall Thickness in CNC Workholding](https://opjaw.com/articles/minimum-wall-thickness-fixtures) — when wall stiffness becomes the constraint. Source: https://opjaw.com/articles/clamping-force-part-deflection ### Thin-Wall Clamping: Deflection Limits and Jaw Design 2026-04-04 A 1.5 mm (0.060”) aluminum wall deflects 0.08 mm (0.003”) under light lateral jaw pressure. That is enough to push the part out of tolerance before a tool touches it. #### 1. The Problem A standard 6-inch vise delivers 20–40 kN of clamping force. Distributed across a 50.8 mm (2”) tall jaw face, the contact pressure ranges from 5–15 MPa depending on the contact area. For solid or thick-walled parts, this produces negligible deflection. For a 6061-T6 aluminum enclosure with 1.5 mm (0.060”) walls, the story is different. The jaw pushes laterally on the thin wall. The wall bends inward. The part geometry is distorted before the spindle starts. The wall acts as a cantilever — fixed where it connects to the part base at the pocket floor, loaded along the grip depth by the jaw. The unsupported span is the grip depth: 12.7 mm (1/2”) in a standard setup. The wall’s bending stiffness depends on the cube of its thickness. Halve the thickness, deflection increases 8×. #### 2. Deflection Model Model the thin wall as a uniformly loaded cantilever. One end fixed at the pocket floor, jaw pressure distributed along the grip depth to the jaw lip. ``` delta = p * L^4 / (8 * E * I) where: delta = max wall deflection at jaw lip (mm) p = lateral jaw pressure on wall (MPa) L = grip depth (mm) E = elastic modulus (68,900 MPa for 6061-T6) I = t^3 / 12 per unit width (mm^4/mm) t = wall thickness (mm) ``` Deflection scales as the inverse cube of wall thickness. Halving wall thickness increases deflection 8×. Worked example — 6061-T6 aluminum, 0.5 MPa lateral jaw pressure, 12.7 mm (1/2”) grip depth, 1.5 mm wall: ``` I = 1.5^3 / 12 = 0.281 mm^4/mm delta = 0.5 * 12.7^4 / (8 * 68,900 * 0.281) = 13,008 / 154,887 = 0.084 mm (0.003") ``` Three thou under light clamping. Tight-tolerance work starts at ±0.025 mm (±0.001”). This deflection is 3× that threshold. Recalculate with t = 1.0 mm (0.040”): ``` I = 1.0^3 / 12 = 0.083 mm^4/mm delta = 13,008 / (8 * 68,900 * 0.083) = 13,008 / 45,750 = 0.284 mm (0.011") ``` Eleven thou. The part is scrap before machining starts. ``` Conditions: p = 0.5 MPa, L = 12.7 mm, 6061-T6 aluminum t (mm) I (mm^4/mm) delta (mm) delta (in) ------ ----------- ---------- ---------- 1.0 0.083 0.284 0.011 1.5 0.281 0.084 0.003 2.0 0.667 0.035 0.001 3.0 2.250 0.010 0.0004 5.0 10.417 0.002 <0.0001 ``` The 3.0 mm row is the structural minimum for soft jaw pocket walls. Below 2.0 mm (0.080”), standard jaw clamping produces measurable deformation at any realistic pressure. #### 3. Contact Area The distinction that matters: flat jaw face versus conformal pocket. **Flat hard jaw.** Contact concentrates at two edges — the jaw lip and the pocket floor. The wall sees point loads at these lines. Local pressure at the contact edges is much higher than the average across the jaw face. The wall deflects between the contact points exactly as the cantilever model predicts. **Conformal soft jaw pocket.** The pocket shape matches the part profile. Contact across the entire wall height within the grip zone. Same total clamping force, but pressure drops proportionally to the contact area. The wall is backed by the jaw along its full height and cannot bow inward. This is the primary advantage of soft jaws for thin-walled parts. The pocket does not just hold the part — it supports the wall against clamping force. The jaw acts as a backing plate. The structural minimum for soft jaw pocket walls is 3.0 mm. Below this, the jaw material between the pocket surface and the jaw’s bolt holes is too thin to resist cutting forces without deflecting itself. The pocket [clearance fit](https://opjaw.com/articles/clearance-fits-workholding-pockets) must be tight enough to maintain this support — a sloppy pocket allows the wall to shift before the jaw makes contact. #### 4. Grip Depth For conformal soft jaws, deeper grip means more wall in contact with the jaw and lower pressure per unit area. But deeper pockets face constraints: - The [4:1 depth-to-width aspect ratio](https://opjaw.com/articles/pocket-depth-width-ratio) limit. A 6.35 mm (1/4”) endmill reaches 25.4 mm (1”) at 4:1. Standard grip depth: 12.7 mm (1/2”). - Deeper grip means more of the part is buried in the pocket — less surface accessible to cutting tools for the machining operation. - For thin-walled parts, increase grip depth toward 19.0 mm (3/4”) or 25.4 mm (1”) if the aspect ratio and tool access allow. With flat hard jaws, deeper grip makes the problem worse. The cantilever span increases with grip depth, and deflection scales as L^4. Doubling grip depth at constant pressure increases deflection 16×. The solution for thin walls is not deeper flat jaws — it is conformal jaws that eliminate the cantilever. #### 5. When This Doesn’t Apply - **Thick-walled parts (>5 mm / 0.200” walls).** Deflection under standard clamping is negligible. Hard jaws work fine. - **Parts with stiffening ribs, gussets, or internal webbing.** The effective bending stiffness is much higher than the measured wall thickness suggests. A 1.5 mm wall with 3 mm ribs at 20 mm spacing behaves like a thicker section. - **Castings and forgings with variable wall thickness.** The thinnest section governs, not the average. A part with 5 mm walls and one 1.2 mm section will deflect at the thin spot. - **Short walls.** If the wall height within the grip is less than 3–4× the wall thickness, the beam model overestimates deflection. The wall acts more like a compression element than a bending beam. The [double-offset technique](https://opjaw.com/articles/tool-radius-compensation) for pocket corner geometry is a separate concern — it handles the endmill radius at internal corners, not wall deflection. Both matter. A pocket that accounts for tool radius but ignores wall deflection still produces a bad part if the walls are thin. **Related articles:** - [Clamping Force and Part Deflection](https://opjaw.com/articles/clamping-force-part-deflection) — the underlying force model. - [Minimum Wall Thickness in CNC Workholding](https://opjaw.com/articles/minimum-wall-thickness-fixtures) — when walls are too thin. - [Material-Specific Clamping: Aluminum, Steel, Titanium](https://opjaw.com/articles/clamping-pressure-by-material) — material properties affect deflection. Source: https://opjaw.com/articles/thin-wall-clamping-deflection ### Tall Part Stability: Moment Arms and Clamping Depth 2026-04-04 A cutting force of 500 N at 80 mm above the jaw grip line generates 40 N·m of torque. That is enough to rock a 2 kg aluminum part out of a pocket with 0.15 mm clearance. #### 1. The Moment Arm Every cut exerts force on the part. In a vise, the part is gripped along a band near its base — the jaw contact zone. Everything above that zone is an overhanging lever. The cutting force at the tool tip acts at a distance `h` from the effective center of the grip zone. That distance is the moment arm. The overturning torque is: ``` M = F_cut * h ``` where `F_cut` is the lateral cutting force and `h` is the height from the grip line to the cutting point. A 500 N side force at 80 mm above the grip: `500 * 0.080 = 40 N·m`. Double the height, double the torque. The force does not change — the lever does. #### 2. When It Tips The clamping force resists tipping through friction. The jaws press inward on both sides of the part. Friction between the jaw faces and the part surfaces creates a restoring moment around the same pivot point — the jaw lip. The restoring moment: ``` M_restore = F_clamp * mu * (w_grip / 2) ``` where `F_clamp` is the total [clamping force](https://opjaw.com/articles/clamping-force-part-deflection), `mu` is the coefficient of friction between the jaw and the part, and `w_grip / 2` is the distance from the grip center to the jaw lip (half the grip width). The part tips when the overturning moment exceeds the restoring moment: ``` F_cut * h > F_clamp * mu * (w_grip / 2) ``` **Worked example.** A 25 mm wide part gripped 15 mm deep in the jaws. Clamping force: 10,000 N. Friction coefficient (aluminum on steel, dry): 0.3. Cutting force: 500 N at 80 mm above the grip line. ``` Overturning: 500 * 0.080 = 40.0 N·m Restoring: 10000 * 0.3 * (0.015 / 2) = 22.5 N·m 40.0 > 22.5 → the part tips ``` The safety margin is negative. Either the grip depth must increase, the cutting forces must decrease (lighter passes), or supplemental support is needed. #### 3. Deeper Grip, More Stability Increasing the grip depth does two things simultaneously. First, it lowers `h` — more of the part is inside the jaws, so the exposed height above the grip line decreases. Second, it increases `w_grip` — the jaw contacts more of the part surface, widening the restoring moment arm. Reworking the example with 30 mm grip depth instead of 15 mm: ``` New h: 80 - 15 = 65 mm (15 mm lower cutting point relative to grip) Overturning: 500 * 0.065 = 32.5 N·m Restoring: 10000 * 0.3 * (0.030 / 2) = 45.0 N·m 32.5 < 45.0 → the part holds ``` But grip depth is limited by three constraints: - **Pocket aspect ratio.** The manufacturing checks enforce a maximum [depth-to-width ratio of 4:1](https://opjaw.com/articles/pocket-depth-width-ratio). A 6 mm wide feature cannot have a 30 mm deep pocket — no standard endmill can reach without deflection or chatter. - **Jaw height.** Soft jaws have a fixed blank height. At 50.8 mm (2 inches), that is the absolute maximum pocket depth, and practical grip depth is less after accounting for the jaw mounting step. - **Tool access.** The deeper the grip, the more of the part is hidden inside the jaws. Features near the base of the part become unreachable by the cutting tool. The grip depth must leave enough of the part exposed for the required machining operations. #### 4. Side Support When deeper grip is not enough or not possible — either the pocket aspect ratio is already at the limit, or the machining operations require access to the lower portion of the part — supplemental support adds rigidity without deepening the pocket. - **Support towers (Mitee-Bite style).** Threaded pillars that press against the side of the part above the jaw line. Each tower adds a contact point that resists the overturning moment at a higher location. - **Screw jacks at the top.** A jack positioned at the top of the part directly opposes the cutting force at its point of application. Even a small force at the full height of the part produces a large restoring moment. - **Step jaws.** Jaws machined with multiple contact shelves at different heights. Instead of a single grip band near the base, the jaw contacts the part at two or three heights, distributing the restoring force across the full exposed surface. Each option adds setup time and complexity. Support towers need to be positioned to avoid the tool path. Screw jacks need clearance for the spindle. Step jaws are custom to the part geometry. The trade-off is always stability versus setup cost. #### 5. Compactness as a Proxy The bounding box compactness ratio provides a quick assessment of tall-part risk without calculating forces: ``` compactness = min(X, Y, Z) / max(X, Y, Z) ``` A cube has compactness 1.0. A 25 × 25 × 100 mm bar has compactness 0.25. The lower the ratio, the taller and thinner the part relative to its base. - **Above 0.5:** Standard vise clamping is generally stable for typical cutting forces. - **0.3 to 0.5:** Marginal. Stable for light finishing passes, risky for aggressive roughing. Consider deeper grip or lighter feeds. - **Below 0.3:** Standard vise clamping is marginal for aggressive cuts. Supplemental support or reorientation is likely needed. The auto-selector uses this metric directly. Vise strategies receive a compactness bonus of 0.2 (single-op) or 0.15 (multi-op) when scoring part suitability — compact parts score higher for vise fixturing because they are inherently more stable. Parts with low compactness are penalized, pushing the selector toward fixture plate strategies where the part lies flat and the moment arm problem disappears. #### 6. When This Does Not Apply The moment arm analysis assumes a vertical part gripped near its base in a standard vise orientation. Several common situations change the geometry enough that the analysis does not apply directly: - **Horizontal machining centers.** On a tombstone, the part is mounted sideways. Gravity pulls perpendicular to the clamping axis rather than along it. The moment arm from cutting forces still matters, but the weight of the part creates a different tipping geometry. - **Wide base, narrow top.** A part shaped like a truncated pyramid is naturally stable. The center of gravity is low, and the wide base provides a large restoring moment arm. The compactness ratio alone does not capture this — it treats a top-heavy part the same as a bottom-heavy one. - **Fixtured on its side.** Reorienting the part so the tall dimension lies along the vise jaw (horizontal instead of vertical) can eliminate the moment arm problem entirely. A 25 × 25 × 100 mm bar stood upright has 75 mm of overhang. Laid on its side, the overhang is zero. If the machining operations allow this orientation, it is the simplest fix. **Related articles:** - [Clamping Force and Part Deflection](https://opjaw.com/articles/clamping-force-part-deflection) — force model for tall parts. - [Pocket Depth-to-Width Ratio](https://opjaw.com/articles/pocket-depth-width-ratio) — grip depth limits. - [Minimum Wall Thickness in CNC Workholding](https://opjaw.com/articles/minimum-wall-thickness-fixtures) — wall stiffness for deep pockets. Source: https://opjaw.com/articles/tall-part-stability ### Material-Specific Clamping: Aluminum, Steel, Titanium 2026-04-04 Aluminum marks under hard jaws at 30 MPa of contact pressure. Titanium doesn't mark until 200 MPa. Clamping titanium with the same strategy as aluminum wastes 85% of the available clamping force — and the part moves. #### 1. The Material Matrix Each material property affects a different fixturing decision. Yield strength determines the clamping force ceiling — exceed it and the jaw marks the part. CTE (coefficient of thermal expansion) determines clearance budget — a high-CTE material grows more per degree of temperature change, requiring looser clearance. Thermal conductivity determines whether cutting heat accumulates at the fixture interface or dissipates quickly. The marking threshold is approximately 10% of yield strength on finish surfaces. Below that, jaw contact leaves no visible witness marks. ``` Material Yield (MPa) CTE (um/m/C) Conductivity (W/m-K) Marking ~(MPa) ───────────────────────────────────────────────────────────────────────────────────── 6061-T6 Al 276 23.6 167 ~28 1018 Steel 370 11.7 51.9 ~37 4140 Steel 655 11.2 42.6 ~66 303 SS 240 17.2 16.2 ~24 Ti-6Al-4V 880 8.6 6.7 ~88 PEEK 100 47 0.25 ~10 Delrin (POM) 70 110 0.37 ~7 ``` #### 2. Aluminum 6061-T6 Yield 276 MPa. CTE 23.6 um/m/C. Thermal conductivity 167 W/m-K. Soft, marks easily. Hard jaw serrations leave witness marks on finish surfaces at moderate clamping force. Use aluminum soft jaws — softer than or equal hardness to the part — to eliminate jaw marks entirely. The jaw deforms before the part does. High CTE means the part grows with temperature. A 100 mm aluminum part gains 0.024 mm per degree C of temperature rise. Over a 10°C rise from cutting heat, that is 0.24 mm of growth — more than a typical 0.15 mm clearance. Generous clearance (0.15–0.20 mm) accommodates this. Aluminum conducts heat well, so the fixture warms up too, but it also cools fast with high-volume coolant. Recommended setup: aluminum soft jaws, 0.15 mm clearance, flood coolant. Hard jaws acceptable for roughing operations where surface finish does not matter. #### 3. Steel (1018, 4140, 303 SS) Yield 370–655 MPa. CTE 11–17 um/m/C. Thermal conductivity 16–52 W/m-K. Moderate thermal expansion — standard clearances (0.15–0.20 mm) work. Tolerates harder clamping without marking. Serrated hard jaws are acceptable for roughing operations across all three grades. **1018 mild steel.** Low yield (370 MPa) but high enough for most clamping. Standard setup. No special considerations beyond normal clearance. **4140 pre-hardened.** Yield 655 MPa. Can use tighter clearances (lower CTE at 11.2 um/m/C means less thermal growth) and higher clamping force (higher yield ceiling). Good candidate for aggressive roughing setups where rigidity matters more than surface finish. **303 stainless.** Yield only 240 MPa — lower than 6061-T6 aluminum. Gummy material that smears under concentrated pressure. Use soft jaws for finish surfaces. The low thermal conductivity (16.2 W/m-K) means heat accumulates at the cut zone more than with carbon steels. Moderate coolant flow helps. #### 4. Titanium (Ti-6Al-4V) Yield 880 MPa. CTE 8.6 um/m/C. Thermal conductivity 6.7 W/m-K. Three consequences for fixturing: **Massive clamping force ceiling.** Titanium can take clamping pressures that would destroy aluminum. The marking threshold is approximately 88 MPa — three times what aluminum tolerates. Use it. Titanium's high strength means cutting forces are high, and the fixture must resist them. Under-clamping titanium causes part movement during heavy roughing passes. Serrated hard jaws are appropriate. **Tight clearances are safe.** CTE of 8.6 um/m/C is one-third of aluminum. A 100 mm titanium part gains only 0.009 mm per degree C — less than a tenth of a millimeter over a 10°C rise. Clearances of 0.10–0.15 mm are safe and improve rigidity by reducing part movement in the pocket. **Terrible thermal conductivity.** At 6.7 W/m-K, titanium conducts heat 25x worse than aluminum. Cutting heat stays at the cut zone. The part gets hot locally while the fixture stays cool. This thermal gradient causes localized expansion that differs from the uniform growth model. Flood coolant is mandatory — not mist. Direct the flood at the cut zone to remove heat before it conducts into the fixture interface. Recommended setup: serrated hard jaws, supplemental side support where geometry allows, 0.10–0.15 mm clearance, flood coolant, climb milling to reduce cutting forces. #### 5. Engineering Plastics (PEEK, Delrin) Yield 70–100 MPa. CTE 47–110 um/m/C. Thermal conductivity 0.25–0.37 W/m-K. Three problems converge: **Very low yield.** PEEK yields at 100 MPa, Delrin at 70 MPa. The marking threshold is 7–10 MPa — a fraction of what metals tolerate. Steel jaw serrations leave permanent deformation, not just surface marks. Even smooth jaws can deform thin-walled plastic parts under moderate clamping force. **Extreme CTE.** Delrin at 110 um/m/C grows 10x more than aluminum per degree. A 100 mm Delrin part gains 0.11 mm per degree C of temperature rise. Over a 10°C rise, that is 1.1 mm — enough to jam the part in a tight pocket or cause it to lose contact with the pocket walls as it cools. Clearance must account for this: 0.20–0.30 mm minimum, potentially more for large parts or operations that generate significant heat. **Creep under sustained load.** Plastics deform slowly under constant stress. A part clamped at moderate pressure for an extended operation will slowly change shape in the fixture. The longer the cycle time, the worse this gets. Minimize clamping force and cycle time. If the operation requires extended machining, re-seat the part between operations. Recommended setup: vacuum fixturing where the geometry allows (flat reference surface required). If using soft jaws: maximum contact area to distribute clamping force, minimum clamping pressure, aluminum jaws — not steel. Steel jaws are harder than the part by a factor of 5–10 and leave permanent marks. #### 6. When This Doesn't Apply Composite materials — carbon fiber, fiberglass, Kevlar layups — are anisotropic. Their mechanical properties depend on fiber orientation. Clamping perpendicular to fibers causes delamination. Clamping parallel to fibers compresses the matrix without engaging the reinforcement. Composites require an entirely different fixturing approach: vacuum on flat tool plates, adhesive bonding, or conformal fixtures that distribute load across the surface. The material-property-to-clamping-strategy mapping in this article assumes isotropic materials and does not apply to fiber-reinforced composites. **Related articles:** - [Clamping Force and Part Deflection](https://opjaw.com/articles/clamping-force-part-deflection) — the force model. - [Minimum Wall Thickness in CNC Workholding](https://opjaw.com/articles/minimum-wall-thickness-fixtures) — material affects minimum wall. - [Thin-Wall Clamping: Deflection Limits and Jaw Design](https://opjaw.com/articles/thin-wall-clamping-deflection) — deflection varies by material. Source: https://opjaw.com/articles/clamping-pressure-by-material ### Minimum Wall Thickness in CNC Workholding 2026-04-04 The wall between a jaw pocket and the jaw edge is a structural member — not leftover material. Under vise clamping force, a 3.0 mm aluminum wall deflects measurably. Below 1.0 mm, the CNC mill cannot produce the wall reliably. These two thresholds govern every pocket layout decision. #### 1. Two Thresholds **Manufacturing minimum: 1.0 mm.** Below this, the CNC mill cannot produce the wall reliably. The endmill deflects, the wall chatters, and thin sections break out during cutting. This is a hard limit imposed by the machining process — it applies to any material, any fixture type. The codebase enforces this as the default constraint in wall thickness checks. **Structural minimum for soft jaws: 3.0 mm.** Below this, the wall deflects under vise clamping pressure and the pocket dimensions change while the part is being machined. The 3.0 mm value is calibrated for 6061-T6 aluminum jaws at standard vise forces (20–40 kN total). The wall must be stiff enough that clamping loads do not measurably close the pocket. The manufacturing minimum prevents the wall from being made. The structural minimum prevents the wall from working. Both are checked — the structural minimum dominates for soft jaws because 3.0 mm > 1.0 mm. #### 2. Where Thin Walls Appear Three locations in a soft jaw produce walls that approach the structural minimum: - **Between the pocket and the jaw edge.** The part sits close to the outer face of the jaw, leaving minimal material between the pocket wall and the jaw's exterior. This wall takes the full lateral component of clamping force. - **Between the pocket and a mounting bolt hole.** The bolt clearance hole is 13.494 mm (17/32") diameter — a 1/2"-13 clearance hole. When the pocket boundary passes near a bolt hole, the material between the two circular/rectangular cutouts can drop below the minimum. - **Between two pockets on a multi-cavity fixture.** Two parts side by side share a common wall. Each pocket removes material from both sides, leaving a thin divider that must resist clamping loads from both cavities. #### 3. The Calculation Model the jaw wall as a fixed-free cantilever. The wall is fixed at its base (where it meets the jaw body) and free at the top (where it meets the pocket opening). The clamping force acts laterally on the free end. ``` Given: t = 3.0 mm wall thickness h = 50.8 mm jaw height (cantilever length) w = 25 mm wall width (depth into page) F = 5 kN load on this wall section E = 69 GPa Young's modulus, 6061-T6 Moment of inertia (rectangular section): I = w * t^3 / 12 I = 25 * 3.0^3 / 12 I = 56.25 mm^4 Deflection (cantilever, point load at free end): delta = F * h^3 / (3 * E * I) delta = 5000 * 50.8^3 / (3 * 69000 * 56.25) delta = 5000 * 131096.512 / 11643750 delta = 0.056 mm ``` A 3.0 mm wall deflects 0.056 mm (0.0022") under 5 kN. This is within tolerance for most workholding — the pocket closes by roughly half a tenth per side. At 2.0 mm wall thickness, `I` drops to 16.67 mm^4 and deflection triples to 0.19 mm — nearly two tenths, enough to shift the part under cutting loads. The cube relationship matters: halving the wall thickness increases deflection by 8x. A wall that barely works at 3.0 mm fails catastrophically at 1.5 mm. #### 4. The Detection Algorithm The codebase detects thin walls regardless of orientation. The algorithm: - **Collect all planar faces** from the solid, recording each face's outward normal (corrected for face orientation). - **Find anti-parallel pairs.** For every pair of planar faces, compute the dot product of their normals. If the dot product is less than −0.9, the faces point in opposing directions — they form the two sides of a wall. - **Measure the minimum distance** between each opposing pair using `BRepExtrema_DistShapeShape`. This gives the thinnest point between the two faces — the wall thickness. - **Flag violations.** If the minimum distance is below the threshold (1.0 mm for general manufacturing, 3.0 mm for soft jaws), the check reports the number of thin sections and the thinnest measurement. The −0.9 threshold (not −1.0) accounts for faces that are nearly but not exactly anti-parallel — walls formed by slightly tapered or drafted surfaces still get checked. This catches walls between the pocket and jaw edge, between the pocket and bolt holes, and between adjacent pockets on multi-cavity setups. #### 5. When This Doesn't Apply **Steel fixtures.** 4140 pre-hard at ~30 HRC has a Young's modulus of ~200 GPa (vs. 69 GPa for 6061-T6) and roughly 3x the yield strength. A 1.5 mm steel wall has the same stiffness as a 4.5 mm aluminum wall. The 3.0 mm structural minimum is specific to aluminum — steel fixtures can run thinner walls with the same or better deflection performance. **Fixture plates.** On a fixture plate, the part sits in a shallow nest and is held down by toe clamps or bolts. The clamping force is vertical — pushing the part into the plate, not squeezing the pocket walls laterally. The pocket walls only need to resist the part sliding under cutting forces, not the full clamping load. Wall stiffness is less critical, and the 1.0 mm manufacturing minimum is usually the binding constraint. **Related articles:** - [Clamping Force and Part Deflection](https://opjaw.com/articles/clamping-force-part-deflection) — the same cantilever model applied to the part, not the fixture wall. - [Pocket Depth-to-Width Ratio](https://opjaw.com/articles/pocket-depth-width-ratio) — how pocket proportions interact with wall thickness constraints. - [Thin-Wall Clamping: Deflection Limits and Jaw Design](https://opjaw.com/articles/thin-wall-clamping-deflection) — related deflection analysis. Source: https://opjaw.com/articles/minimum-wall-thickness-fixtures ### Holding Round Parts: Collets vs V-Blocks vs Conformal Jaws 2026-04-04 A 25.4 mm (1.000″) round bar in a flat-jaw vise contacts at two lines. The total contact area is approximately zero. Every newton of cutting force acts against friction alone. #### 1. The Challenge Round parts have no flat parallel faces. A standard flat-jaw vise holds by friction at two tangent lines — one on each jaw. The contact geometry is a line, not a surface. Clamping force concentrates at those two lines, and the part can roll under any lateral cutting load. This shows up in automated fixture selection. The surface analyzer looks for Z-aligned flat faces to determine seating suitability. A cylinder returns none. The flat_ratio — the fraction of total surface area contributed by flat faces — approaches zero. Fixture plates need a seating face; there is not one. Zero-point plates need a flat bottom; there is not one. The vise strategy scores best by default (compact_bonus), but flat jaws still hold by line contact only. The fix is not to clamp harder. The fix is to change the contact geometry. #### 2. Collets A 5C collet block clamps radially with uniform pressure around the circumference. The collet is a split sleeve — typically three or four segments — that compresses when the draw bar pulls it into the taper. Contact is distributed around the full OD. Typical total indicator runout (TIR): 0.013 mm (0.0005″). This is the concentricity between the collet bore axis and the spindle/block reference. For secondary operations on turned parts where OD concentricity matters — drilling a cross-hole on center, milling a flat parallel to the axis — collets are the standard answer. Each collet fits a narrow diameter range, approximately 0.4 mm (0.015″). A 25.4 mm collet holds 25.0–25.4 mm stock. Outside that range, the segments do not close uniformly and TIR degrades. A shop holding round stock in many sizes needs a full collet set. **Limitation:** the collet contacts only the OD. There is no axial location unless a stop is added behind the part. Under axial cutting forces (face milling, drilling along the axis), the part can push back into the collet. A positive stop behind the part solves this but adds setup time. #### 3. V-Blocks A V-block self-centers the round part via two angled contact lines, typically at 90 degrees. The part settles into the V under gravity or light clamping. The centerline of the part aligns with the bisector of the V angle, regardless of diameter (within the block’s range). Contact at two lines means less total friction than a collet’s circumferential grip. Concentricity depends on the V-block’s machining precision and the part’s OD tolerance. A part that is out-of-round seats differently in the V depending on orientation — the center shifts. Practical concentricity: 0.025 mm (0.001″) for precision-ground V-blocks with round stock. The weak axis is along the V-block length. The part can slide axially under cutting loads. A heel pin or end stop is required for any operation that generates axial force. Without it, the part walks out of the block during the cut. **Best for:** inspection setups, light machining, layout work, and operations where concentricity tolerance is relaxed (>0.025 mm). V-blocks accept a wide range of diameters in a single fixture, which makes them efficient for mixed-diameter work. #### 4. Conformal Jaws A conformal jaw has a pocket machined to match the part’s cylindrical profile. Each jaw contacts an arc of the OD — typically 90–120 degrees per side. Total contact spans 180–240 degrees of the circumference. This is surface contact, not line contact. Maximum contact area means maximum friction and maximum rigidity under cutting forces. The part cannot roll because the jaw cradles it. Concentricity depends on the jaw machining accuracy relative to the vise centerline. Typical TIR: 0.010 mm (0.0004″) — better than V-blocks, comparable to collets. The tradeoff is setup cost. Each conformal jaw set is custom to one diameter (or a very narrow range, within the clearance fit). Machining the jaw profile takes time on the first setup. For repeat production of the same part, the amortized cost is low. For one-off work across many diameters, the jaw machining time dominates. Conformal jaws also require the part to be accurately round. An out-of-round part does not seat in the machined arc — it contacts at high spots and rocks. If the stock has significant ovality (common in drawn bar), the conformal jaw may hold worse than a V-block, which tolerates ovality by design. #### 5. Decision Matrix ``` Method TIR (mm) Setup Time Diameter Range Rigidity 5C Collet 0.013 Low Per-collet Medium V-Block 0.025 Low Wide Low Conformal Jaw 0.010 High (1st) Per-diameter High ``` **Choose collets** when concentricity matters and you have the right collet size. Secondary ops on turned parts — cross-holes, flats, keyways — are the classic use case. **Choose V-blocks** when you need quick setup across varying diameters and the concentricity requirement is relaxed. Inspection, layout, and light machining. **Choose conformal jaws** when rigidity under heavy cutting loads is the priority and the part is accurately round. Production runs where the jaw machining cost amortizes across many parts. This is also the method that automated fixture generation targets — the jaw profile is derived directly from the part geometry, so the machining-time penalty of a custom diameter applies only once. The clamping force required depends on the cutting loads and friction coefficient at the jaw-part interface. Arc contact (conformal) provides the highest friction force per unit of clamping pressure. See [Clamping Force and Part Deflection](https://opjaw.com/articles/clamping-force-part-deflection) for the force calculations. #### 6. When This Does Not Apply Hex stock, square stock, and parts with machined flats are prismatic — they have parallel faces and seat in standard flat-jaw vises without any of the above considerations. If the part has even one machined flat, it may be possible to fixture on that flat and avoid the round-part problem entirely. See [Fixture Selection for Irregular Parts](https://opjaw.com/articles/fixture-selection-irregular-parts) for how the strategy selector handles mixed geometry. Parts held by an internal diameter — expanding mandrels, arbors, or ID collets — are a different problem. The holding surface is the bore, not the OD. The concentricity relationship reverses: bore-to-OD runout depends on the mandrel, not the external clamping method. Conformal jaw profiles can be generated directly from the part’s STEP geometry. [Upload a STEP file](https://opjaw.com/) to see the result. **Related articles:** - [Clamping Force and Part Deflection](https://opjaw.com/articles/clamping-force-part-deflection) — force calculations for round parts. - [Fixture Selection for Irregular Parts](https://opjaw.com/articles/fixture-selection-irregular-parts) — how the strategy selector handles mixed geometry. - [Datum Reference Schemes for Fixture Design](https://opjaw.com/articles/datum-reference-schemes-fixture-design) — datum challenges with round geometry. Source: https://opjaw.com/articles/round-part-workholding ### Zero-Point Clamping: Repeatability and When It Matters 2026-04-04 A zero-point clamping system repeats to 5 microns (0.0002″). Remove the fixture, run a different job, reinstall it, and the part position is the same within 5 microns. The question is not whether the system is precise — it is whether your job needs that precision. #### 1. What Zero-Point Does Four pull studs engage precision receivers mounted on the machine table. The stud-to-receiver interface is ground and hardened — the contact surfaces repeat deterministically. The fixture snaps into position the same way every time. This decouples fixture positioning from operator skill. The studs are arranged at 45-degree offsets (45°, 135°, 225°, 315°) on a bolt circle. A separate locating pin provides angular registration — it prevents the fixture from being installed in the wrong rotational orientation. The result: one unique position, one unique orientation, repeatable to the interface tolerance. #### 2. The Spec Sheet Decoded **Bolt circle diameter: 52.0 mm** — the diameter of the circle on which the studs are arranged. This is the most common standard. Larger systems use 96 mm bolt circles for heavier fixtures. **Pull-down force** — the retention force per stud, typically 20–40 kN per stud. Four studs at 25 kN each = 100 kN total. This is what keeps the fixture seated against cutting forces. **Repeatability: 5 microns** — but measured at the stud-to-receiver interface, not at the part. The actual part position also includes: - Nest pocket clearance (0.2 mm per side typical) - Part seating accuracy against the pocket floor - Fixture flexure under cutting loads Real part-level repeatability is 5 microns plus these other terms. The stud interface is the best term in the stack. It is not the only term. #### 3. When 5 Microns Matters **Palletized production.** Fixtures queue on a pallet changer. The machine grabs the next fixture, the stud system locates it, and machining starts. Setup time equals stud engagement time — roughly 15 seconds. No edge-finding, no touch-probing, no tramming. **Multi-machine workflows.** A fixture moves between roughing and finishing machines. The datum transfers with the fixture. The finishing machine picks up exactly where the roughing machine left off because both machines have receivers at the same position. **High-mix low-volume.** Dozens of different fixtures, each pulled and reinstalled frequently. Without zero-point, each reinstallation requires a touch-probe setup cycle — typically 2–5 minutes per fixture change. With zero-point, it is 15 seconds. Over a shift with 20 fixture changes, that is 40–100 minutes recovered. #### 4. When It Is Overkill **One-off jobs that do not leave the machine.** The fixture goes on, the job runs, the fixture comes off. Repeatability is irrelevant because the fixture is never reinstalled. **Parts with tolerances above 0.05 mm (0.002″).** The 5-micron repeatability is 10x tighter than the tolerance. You are paying for precision you cannot use. **Low-value production** where the $2,000–5,000 receiver plus plate cost exceeds the value of reduced setup time. The ROI calculation is straightforward: if setup time savings over the receiver lifespan do not exceed the upfront cost, skip it. **Manual knee mills without CNC rapid-traverse.** Setup time on a manual machine is dominated by alignment and indication, not fixture positioning. Zero-point solves the wrong bottleneck. #### 5. Stud Layout Constraints Four studs at 45-degree offsets (45°/135°/225°/315°) on the bolt circle. Each stud bore: 12.5 mm diameter through the full plate thickness, with a 20.0 mm counterbore from the bottom face at 10.0 mm depth. The counterbore clears the receiver engagement mechanism. A locating pin hole at 36.0 mm offset from plate center provides angular registration. This is a through-hole at 8.0 mm diameter — no counterbore. The minimum plate size is constrained by the stud layout: the bolt circle diameter plus twice the counterbore diameter = 52.0 + 2 × 20.0 = 92.0 mm. Any plate smaller than 92.0 mm in either dimension cannot physically contain the stud pattern. The stud layout must not interfere with the nest pocket. Before generating the plate, each stud position and its counterbore envelope are checked against the pocket profile. If any stud bore or counterbore overlaps the pocket — meaning the part footprint is too large for the bolt circle — the generation is rejected rather than producing a plate with compromised stud engagement. #### 6. When This Does Not Apply **No receivers installed.** Zero-point plates require matching receivers bolted to the machine table. Without receivers, the studs have nothing to engage. This is a capital decision, not a per-fixture decision. **Dedicated production fixtures.** A fixture that never leaves the table does not need repeatable reinstallation. Bolt it down, indicate it once, and run. **In-machine probing already provides sub-10-micron positioning.** Modern 5-axis machines with Renishaw or Blum probes can locate a fixture to within 5–10 microns via a probing cycle. The cycle takes 30–90 seconds — slower than stud engagement, but it works with any fixture and requires no receiver hardware. Zero-point plates with interference-validated stud layouts can be generated from STEP geometry. [Upload a STEP file](https://opjaw.com/) to generate a plate. **Related articles:** - [Clearance Fits for Workholding Pockets](https://opjaw.com/articles/clearance-fits-workholding-pockets) — nest pocket clearance and part positioning. - [Datum Reference Schemes for Fixture Design](https://opjaw.com/articles/datum-reference-schemes-fixture-design) — zero-point datum integration with part datums. - [Multi-Op Fixturing: Datum Transfer Between Operations](https://opjaw.com/articles/multi-op-datum-transfer) — repeatability between setups. Source: https://opjaw.com/articles/zero-point-clamping-repeatability ### Why We Built a Geometric Oracle 2026-03-31 You generate a fixture plate from a STEP file. The boolean subtraction runs, the pocket gets cut, the file exports. But how do you know the output is dimensionally correct? A bad boolean can silently produce a pocket twice as wide as it should be. A degenerate solid can export with zero volume. A fillet that failed mid-operation can leave the plate 5 mm shorter than specified. You would find out when the machined fixture does not hold the part. That is too late. #### A Headless CMM On a shop floor, a coordinate measuring machine settles the question. Put the part on the granite table, probe a grid of points, compare to the drawing. Dimensions within tolerance: pass. Outside tolerance: reject. The CMM does not care if the part looks correct. It measures. The geometric oracle does the same thing to generated CAD. Before the file leaves the server, the oracle imports the STEP output, measures its bounding box and volume, and compares against declared ranges. No physical probes, no granite table — just the geometry kernel reading its own output and checking whether the numbers make sense. The key word is *declared*. The expected dimensions are not learned from historical data. They are stated explicitly by the tooling configuration, the same way a machinist reads tolerances from a drawing. The oracle is not making a judgment call. It is comparing a measurement to a specification. #### What Gets Declared Every tooling configuration publishes its expected dimensional ranges before generation runs. The format is a dictionary of `(min, max)` tuples, one per measurement: `````````` | Measurement | Units | Role | | --- | --- | --- | | bbox_x | mm | Output width | | bbox_y | mm | Output depth | | bbox_z | mm | Output height | | volume | mm³ | Material volume of the solid | | num_faces | — | Topology count (advisory) | A concrete example: a fixture plate generated for a 100 mm wide part. The plate is always wider than the part — it needs room for the bolt pattern and edge stock. So the configuration declares `bbox_x: (180, 220)`. If the output measures 195.3 mm wide, that is within range. If it measures 412.7 mm, the boolean produced garbage and the file gets rejected. The ranges are not tight tolerances. They are sanity bounds. A fixture plate is not going to be 12 mm wide when the part is 100 mm. It is not going to have a volume of 47 mm³ when it should be a 10 mm thick aluminum slab. The oracle catches the catastrophic failures — the ones where the geometry is structurally wrong, not slightly off-nominal. #### What Gets Measured After generation, the oracle imports the output STEP file and queries the geometry kernel directly: - **Bounding box** — axis-aligned extents in X, Y, Z. Read from the BRep, not computed from a mesh approximation. - **Volume** — exact solid volume from the kernel. If the solid is degenerate (open shell, self-intersecting), this number will be wrong, and the oracle will catch it. - **Topology counts** — number of faces, edges, and vertices. These are advisory. They vary more than dimensions because the kernel has discretion over how it tessellates fillets and splits faces at tangency lines. This is pure measurement. The oracle does not interpret the geometry, does not classify features, does not estimate tolerances. It reads numbers from the kernel and compares them to the declared specification. Same thing a CMM does with a point cloud and a CAD model. #### Failures vs. Warnings The oracle distinguishes two severity levels, and the distinction matters. **Failures** are dimensional: bounding box or volume outside the declared range. A failure means the geometry is wrong. The file is rejected. You do not see it. **Warnings** are topological: face count, edge count, or vertex count outside the declared range. A warning means the geometry might look different than expected — maybe a fillet produced more faces than usual, maybe a boolean split an edge. But the physical dimensions are correct. The file passes. Why the split? Because dimensions are physical. A bounding box that is 50 mm too wide will produce a fixture plate that does not fit in the vise. That is a real problem. A face count that is 12 higher than expected usually means the kernel decided to split a cylindrical face at a seam line. That changes nothing about whether the part seats correctly. #### BRep Integrity Dimensions alone do not catch everything. A solid can have the right bounding box and volume but still be broken at the BRep level — open edges where faces should be joined, degenerate faces with zero area, edges shared by the wrong number of faces. The oracle runs OpenCASCADE's `BRepCheck_Analyzer` on every output solid. This checks each face, edge, and vertex for geometric and topological consistency. It also runs `ShapeAnalysis_Shell` to detect free edges (a face boundary that is not shared with any adjacent face) and bad edges (shared by more than two faces, which is physically impossible for a manifold solid). Finally, it checks for degenerate geometry: faces so small they are essentially points (*spot faces*), and faces so narrow they are essentially edges (*strip faces*). These do not necessarily make the solid invalid, but they cause problems downstream — CAM software may generate erratic toolpaths around degenerate faces, and mesh export can produce sliver triangles. In shop terms: the dimensional check tells you the part is the right size. The BRep check tells you the surfaces are closed and the edges are clean. Like inspecting both the dimensions and the surface finish before you ship. #### Why Not Just Look at It? If you were generating one fixture plate at your desk, you would open it in your CAD viewer, rotate it, check that the pocket looks reasonable, and move on. The oracle would be overkill. OPJAW generates workholding on a server. The pipeline runs headless — no screen, no viewer, no human looking at the output before it ships. A customer uploads a STEP file, the server generates tooling, and the result goes into a download. If the pocket boolean failed silently and produced a solid with the pocket on the wrong face, nothing in that pipeline would catch it without the oracle. The oracle is the inspector on the line. It checks every output, every time, and it does not skip parts because it is Friday afternoon. #### The 20-Part Gauntlet We validate the oracle (and everything upstream of it) against 20 off-the-shelf industrial components — pillow blocks, gears, ball valves, star knobs, pipe crosses, heat sinks. They cover prismatic, rotational, organic, tubular, and mixed geometries. They are not selected to make the system look good. They are selected to break it. Every code change runs the full pipeline against all 20 parts, across every tooling strategy. The oracle checks every output. If a code change causes a fixture plate that used to measure 200 mm wide to suddenly measure 400 mm, the oracle flags it as a regression and the commit is blocked. Not just logged. Blocked. Parts that a given strategy cannot handle — a pipe cross has no flat seating face for a fixture plate — are expected to be rejected cleanly. An incompatibility is a correct result. A dimension outside its declared range is not. **Related articles:** - [How Automated Fixture Generation Works](https://opjaw.com/articles/how-automated-fixture-generation-works) — the pipeline the oracle validates. - [Fixture Selection for Irregular Parts](https://opjaw.com/articles/fixture-selection-irregular-parts) — scoring that feeds validation decisions. Source: https://opjaw.com/articles/why-we-built-a-geometric-oracle ## Legal - [Terms of Service](https://opjaw.com/terms) -- governs use of generated STEP files, IP ownership, liability - [Privacy Policy](https://opjaw.com/privacy) -- covers uploaded STEP file handling, GDPR and CCPA compliance, data retention - [Security](https://opjaw.com/security) -- ephemeral processing architecture, STEP files deleted after delivery, NIST SP 800-171 alignment ## Contact support@opjaw.com https://opjaw.com