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

Appendix A: 10 Complete Interactive Cut Recipes

APPENDIX A · CUT RECIPES Ready-to-Run Classics & Modern Cuts · Edit & Run Live in FSL or Lua

Every recipe below is a complete, battle-tested gemstone specification with paired FSL and Lua implementations (including matching optimizable parameters +/- and val()) that you can run, edit, and inspect right on this page—or copy into ProFacet Studio to print or optimize for your favorite rough crystal.


1. Standard Round Brilliant (Sapphire / Ruby, RI = 1.76)

The benchmark 57-facet brilliant cut tuned for Corundum (RI = 1.76), with optimizable angle ranges (+/- in FSL, val() in Lua):

name  = "Sapphire Standard Round Brilliant"
ri    = 1.76
gear  = 96
color = "#38bdf8"

P1 3 @ 43.00 +/- 1.0 : cp() xx8
G1 3 @ 90.00         : size xx8
P2 0 @ 41.50 +/- 1.5 : gp() x8
C1 3 @ 42.00 +/- 2.0 : mp(P1, P2) + girdle xx8
C2 0 @ 34.50 +/- 1.5 : gp() x8
C3 6 @ 22.00 +/- 1.5 : mp(C1) x8
T  0 @ 0.00          : mp(C2) x1
-- lua script
name("Sapphire Standard Round Brilliant")
ri(1.76)
gear(96)
color("#38bdf8")

TierAP("P1", 3, val(43.00, 1.0), cp(), "xx8")
TierAD("G1", 3, 90.00,           size, "xx8")
TierAP("P2", 0, val(41.50, 1.5), gp(), "x8")
TierAP("C1", 3, val(42.00, 2.0), mp("P1", "P2"):add(girdle), "xx8")
TierAP("C2", 0, val(34.50, 1.5), gp(), "x8")
TierAP("C3", 6, val(22.00, 1.5), mp("C1"), "x8")
TierAP("T",  0, 0.00,            mp("C2"), "x1")

2. Classic Emerald Step Cut (RectTr, RI = 1.54)

A 3-step Pavilion and 3-step Crown built on a 1.50× truncated rectangle preform (RectTr(1.5, 40, 0.4)), using surface() helper points so that all step angles remain independently optimizable without breaking facet proportions:

name = "Emerald Cut"
ri = 1.54
gear = 96
color = "#10b981"

// Pavilion & Crown step angles (all optimizable)
ang_p = [ 53.0306 +/- 2%, 33.0 +/- 2.0, 22.7648 +/- 2.0 ]
ang_c = [ 45.0 +/- 2.0, 27.5353 +/- 2.0, 27.5 +/- 2.0 ]

// CAM truncated rectangle
RectTr(1.5, 40, 0.4)

P1 0  @ ang_p[0] : cp() x2
P2 0  @ ang_p[1] : surface(5/6, 0.5)
P3 0  @ ang_p[2] : surface(4/6, 0.5)
P4 12 @ ang_p[0] : mp(G2, P1) xx2
P5 12 @ ang_p[1] : mp(P4, P1)
P6 24 @ ang_p[0] : gp()
P7 24 : mp(P2, P5) : mp(P4, P6)
P8 24 @ ang_p[2] : mp(P5)

C1 0  @ ang_c[0] : mp(P1) + girdle
C2 0  @ ang_c[1] : surface(9/10, 0.5)
C3 0  @ ang_c[2] : surface(8/10, 0.5)
T  0  @ 0        : surface(3/4, 0.5)

C4 12 @ ang_c[0] : mp(G2, G3)
C5 12 @ ang_c[1] : mp(C1, C4)
C6 12 @ ang_c[2] : mp(C2, C5)

C7 24 @ ang_c[0] : mp(G1, G3)
C8 24 @ ang_c[1] : mp(C4, C7)
C9 24 @ ang_c[2] : mp(C5, C8)
-- lua script
name("Emerald Cut")
ri(1.54)
gear(96)
color("#10b981")

local ang_p = {
  val(53.0306, "2%"),
  val(33.0, 2.0),
  val(22.7648, 2.0)
}

local ang_c = {
  val(45.0, 2.0),
  val(27.5353, 2.0),
  val(27.5, 2.0)
}

RectTr(1.5, 40, 0.4)

TierAP("P1", 0,  ang_p[1], cp(), "x2")
TierAP("P2", 0,  ang_p[2], surface(5/6, 0.5))
TierAP("P3", 0,  ang_p[3], surface(4/6, 0.5))
TierAP("P4", 12, ang_p[1], mp("G2", "P1"), "xx2")
TierAP("P5", 12, ang_p[2], mp("P4", "P1"))
TierAP("P6", 24, ang_p[1], gp())
TierPP("P7", 24, mp("P2", "P5", {angle=30}), mp("P4", "P6", {angle=30}))
TierAP("P8", 24, ang_p[3], mp("P5"))

TierAP("C1", 0,  ang_c[1], mp("P1"):add(girdle))
TierAP("C2", 0,  ang_c[2], surface(9/10, 0.5))
TierAP("C3", 0,  ang_c[3], surface(8/10, 0.5))
TierAP("T",  0,  0,        surface(3/4, 0.5))

TierAP("C4", 12, ang_c[1], mp("G2", "G3"))
TierAP("C5", 12, ang_c[2], mp("C1", "C4"))
TierAP("C6", 12, ang_c[3], mp("C2", "C5"))

TierAP("C7", 24, ang_c[1], mp("G1", "G3"))
TierAP("C8", 24, ang_c[2], mp("C4", "C7"))
TierAP("C9", 24, ang_c[3], mp("C5", "C8"))

3. Classic 5-Tier Portuguese Cut (RI = 1.54)

With five Pavilion tiers (62° stepping down in 5° increments to 42°) and five matching Crown tiers, the classic Portuguese cut breaks light into a dense wheel of rhomboid facets:

name  = "Portuguese Cut"
ri    = 1.54
gear  = 96
cube  = 3
color = "#a78bfa"

G1 0 @ 90 : size x16
P1 0 @ 62 +/- 2 : cp()
P2 3 @ 57 +/- 2 : gp()
P3 0 @ 52 +/- 2 : mp(P1)
P4 3 @ 47 +/- 2 : mp(P2)
P5 0 @ 42 +/- 2 : mp(P3)

C1 0 @ 46 +/- 2 : mp(P1) + girdle
C2 3 @ 41 +/- 2 : gp()
C3 0 @ 36 +/- 2 : mp(C1)
C4 3 @ 31 +/- 2 : mp(C2)
C5 0 @ 26 +/- 2 : mp(C3)
T  0 @ 0.00     : mp(C4) x1
-- lua script
name("Portuguese Cut")
ri(1.54)
gear(96)
cube(3)
color("#a78bfa")

TierAD("G1", 0, 90, 1.0, "x16")
TierAP("P1", 0, val(62.0, 2.0), cp())
TierAP("P2", 3, val(57.0, 2.0), gp())
TierAP("P3", 0, val(52.0, 2.0), mp("P1"))
TierAP("P4", 3, val(47.0, 2.0), mp("P2"))
TierAP("P5", 0, val(42.0, 2.0), mp("P3"))

TierAP("C1", 0, val(46.0, 2.0), mp("P1"):add(girdle))
TierAP("C2", 3, val(41.0, 2.0), gp())
TierAP("C3", 0, val(36.0, 2.0), mp("C1"))
TierAP("C4", 3, val(31.0, 2.0), mp("C2"))
TierAP("C5", 0, val(26.0, 2.0), mp("C3"))
TierAP("T",  0, 0.00,           mp("C4"), "x1")

4. Square Princess Cut (Optimized Chevron Pavilion, RI = 1.54)

A modern square princess cut using prz() projections and ep() edge interpolations to sculpt four chevron fans on the Pavilion and Crown:

name  = "Princess Cut Optimized"
ri    = 1.54
gear  = 96
color = "#38bdf8"

G1 0 @ 90 : size xx4

P1 0 @ 56.1315 +/- 2% : cp()
p1 = ep(edge(P1:0, G1:0), 0.5)
p2 = ep(edge(P1:48, G1:48), 0.5)

P2 1 : gp() : prz(ep(p1, p2, 1 / 8), P1:0)
P3 2 : gp() : prz(ep(p1, p2, 2 / 8), P2:1)
P4 3 : gp() : prz(ep(p1, p2, 3 / 8), P3:2)

C1 0 @ 35.1184 +/- 2% : mp(P1) + girdle
C2 1 @ 30.7955 +/- 2% : gp()
C3 2 : gp() : ep(edge(C2:1, C2:95), 0.7381 +/- 0.05)
T  0 @ 0 : mp(C2)
-- lua script
name("Princess Cut Optimized")
ri(1.54)
gear(96)
color("#38bdf8")

TierAD("G1", 0, 90, 1.0, "xx4")

TierAP("P1", 0, val(56.1315, "2%"), cp())
local p1 = ep(edge("P1:0", "G1:0"), 0.5)
local p2 = ep(edge("P1:48", "G1:48"), 0.5)

TierPP("P2", 1, gp(), prz(ep(p1, p2, 1 / 8), "P1:0"))
TierPP("P3", 2, gp(), prz(ep(p1, p2, 2 / 8), "P2:1"))
TierPP("P4", 3, gp(), prz(ep(p1, p2, 3 / 8), "P3:2"))

TierAP("C1", 0, val(35.1184, "2%"), mp("P1"):add(girdle))
TierAP("C2", 1, val(30.7955, "2%"), gp())
TierPP("C3", 2, gp(), ep(edge("C2:1", "C2:95"), val(0.7381, 0.05)))
TierAP("T",  0, 0, mp("C2"))

5. FVS-12 "Karen-2" Mixed Cut (RectTr, RI = 1.76)

A hybrid cut pairing a lively brilliant-style halo of Crown facets with step-controlled Pavilion tiers on a truncated rectangle (RectTr(1.5, 34)):

name  = "FVS-12 Karen-2"
ri    = 1.76
gear  = 64
color = "#f43f5e"

RectTr(1.5, 34)

P1 0  @ 61.50 : cp() xx2
P2 8  @ 41.00 : mp(G2)
P3 16 @ 46.00 : mp(G3)
P4 4  @ 42.73 : gp()
P5 14 : mp(P2) : mp(G1, G3)
P6 1  @ 43.41 : ep(mp(P4, P4, P4), mp(P2), 0.5)
P7 0  : mp(P1) : mp(P4)

ang1 = 36.64 +/- 1.0
ang2 = 30.64 +/- 1.0
ang3 = 28.98 +/- 1.0

C1 8  @ ang1 : mp(P2) + girdle
C2 8  @ ang2 : ep(mp(C1), mp(G3), 0.9)
C3 8  @ ang3 : ep(mp(C2), mp(C1), 0.9)

C4 0  @ ang1 : mp(G3)
C5 0  @ ang2 : mp(C1)
C6 0  @ ang3 : mp(C2)

C7 16 @ ang1 : mp(G3)
C8 16 @ ang2 : mp(C1)
C9 16 @ ang3 : mp(C2)
T  0  @ 0.00 : mp(C3)
-- lua script
name("FVS-12 Karen-2")
ri(1.76)
gear(64)
color("#f43f5e")

RectTr(1.5, 34)

TierAP("P1", 0,  61.50, cp(), "xx2")
TierAP("P2", 8,  41.00, mp("G2"))
TierAP("P3", 16, 46.00, mp("G3"))
TierAP("P4", 4,  42.73, gp())
TierPP("P5", 14, mp("P2"), mp("G1", "G3"))
TierAP("P6", 1,  43.41, ep(mp("P4", "P4", "P4"), mp("P2"), 0.5))
TierPP("P7", 0,  mp("P1"), mp("P4"))

local ang1 = val(36.64, 1.0)
local ang2 = val(30.64, 1.0)
local ang3 = val(28.98, 1.0)

TierAP("C1", 8,  ang1, mp("P2"):add(girdle))
TierAP("C2", 8,  ang2, ep(mp("C1"), mp("G3"), 0.9))
TierAP("C3", 8,  ang3, ep(mp("C2"), mp("C1"), 0.9))

TierAP("C4", 0,  ang1, mp("G3"))
TierAP("C5", 0,  ang2, mp("C1"))
TierAP("C6", 0,  ang3, mp("C2"))

TierAP("C7", 16, ang1, mp("G3"))
TierAP("C8", 16, ang2, mp("C1"))
TierAP("C9", 16, ang3, mp("C2"))
TierAP("T",  0,  0.00, mp("C3"))

6. Cushioned Checkerboard Dome (surface(), RI = 1.54)

Adapted from the classic GemCad advanced checkerboard tutorial, using surface(u, v, ll, ur) to project a 4×4 checkerboard grid directly onto the domed crown:

name  = "Checkerboard Dome"
ri    = 1.54
gear  = 64
color = "#c084fc"

G1 3 @ 90.00 : 0.9500 xx4
C1 1 @ 54.983 +/- 2.0 : cp()

midp1 = ep(edge(C1:1, G1:61), 0.5)
midp2 = ep(edge(C1:31, G1:35), 0.5)

G2 1 @ 90.00 : midp1
ur = mp(C1, { index: 40, angle: 90 })
ll = mp(C1, { index: 10, angle: 90 })

C2 3 : midp1 : surface(3/4, 1/4, ll, ur)
C3 8 : gp({ index: 6 }) : surface(3/4, 0/4, ll, ur)
C4 3 : surface(3/4, 1/4, ll, ur) : surface(4/4, 1/4, ll, ur)
C5 8 : surface(2/4, 1/4, ll, ur) : surface(3/4, 1/4, ll, ur)

P1 1 @ 45.3667 +/- 2.0 : mp(C1) - girdle
P2 3 @ 44.1930 +/- 2.0 : gp()
P3 2 @ 44.5960 +/- 2.0 : gp()
-- lua script
name("Checkerboard Dome")
ri(1.54)
gear(64)
color("#c084fc")

TierAD("G1", 3, 90.00, 0.9500, "xx4")
TierAP("C1", 1, val(54.983, 2.0), cp())

local midp1 = resolve(ep(edge("C1:1", "G1:61"), 0.5))
local midp2 = resolve(ep(edge("C1:31", "G1:35"), 0.5))

TierAP("G2", 1, 90.00, midp1)

local ur = resolve(mp("C1", { index = 40, angle = 90 }))
local ll = resolve(mp("C1", { index = 10, angle = 90 }))

TierPP("C2", 3, midp1, surface(3/4, 1/4, ll, ur))
TierPP("C3", 8, gp({ index = 6 }), surface(3/4, 0/4, ll, ur))
TierPP("C4", 3, surface(3/4, 1/4, ll, ur), surface(4/4, 1/4, ll, ur))
TierPP("C5", 8, surface(2/4, 1/4, ll, ur), surface(3/4, 1/4, ll, ur))

TierAP("P1", 1, val(45.3667, 2.0), mp("C1"):sub(girdle))
TierAP("P2", 3, val(44.1930, 2.0), gp())
TierAP("P3", 2, val(44.5960, 2.0), gp())

7. FVS-39 Opposed-Bar Pixel Cut (RI = 1.54)

Perpendicular step bars on the Pavilion and Crown act like crossed retro-reflectors, splitting the stone into a shimmering grid of rectangular pixels:

name  = "FVS-39 Cross-Bar Pixel Cut"
ri    = 1.54
gear  = 64
cube  = 5
color = "#f59e0b"

P1 16 @ 70.00 : 0.8 x2
G1 0  @ 90.00 : 0.8

e  = edge(P1:16, P1:48)
p1 = e[0]
p2 = e[1]

ang1 = [49.51, 48.05, 44.19, 43.59]

P2 0 @ ang1[0] : 0.18
P3 0 @ ang1[1] : prz(ep(p1, p2, 7 / 8), P2:0)
P4 0 @ ang1[2] : prz(ep(p1, p2, 6 / 8), P3:0)
P5 0 @ ang1[3] : prz(ep(p1, p2, 5 / 8), P4:0)

P6 8  @ 65.53 : mp(P3) x4
G2 8  @ 90.00 : mp(P2)
G3 16 @ 90.00 : mp(P6) x2
C1 0  @ 70.00 : mp(P2) + girdle xx2

C2 8  @ 49.80 : gp() x4
C3 16 @ 36.00 : gp() x2

p6 = ep(edge(C3:48, G3:16), 0.5)
p7 = ep(edge(C3:16, G3:48), 0.5)

ang2 = [20.4718, 14.52, 0.0]
C4 16 @ ang2[0] : mp(C2)
C5 16 @ ang2[1] : prz(ep(p7, p6, 2 / 7), C4:16)
C6 16 @ ang2[2] : prz(ep(p7, p6, 3 / 7), C5:16)
-- lua script
name("FVS-39 Cross-Bar Pixel Cut")
ri(1.54)
gear(64)
cube(5)
color("#f59e0b")

TierAD("P1", 16, 70.00, 0.8, "x2")
TierAD("G1", 0,  90.00, 0.8)

local e  = edge("P1:16", "P1:48")
local p1 = e[1]
local p2 = e[2]

local ang1 = {49.51, 48.05, 44.19, 43.59}

TierAD("P2", 0, ang1[1], 0.18)
TierAP("P3", 0, ang1[2], prz(ep(p1, p2, 7 / 8), "P2:0"))
TierAP("P4", 0, ang1[3], prz(ep(p1, p2, 6 / 8), "P3:0"))
TierAP("P5", 0, ang1[4], prz(ep(p1, p2, 5 / 8), "P4:0"))

TierAP("P6", 8,  65.53, mp("P3"), "x4")
TierAP("G2", 8,  90.00, mp("P2"))
TierAP("G3", 16, 90.00, mp("P6"), "x2")
TierAP("C1", 0,  70.00, mp("P2"):add(girdle), "xx2")

TierAP("C2", 8,  49.80, gp(), "x4")
TierAP("C3", 16, 36.00, gp(), "x2")

local p6 = ep(edge("C3:48", "G3:16"), 0.5)
local p7 = ep(edge("C3:16", "G3:48"), 0.5)

local ang2 = {20.4718, 14.52, 0.0}
TierAP("C4", 16, ang2[1], mp("C2"))
TierAP("C5", 16, ang2[2], prz(ep(p7, p6, 2 / 7), "C4:16"))
TierAP("C6", 16, ang2[3], prz(ep(p7, p6, 3 / 7), "C5:16"))

8. FVS-222 Honeycomb Cut (fred() Crossover, RI = 1.54)

An advanced 6-fold design using fred() line-to-line crossover intersections and show() debug markers to construct a hexagonal honeycomb crown:

name  = "FVS-222 Honeycomb"
ri    = 1.54
gear  = 96
color = "#2dd4bf"

G1 5 @ 90 : size xx6
P1 5 @ 43.02 +/- 2% : cp()
G2 0 @ 90 : ep(edge(G1:5, P1:5), 0.75)
P2 0 @ 41.3 : mp(G1, G2, P1)
P3 8 @ 40.9 : mp(G1, P1)
C1 5 @ 35.0 : mp(P3) + girdle
C2 0 @ 28.6 : mp(G2, G1, C1, { index: 4, angle: 45 })

p1 = mp(G2, G1, C2, { index: 4, angle: 45 })
p2 = mp(G2, G1, C2, { index: 10, angle: 45 })
p3 = fred(p1, p2, edge(C1:11, C1:5))
show(p1, "#6d4370")
show(p2, "purple")
show(p3, "#1eff00")

C3 8 @ 25.04 : p3

p4      = mp(G2, G1, C2, { index: 46, angle: 45 })
p_white = fred(p1, p4, edge(C2:0, C3:8))
show(p4, "red")
show(p_white, "white")

orange1 = mp(C1, C1, C3, { index: 88, angle: 45 })
orange2 = mp(C1, C1, C3, { index: 24, angle: 45 })
center  = mp(C1, C1, C3, { index: 8, angle: 45 })
blue1   = mp(C3, { index: 0, angle: 5 })
green1  = fred(orange1, orange2, center, blue1)
show(orange1, "#9c3540")
show(orange2, "#2b2417")
show(center, "#b6a486")

C4 0 : green1 : p_white
T  0 @ 0 : ep(edge(C4:0, C4:16), 0.5)
-- lua script
name("FVS-222 Honeycomb")
ri(1.54)
gear(96)
color("#2dd4bf")

TierAD("G1", 5, 90, 1.0, "xx6")
TierAP("P1", 5, val(43.02, "2%"), cp())
TierAP("G2", 0, 90, ep(edge("G1:5", "P1:5"), 0.75))
TierAP("P2", 0, 41.3, mp("G1", "G2", "P1"))
TierAP("P3", 8, 40.9, mp("G1", "P1"))
TierAP("C1", 5, 35.0, mp("P3"):add(girdle))
TierAP("C2", 0, 28.6, mp("G2", "G1", "C1", { index = 4, angle = 45 }))

local p1 = mp("G2", "G1", "C2", { index = 4, angle = 45 })
local p2 = mp("G2", "G1", "C2", { index = 10, angle = 45 })
local p3 = fred(p1, p2, edge("C1:11", "C1:5"))
show(p1, "#6d4370")
show(p2, "purple")
show(p3, "#1eff00")

TierAP("C3", 8, 25.04, p3)

local p4      = mp("G2", "G1", "C2", { index = 46, angle = 45 })
local p_white = fred(p1, p4, edge("C2:0", "C3:8"))
show(p4, "red")
show(p_white, "white")

local orange1 = mp("C1", "C1", "C3", { index = 88, angle = 45 })
local orange2 = mp("C1", "C1", "C3", { index = 24, angle = 45 })
local center  = mp("C1", "C1", "C3", { index = 8, angle = 45 })
local blue1   = mp("C3", { index = 0, angle = 5 })
local green1  = fred(orange1, orange2, center, blue1)
show(orange1, "#9c3540")
show(orange2, "#2b2417")
show(center, "#b6a486")

TierPP("C4", 0, green1, p_white)
TierAP("T",  0, 0, ep(edge("C4:0", "C4:16"), 0.5))

9. Victorian Briolette Pendeloque Drop (RI = 2.15)

An all-around 3D faceted pendant drop (cube = 5) wrapped in interlocking kite facets so it sparkles from every viewing angle:

name  = "Briolette Drop"
ri    = 2.15
gear  = 96
cube  = 5
color = "#60a5fa"

G  3 @ 90 : 0.5 x16
P1 3 @ 83 : 0.4
P2 0 @ 80 : mp(G)
P3 0 @ 66 : mp(P1)
P4 3 @ 62 : mp(P1)
P5 3 @ 58 : mp(P3)
P6 0 @ 55 : mp(P3)
P7 0 @ 40 : mp(P5)
P8 3 @ 38 : mp(P5)
P9 3 @ 18 : mp(P7)

C1 0 @ 87 : mp(P2)
C2 0 @ 80 : mp(G)
C3 3 @ 77 : mp(G)
C4 3 @ 72 : mp(C2)
C5 0 @ 70 : mp(C2)
C6 0 @ 65 : mp(C4)
C7 3 @ 63 : mp(C4)
C8 3 @ 53 : mp(C6)
C9 0 @ 51 : mp(C6) x8
-- lua script
name("Briolette Drop")
ri(2.15)
gear(96)
cube(5)
color("#60a5fa")

TierAD("G",  3, 90, 0.5, "x16")
TierAD("P1", 3, 83, 0.4)
TierAP("P2", 0, 80, mp("G"))
TierAP("P3", 0, 66, mp("P1"))
TierAP("P4", 3, 62, mp("P1"))
TierAP("P5", 3, 58, mp("P3"))
TierAP("P6", 0, 55, mp("P3"))
TierAP("P7", 0, 40, mp("P5"))
TierAP("P8", 3, 38, mp("P5"))
TierAP("P9", 3, 18, mp("P7"))

TierAP("C1", 0, 87, mp("P2"))
TierAP("C2", 0, 80, mp("G"))
TierAP("C3", 3, 77, mp("G"))
TierAP("C4", 3, 72, mp("C2"))
TierAP("C5", 0, 70, mp("C2"))
TierAP("C6", 0, 65, mp("C4"))
TierAP("C7", 3, 63, mp("C4"))
TierAP("C8", 3, 53, mp("C6"))
TierAP("C9", 0, 51, mp("C6"), "x8")

10. Rhombitrihexagonal Dome (ProFacet Original, RI = 1.54)

An original 6-fold trihexagonal pattern created by the ProFacet team (up Crown cut first using Style 1 + Style 2, followed by the G1–G3 girdle and optimizable Pavilion):

name  = "Rhombitrihexagonal"
ri    = 1.54
gear  = 96
color = "#6366f1"

A up 0 @ 0.00  : 0.3500 x1
B    0 @ 8.97  : 0.3633 x6
C    8 @ 10.33 : mp(A, B) xx6
D    8 @ 15.28 : 0.3891 xx6
E    0 @ 17.51 : mp(B, C) x6
F    8 @ 20.02 : 0.4180 xx6
G    5 @ 22.66 : mp(E, D) xx6
H    0 @ 25.33 : 0.4610 x6
I    3 @ 25.73 : mp(E, H) xx6
J    8 @ 28.66 : mp(G, F) xx6
K    4 @ 29.63 : mp(G, J) xx12
L    0 @ 32.26 : mp(I, K) x6

G1 0  @ 90.00 : 0.9600 x6
G2 8  @ 90.00 : 0.9600 x6

P1 0  @ 43.4781 +/- 2.0 : mp(G1, L) - girdle x6
P2 8  @ 43.4944 +/- 2.0 : mp(G1, G2) x6
-- lua script
name("Rhombitrihexagonal")
ri(1.54)
gear(96)
color("#6366f1")

TierAD("A", 0, 0.00,  0.3500, "x1", {side = "up"})
TierAD("B", 0, 8.97,  0.3633, "x6")
TierAP("C", 8, 10.33, mp("A", "B"), "xx6")
TierAD("D", 8, 15.28, 0.3891, "xx6")
TierAP("E", 0, 17.51, mp("B", "C"), "x6")
TierAD("F", 8, 20.02, 0.4180, "xx6")
TierAP("G", 5, 22.66, mp("E", "D"), "xx6")
TierAD("H", 0, 25.33, 0.4610, "x6")
TierAP("I", 3, 25.73, mp("E", "H"), "xx6")
TierAP("J", 8, 28.66, mp("G", "F"), "xx6")
TierAP("K", 4, 29.63, mp("G", "J"), "xx12")
TierAP("L", 0, 32.26, mp("I", "K"), "x6")

TierAD("G1", 0, 90.00, 0.9600, "x6")
TierAD("G2", 8, 90.00, 0.9600, "x6")

TierAP("P1", 0, val(43.4781, 2.0), mp("G1", "L"):sub(girdle), "x6")
TierAP("P2", 8, val(43.4944, 2.0), mp("G1", "G2"), "x6")