The Centerpoint-Angle Method (CAM) is a gem-cutting technique used to create precise girdle outlines, especially for complex or asymmetrical shapes. CAM preform involves cutting initial shallow pavilion facets to a culet point, which then allows for a level girdle cut, defining the stone’s outline. Some designs retain the CAM culet, while others cut it away.
Hackagem can create all the steps for a variety of outlines, from rectangles to ovals.
Rectangle
The `createRectangle() function takes 2 parameters:
- The length to width ratio of the rectangle
- The angle for the widest preform face. Adjust as necessary.
To create a rectangle with a L/W ratio of 1.4 and using an angle of 50°, we can write:
setIndexGear(96)
createRectangle(1.4, 50.0)
This generates the following:
Tier | Angle | Index | Instructions |
---|---|---|---|
PF1 | 40.41° | 24-72 | Cut to centerpoint |
PF2 | 50.00° | 00-48 | " |
G1 | 90.00° | 24-72 | Set stone size |
G2 | 90.00° | 00-48 | Level girdle |
Truncated Rectangle
The `createTruncatedRectangle() function takes 3 parameters:
- The length to width ratio of the rectangle
- The amount of truncation: 0.0 is no truncation, 1.0 is full truncation
- The angle for the widest preform face. Adjust as necessary.
So for instance with a L/W ratio of 1.6, a truncation amount of 0.3 and an angle of 45°, we can write:
setIndexGear(96)
createTruncatedRectangle(1.6, .3, 45.0)
This generates the following:
Tier | Angle | Index | Instructions |
---|---|---|---|
PF1 | 32.01° | 24-72 | Cut to centerpoint |
PF2 | 45.00° | 00-48 | " |
PF3 | 31.59° | 12-36-60-84 | " |
G1 | 90.00° | 24-72 | Set stone size |
G3 | 90.00° | 12-36-60-84 | Level girdle |
G2 | 90.00° | 00-48 | " |
Truncated Square
This is like the truncated rectangle, just squared :)
setIndexGear(96)
createTruncatedSquare(.3, 45.0)
Truncated Triangle
The createTruncatedTriangle(c, angle)
function takes 2 parameters:
- The amount of truncation: 0.0 is no truncation, 1.0 is full truncation (and will result in a hexagon)
- The angle for the widest preform face. Adjust as necessary.
Cushioned Truncated Square
The createCushionedTruncatedSquare(c, t, a)
function takes 3 parameters:
- The amount of cushioning, a whole number by which the index is changed.
- The amount of truncation: 0.0 is no truncation, 1.0 is full truncation
- The angle for the widest preform face. Adjust as necessary.
setIndexGear(96)
createCushionedTruncatedSquare(2, 0.45, 33)
Generates the following:
Tier | Angle | Index | Instructions |
---|---|---|---|
PF1 | 33.00° | 02-22-26-46-50-70-74-94 | Cut to centerpoint |
PF2 | 29.73° | 12-36-60-84 | " |
G1 | 90.00° | 02-22-26-46-50-70-74-94 | Set stone size |
G2 | 90.00° | 12-36-60-84 | Level girdle |
Cushioned Truncated Pentagon
The createCushionedTruncatedSquare(c, t, a)
function takes 3 parameters:
- The amount of cushioning, a whole number (>0) by which the index is changed.
- The amount of truncation: 0.0 is no truncation, 1.0 is full truncation
- The angle for the widest preform face. Adjust as necessary.
setIndexGear(120)
createCushionedTruncatedPentagon(1, 0.1, 34);
Ellipse
The createEllipse function takes 4, 5 or 6 parameters:
function createEllipse(a:number,
b:number,
num_points:number,
pointy:boolean,
height?:number,
adjust?:number)
a
is the longest radius (from center to the outer edge).b
is the shortest radius. b must be smaller than a or else your computer explodes.num_points
: The number of points on the ellipse. Note that this target number might differ from what actually gets used. This has to do with having a limited number of indices available.pointy
: if true, the far ends are “pointy”.- The
height
of the two centerpoints (this controls the angles). Default is 1.0 - An optional number to
adjust
the space between the two centerpoints. Can be negative, the default is 0.0
// Example ellipse
createEllipse(1.4, 1, 16, true, 1, -0.2)
The effect of pointy or non pointy for an ellipse with 16 points:
Pointy (n=16) | non-Pointy (n=16) | |
---|---|---|
Double-truncated Rectangle
A double-truncated rectangle starts as a rectangle with all four corners truncated, forming an octagon. This octagon is then truncated again at its corners, resulting in a 16-sided polygon with smoothed edges, featuring four original sides shortened by truncations and 12 additional edges created through the two stages of corner cuts.
Parameters:
- The length to width ratio of the rectangle
- The first round of truncation: 0.0 is no truncation, 1.0 is full truncation
- The second round of truncation: 0.0 is no truncation, 1.0 is full truncation
- The angle for the widest preform face. Adjust as necessary.
createDoubleTruncatedRectangle(1.4, 0.4, 0.3, 30) ;