Skip to main content

raygeo.ops.assembly.material_test_grid

MaterialTestGridSpec

Parameters for the material-test-grid assembler.

cols

cols: int

fixed_power

fixed_power: float

fixed_speed

fixed_speed: float

grid_mode

grid_mode: str

"Power vs Speed", "Power vs Passes", "Speed vs Passes", or "Speed vs Offset".

include_labels

include_labels: bool

label_power_percent

label_power_percent: float

Power for label engraving in percent (0–100).

label_speed

label_speed: float

Feed rate for label engraving in mm/min.

line_interval_mm

line_interval_mm: float

max_offset

max_offset: float

max_passes

max_passes: int

max_power

max_power: float

max_speed

max_speed: float

min_offset

min_offset: float

min_passes

min_passes: int

min_power

min_power: float

min_speed

min_speed: float

mode

mode: str

"engrave" or "cut".

rows

rows: int

shape_size

shape_size: float

size_mm

size_mm: tuple[float, float]

(width_mm, height_mm) of the workpiece area to fill.

spacing

spacing: float

Functions

generate_material_test_grid()

generate_material_test_grid(
size_mm: tuple[float, float],
cols: int = 5,
rows: int = 5,
min_speed: float = 100,
max_speed: float = 500,
min_power: float = 10,
max_power: float = 100,
min_passes: int = 1,
max_passes: int = 5,
fixed_speed: float = 1000,
fixed_power: float = 50,
shape_size: float = 10,
spacing: float = 2,
line_interval_mm: float = 0.1,
mode: str = 'engrave',
grid_mode: str = 'Power vs Speed',
include_labels: bool = True,
label_power_percent: float = 10,
label_speed: float = 1000,
min_offset: float = -0.5,
max_offset: float = 0.5,
) -> ops.assembly.AssemblyResult

Generate a material test grid with varying speed and power.

Creates grid cells in rows x cols arrangement, each with baked-in power, speed, and pass count. When include_labels is True (default), column headers, row labels, and axis titles are generated using raygeo's built-in text-to-geometry (swash/fontdb).

ParameterTypeDescription
size_mmtuple[float, float]The (width, height) of the workpiece in mm.
colsint = 5Number of columns (default 5).
rowsint = 5Number of rows (default 5).
min_speedfloat = 100Minimum speed in mm/min (default 100.0).
max_speedfloat = 500Maximum speed in mm/min (default 500.0).
min_powerfloat = 10Minimum power in percent (default 10.0).
max_powerfloat = 100Maximum power in percent (default 100.0).
min_passesint = 1Minimum number of passes (default 1).
max_passesint = 5Maximum number of passes (default 5).
fixed_speedfloat = 1000Fixed speed for Power vs Passes mode (default 1000.0).
fixed_powerfloat = 50Fixed power for Speed vs Passes mode (default 50.0).
shape_sizefloat = 10Size of each grid cell in mm (default 10.0).
spacingfloat = 2Spacing between cells in mm (default 2.0).
line_interval_mmfloat = 0.1Line spacing for engrave mode (default 0.1).
modestr = 'engrave'"engrave" or "cut" (default "engrave").
grid_modestr = 'Power vs Speed'"Power vs Speed", "Power vs Passes", "Speed vs Passes", or "Speed vs Offset" (default "Power vs Speed").
include_labelsbool = TrueGenerate text labels (default True).
label_power_percentfloat = 10Power for label engraving in percent (default 10.0).
label_speedfloat = 1000Feed rate for label engraving in mm/min (default 1000.0).
min_offsetfloat = -0.5Minimum bidirectional scan offset in mm for Speed vs Offset mode (default -0.5).
max_offsetfloat = 0.5Maximum bidirectional scan offset in mm for Speed vs Offset mode (default 0.5).
Returnsops.assembly.AssemblyResultAn AssemblyResult with grid cell paths and labels.

generate_material_test_grid_preview()

generate_material_test_grid_preview(
size_mm: tuple[float, float],
dpi: float = 96,
cols: int = 5,
rows: int = 5,
min_speed: float = 100,
max_speed: float = 500,
min_power: float = 10,
max_power: float = 100,
min_passes: int = 1,
max_passes: int = 5,
fixed_speed: float = 1000,
fixed_power: float = 50,
shape_size: float = 10,
spacing: float = 2,
line_interval_mm: float = 0.1,
mode: str = 'engrave',
grid_mode: str = 'Power vs Speed',
include_labels: bool = True,
label_power_percent: float = 10,
label_speed: float = 1000,
min_offset: float = -0.5,
max_offset: float = 0.5,
) -> numpy.ndarray

Generate a raster preview of the material test grid.

Creates the same grid as generate_material_test_grid but renders it to an RGBA numpy array instead of returning Ops.

ParameterTypeDescription
size_mmtuple[float, float]The (width, height) of the workpiece in mm.
dpifloat = 96Output resolution in dots per inch (default 96.0).
colsint = 5Number of columns (default 5).
rowsint = 5Number of rows (default 5).
min_speedfloat = 100Minimum speed in mm/min (default 100.0).
max_speedfloat = 500Maximum speed in mm/min (default 500.0).
min_powerfloat = 10Minimum power in percent (default 10.0).
max_powerfloat = 100Maximum power in percent (default 100.0).
min_passesint = 1Minimum number of passes (default 1).
max_passesint = 5Maximum number of passes (default 5).
fixed_speedfloat = 1000Fixed speed for Power vs Passes mode (default 1000.0).
fixed_powerfloat = 50Fixed power for Speed vs Passes mode (default 50.0).
shape_sizefloat = 10Size of each grid cell in mm (default 10.0).
spacingfloat = 2Spacing between cells in mm (default 2.0).
line_interval_mmfloat = 0.1Line spacing for engrave mode (default 0.1).
modestr = 'engrave'"engrave" or "cut" (default "engrave").
grid_modestr = 'Power vs Speed'"Power vs Speed", "Power vs Passes", "Speed vs Passes", or "Speed vs Offset" (default "Power vs Speed").
include_labelsbool = TrueGenerate text labels (default True).
label_power_percentfloat = 10Power for label engraving in percent (default 10.0).
label_speedfloat = 1000Feed rate for label engraving in mm/min (default 1000.0).
min_offsetfloat = -0.5Minimum bidirectional scan offset in mm for Speed vs Offset mode (default -0.5).
max_offsetfloat = 0.5Maximum bidirectional scan offset in mm for Speed vs Offset mode (default 0.5).
Returnsnumpy.ndarrayA (H, W, 4) RGBA uint8 numpy array.