Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

CAM Outlines

The Centerpoint–Angle Method (CAM) is a powerful, geometric approach to faceting design that simplifies the creation of complex gemstone cuts by focusing on the relationships between facets rather than just their absolute positions. Instead of relying solely on trial-and-error meetpoint sequences, CAM allows you to define a "centerpoint" (a specific vertex where multiple facets meet) and then calculate the precise angle required for a new tier of facets to meet perfectly at that point. By mathematically linking the index (rotational position) and angle of a facet to a target intersection, CAM ensures exact symmetry and perfect meetpoints, making it an essential logic for designing precision cuts efficiently.

ProFacet exposes CAM-friendly helpers as System Functions so you can sketch a girdle in a single line and refine the angles later. The following outlines are ready today:

  • Round — a fast circular preform via Round.
  • Oval — an elliptical outline via Oval.
  • Rectangle — the straight rectangle via Rect.
  • Truncated rectangle — available through RectTr.
  • Truncated square — available through SquareTr.
  • Double-truncated rectangle — available through RectDblTr.
  • Truncated triangle — available through TriTr.
  • Shield — mirrored triangular shield via Shield.
  • Cushioned truncated square — available through SquareCushTr.
  • Cushioned truncated triangle — available through TriCushTr.
  • Cushioned truncated pentagon — available through PentCushTr.
  • TriCurved — curved trilliant via TriCurved.

Round System Function

Round blocks in a simple circular preform when you need a neutral starting outline. Set the pavilion angle for the lower tier and pick a sym count that evenly divides your lap gear—higher numbers create finer girdle segmentation.

This round System Function is included for 'completeness', round shapes don't really need CAM. :)

name = "CAM Round"
gear = 96

Round(43, 8)

{{#fsl id="cam-round-bottom" side="pavilion" size="small" theme="formal" caption="CAM round viewed from the pavilion"}} name = "CAM Round" gear = 96 size = 1.0

Round(43, 8) {{/fsl}}

Oval System Function

Oval walks an elliptical girdle by tracing one quadrant at a time. Use angle to control how deeply the ellipse drops, lwr for the length-to-width ratio, and segmentsPerQuad to set how smooth each quadrant is. Stick with gears divisible by four so the quarter marks line up.

name = "CAM Oval"
gear = 96

Oval(42, 1.35, 6)

{{#fsl id="cam-oval-bottom" side="pavilion" size="large" theme="formal" caption="CAM oval viewed from the pavilion"}} name = "CAM Oval" gear = 96 size = 1.0

Oval(42, 1.35, 6) {{/fsl}}

Rectangle

name = "CAM Rectangle"
gear = 96

Rect(1.6, 45)

{{#fsl id="cam-rectangle-bottom" side="pavilion" size="small" theme="formal" caption="CAM rectangle viewed from the pavilion"}} name = "CAM Rectangle" gear = 96 size = 1.0

Rect(1.6, 45) {{/fsl}}

Truncated rectangle System Function

Use RectTr for a truncated rectangle: pick a length-to-width ratio, the pavilion angle for the long face, and an optional truncation ratio for the corners.

name = "CAM Truncated Rectangle"
gear = 96

RectTr(1.6, 45, 0.30, 5)

{{#fsl id="cam-truncated-rectangle-bottom" side="pavilion" size="small" theme="formal" caption="CAM truncated rectangle viewed from the pavilion"}} name = "CAM Truncated Rectangle" gear = 96 size = 1.0

RectTr(1.6, 45, 0.30, 5) {{/fsl}}

The System Function generates the shallow preform (tiers PF1PF3) and a finished girdle loop (G1G3). Tweak truncation toward 0.0 for squarer corners or up toward 1.0 for aggressive chamfers. offset is optional and rotates the corner facets if you want the corners aligned to a different index.

Truncated square System Function

SquareTr mirrors the same control scheme on 4-fold symmetry. It cuts four identical long facets, then trims each corner using the truncation ratio.

name = "CAM Truncated Square"
gear = 96

SquareTr(45, 0.35)

{{#fsl id="cam-truncated-square-bottom" side="pavilion" size="large" theme="formal" caption="CAM truncated square viewed from the pavilion"}} name = "CAM Truncated Square" gear = 96 size = 1.0

SquareTr(45, 0.35) {{/fsl}}

Because the System Function expects a gear divisible by four it runs cleanly on 64-, 80-, 96-, or 120-tooth index gears.

Cushioned truncated square System Function

SquareCushTr builds a softened square outline by offsetting the four primary girdle facets and trimming the corners with a controllable ratio. Use cushion to steer the amount of cushioning, set the pavilion angle for those primary facets, and dial truncation between 0.0 (sharp corners) and about 1.0.

name = "CAM Cushioned Square"
gear = 96

SquareCushTr(2, 45, 0.40)

{{#fsl id="cam-square-cushion-bottom" side="pavilion" size="large" theme="formal" caption="CAM cushioned truncated square viewed from the pavilion"}} name = "CAM Cushioned Square" gear = 96 size = 1.0

SquareCushTr(2, 45, 0.40) {{/fsl}}

The System Function mirrors the pavilion cuts using xx4 symmetry so the cushion stays balanced even if you rotate the starting index. Lower offset keeps the flats on the 0 index; bump it higher to align the flats with any pre-existing tier. Use the girdle percentage or follow-up tiers to stretch the outline without rewriting the function call.

Double-truncated rectangle System Function

name = "CAM Double Trunc Rect"
gear = 96

RectDblTr(1.6, 45, 0.60, 0.50)

{{#fsl id="cam-double-trunc-rect-bottom" side="pavilion" size="large" theme="formal" caption="CAM double-truncated rectangle viewed from the pavilion"}} name = "CAM Double Trunc Rect" gear = 96 size = 1.0

RectDblTr(1.6, 45, 0.60, 0.5) {{/fsl}}

Both truncation settings must stay non-negative, and lwr must be greater than zero—violations now fail fast during interpretation instead of collapsing the girdle geometry.

Truncated triangle System Function

TriTr blocks in a three-fold outline with controllable corner trims. Pass the truncation (between 0.0 for sharp points and roughly 1.5) and the pavilion angle for the primary girdle facets. The System Function assumes a standard 0.7 girdle radius and uses mp(...) so the corners stay aligned.

name = "CAM Truncated Triangle"
gear = 96

TriTr(0.35, 44)

{{#fsl id="cam-truncated-triangle-bottom" side="pavilion" size="large" theme="formal" caption="CAM truncated triangle viewed from the pavilion"}} name = "CAM Truncated Triangle" gear = 96 size = 1.0

TriTr(0.35, 44) {{/fsl}}

Shield System Function

Shield lays in a mirrored threefold outline that reads like a shield or kite while still honoring CAM leveling. It fixes the base at index 6 and expects a gear divisible by six so each mirrored pair lands cleanly.

name = "CAM Shield"
gear = 96

Shield(44)

{{#fsl id="cam-shield-bottom" side="pavilion" size="large" theme="formal" caption="CAM shield viewed from the pavilion"}} name = "CAM Shield" gear = 96 size = 1.0

Shield(44) {{/fsl}}

Dial the pavilion angle to stretch or tighten the lobes—lower values soften the top shoulders, while steeper angles pull the outline toward a pointed kite.

Cushioned truncated triangle System Function

TriCushTr mirrors the same workflow but lets you offset the long side by tweaking the optional cushion index. Use it when you need a slightly rounded triangle that still lands on three repeatable meetpoints. The System Function shares the same truncation and angle controls as TriTr, so you can swap between the two without rewriting your design.

name = "CAM Cushioned Triangle"
gear = 96

TriCushTr(0.30, 44, 2)

{{#fsl id="cam-cushion-triangle-bottom" side="pavilion" size="large" theme="formal" caption="CAM cushioned truncated triangle viewed from the pavilion"}} name = "CAM Cushioned Triangle" gear = 96 size = 1.0

TriCushTr(0.30, 44, 2) {{/fsl}}

Cushioned truncated pentagon System Function

name = "CAM Cushioned Pentagon"
gear = 80
PentCushTr(1, 33, 0.3)

{{#fsl id="cam-cushion-pentagon-bottom" side="pavilion" size="large" theme="formal" caption="CAM cushioned truncated pentagon viewed from the pavilion"}} name = "CAM Cushioned Pentagon" gear = 80 size = 1.0 PentCushTr(1, 33, 0.3) {{/fsl}}

TriCurved System Function

TriCurved creates a Trilliant cut curved by amounts c1 and c2.

name = "CAM TriCurved"
gear = 96

TriCurved(45, 2, 4)

{{#fsl id="cam-tricurved-bottom" side="pavilion" size="large" theme="formal" caption="CAM TriCurved viewed from the pavilion"}} name = "CAM TriCurved" gear = 96 size = 1.0

TriCurved(45, 2, 4) {{/fsl}}