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 macros 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 macro

$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 macro is included for 'completeness', round shapes don't really need CAM. :)

set name "CAM Round"
set gear 96

$Round(angle = 43, sym = 8)
P1P1P1P1P1P1P1P1
CAM round viewed from the pavilion

Oval macro

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

set name "CAM Oval"
set gear 96

$Oval(angle = 42, lwr = 1.35, segmentsPerQuad = 6)
O1O1O2O2O2O2
CAM oval viewed from the pavilion

Rectangle

set name "CAM Rectangle"
set gear 96

$Rect(lwr = 1.6, angle = 45)
PF1PF1PF2PF2
CAM rectangle viewed from the pavilion

Truncated rectangle macro

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.

set name "CAM Truncated Rectangle"
set gear 96

$RectTr(lwr = 1.6, angle = 45, truncation = 0.30, offset = 5)
PF1PF1PF2PF2PF3PF3PF3PF3
CAM truncated rectangle viewed from the pavilion

The macro 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 macro

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

set name "CAM Truncated Square"
set gear 96

$SquareTr(angle = 45, truncation = 0.35)
PF1PF1PF1PF1PF2PF2PF2PF2
CAM cushioned truncated square viewed from the pavilion

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

Cushioned truncated square macro

$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.

set name "CAM Cushioned Square"
set gear 96

$SquareCushTr(angle = 45, cushion = 2, truncation = 0.40)
PF1PF1PF1PF1PF1PF1PF1PF1PF2PF2PF2PF2
CAM cushioned truncated square viewed from the pavilion

The macro 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 macro call.

Double-truncated rectangle macro

set name "CAM Double Trunc Rect"
set gear 96

$RectDblTr(lwr = 1.6, angle = 45, truncation1 = 0.60, truncation2 = 0.50)
PF1PF1PF2PF2PF3PF3PF3PF3PF4PF4PF4PF4PF5PF5PF5PF5

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 macro

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

set name "CAM Truncated Triangle"
set gear 96

$TriTr(angle = 44, truncation = 0.35)
PF1PF1PF1PF2PF2PF2
CAM truncated triangle viewed from the pavilion

Shield macro

$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.

set name "CAM Shield"
set gear 96

$Shield(angle = 44)
P1P1P1P1P1P1
CAM shield viewed from the pavilion

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 macro

$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 macro shares the same truncation and angle controls as $TriTr, so you can swap between the two without rewriting your design.

set name "CAM Cushioned Triangle"
set gear 96

$TriCushTr(angle = 44, truncation = 0.30, cushion = 2)
PF1PF1PF1PF1PF1PF1PF2PF2PF2
CAM cushioned truncated triangle viewed from the pavilion

Cushioned truncated pentagon macro

set name "CAM Cushioned Pentagon"
set gear 80
$PentCushTr( angle=33, truncation=0.3, offset=1)
PF1PF1PF1PF1PF1PF1PF1PF1PF1PF1PF2PF2PF2PF2PF2
CAM cushioned truncated pentagon viewed from the pavilion

TriCurved macro

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

set name "CAM TriCurved"
set gear 96

$TriCurved(angle=45, c1=2, c2=4)
PF1PF1PF1PF1PF1PF1PF2PF2PF2PF2PF2PF2
CAM TriCurved viewed from the pavilion