Lock
This example builds a cylindrical lock: a plate pocket in the lock edge with a plunge and two predrill holes, and a bore through the face with two smaller through holes.
The Feature Group's structure:
- Lock (FeatureGroup × 1)
- Plate (Rectangle, Lock Edge)
- Plunge (Circle, Lock Edge)
- Predrill 1 (Circle, Lock Edge)
- Predrill 2 (Circle, Lock Edge)
- Through Hole 1 (FaceCircle, Face)
- Through Hole 2 (FaceCircle, Face)
- Through Hole 3 (FaceCircle, Face)
- Plate (Rectangle, Lock Edge)
Children are positioned from their parent: a location of 0 puts a child exactly at its parent's position.

The Feature Group
The Feature Group sets where the lock goes. Every Feature in it is measured from here.
- Coordinate References: L (length) from the Top, W (width) from the Lock edge, and T (thickness) from the Key Face.
- Locations: one location, 44″ from the top and 2.75″ from the lock edge (the backset). The T location is left at
0and set on each Feature instead.
Locations are measured to the center of the cut.

Plate
The Plate is a Rectangle on the Lock Edge: the shallow pocket for the lock's faceplate.

| Property | Expression | Value | Why |
|---|---|---|---|
| TLocation | $Door.Thickness/2 | 0.875 | Centers the plate across the edge |
| LLocation | 0.0 | 44 | Uses the group's location, 44″ from the top |
| Depth | 0.156 | 0.156 | Depth of the faceplate pocket |
| Bevel | $Door.LockBevel | 0 | Matches the bevel of the door's lock edge |
| Length | 2.25+1/64 | 2.265625 | Faceplate length, plus 1/64″ clearance |
| Width | 1.125+1/64 | 1.140625 | Faceplate width, plus 1/64″ clearance |
| Radius1 – Radius4 | 0.0 | 0 | Square corners, which need a machine with a chisel |

TIP
To pick from common expressions such as $Door.Thickness/2, select the property's cell, then select the … button.
Plunge
The Plunge is a Circle on the Lock Edge, a child of the Plate: the deep bore for the latch.

| Property | Expression | Value | Why |
|---|---|---|---|
| TLocation | 0 | 0.875 | Same as the Plate |
| LLocation | 0.0 | 44 | Same as the Plate |
| Depth | WLocation | 2.75 | Bores in as far as the group's backset, to meet the face bore |
| Bevel | 0.0 | 0 | |
| Diameter | 1 | 1 | Latch bore diameter |
| DiameterMinimum, DiameterMaximum | Diameter | 1 | Only a 1″ tool. Widen the range to allow other tools |
| DepthMinimum, DepthMaximum | Depth | 2.75 | Exactly the depth set above |

Predrills
Predrill 1 and Predrill 2 are Circles on the Lock Edge, children of the Plate: the screw holes for the faceplate, 0.8125″ either side of its center.

| Property | Predrill 1 | Predrill 2 |
|---|---|---|
| TLocation | 0.0 (0.875) | 0.0 (0.875) |
| LLocation | 0.8125 (44 + 0.8125 = 44.8125) | -0.8125 (44 − 0.8125 = 43.1875) |
| Depth | 0.25 | 0.25 |
| Diameter | 0.156 | 0.156 |
| DiameterMinimum, DiameterMaximum | Diameter | Diameter |
| DepthMinimum, DepthMaximum | Depth | Depth |
| Predrill 1 | Predrill 2 |
|---|---|
![]() | ![]() |
TIP
Build Predrill 1, then copy and paste it under the Plate and change only the name and LLocation to make Predrill 2.
Through Hole 1
Through Hole 1 is a FaceCircle on the Face: the main bore through the door for the lock's cylinder.

| Property | Expression | Value | Why |
|---|---|---|---|
| WLocation | 0.0 | 2.75 | Uses the group's location, 2.75″ from the lock edge |
| LLocation | 0.0 | 44 | Uses the group's location, 44″ from the top |
| DepthClosestToRef | $Door.Thickness | 1.75 | Cuts all the way through from the key face |
| DepthFurthestFromRef | 0.0 | 0 | Nothing more from the other face |
| Diameter | 2.125 | 2.125 | Cylinder bore diameter |
| DiameterMinimum, DiameterMaximum | Diameter | 2.125 |
Using $Door.Thickness for the depth means the hole always goes through, whatever the door's thickness.
![]() | ![]() |
Through Holes 2 and 3
Through Hole 2 and Through Hole 3 are FaceCircles on the Face, children of Through Hole 1: the holes for the lock's mounting screws, 1-3/8″ either side of the bore's center.

| Property | Through Hole 2 | Through Hole 3 |
|---|---|---|
| LLocation | -(1+3/8) (44 − 1.375 = 42.625) | 1+3/8 (44 + 1.375 = 45.375) |
| DepthClosestToRef | $Door.Thickness | $Door.Thickness |
| Diameter | 5/16 (0.3125) | 5/16 (0.3125) |
| Through Hole 2 | Through Hole 3 |
|---|---|
![]() | ![]() |





