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

Faceting Setup

Welcome to Part 2: Faceting. While Part 1 focused on abstract geometry, Part 2 applies these concepts to the specific workflow of gemstone design.

Configuration

A faceting design always starts with the machine configuration.

Gear(96)    // Set the index gear (96, 80, 64, etc.)
RI(1.76)    // Set Refractive Index (e.g., Corundum)

Modes

Calling Gear(n) automatically switches the system to "index" mode.

  • Angle: 0 to 90 degrees (elevation).
    • 0° = Pole (Table)
    • 90° = Equator (Girdle)
  • Index: 0 to Gear Size (azimuth).

Note: This differs from standard math spherical coordinates used in Part 1.

The Faceting Coordinate System

When Gear is set, the Normal constructor adapts:

Normal(elevation_angle, gear_index)

// A facet on the table (top)
table = Normal(0, 0)

// A facet on the girdle at index 96 (or 0)
girdle_main = Normal(90, 96)

// A pavilion facet at 42 degrees, index 3
pavilion = Normal(42, 3)

Preforms

Before cutting facets, you usually establish a rough shape or "Preform".

Cylinder (Girdle)

A basic 16-sided cylinder preform.

// Define indices: 96 / 16 = 6
indices = (0..15) |> (i) => i * 6

// Create vertical planes (90 degrees) at distance 10
cylinder = indices |> (idx) => Normal(90, idx) -> 10

_ := cylinder

Cone (Pavilion)

Cutting a cone to establish a center point (CP).

// Cut cone at 42 degrees
cone = indices |> (idx) => Normal(42, idx) -> Point(0,0,0)

_ := cone

Symmetry helpers

In faceting, we often repeat cuts around the stone. While |> with Rotate works, standard loops and arrays are common.

// Standard 8-fold symmetry function
sym8 = (idx) => (0..7) |> (i) => (idx + i * (96/8)) % 96

// Generate all 8 indices for index 3
indices_3 = sym8(3)
// [3, 15, 27, 39, 51, 63, 75, 87]