Skip to main content

raygeo.ops.assembly.material_test_grid

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,
) -> 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", or "Speed vs Passes" (default "Power vs Speed").
include_labelsbool = TrueGenerate text labels (default True).
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,
) -> 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", or "Speed vs Passes" (default "Power vs Speed").
include_labelsbool = TrueGenerate text labels (default True).
Returnsnumpy.ndarrayA (H, W, 4) RGBA uint8 numpy array.