Interactive Preview & Customizer
3D STL viewer with browser-based OpenSCAD rendering on parameter changes.
Loading preview...
step 0.5
step 0.5
step 0.1
step 0.1
step 0.1
step 0.1
step 0.1
step 0.5
step 0.5
WASM compiler loads on first parameter change.
Prompt
Design a rectangle with texture like on image
OpenSCAD Code
// Organic Wavy Plate - Fixed Version
// Creates a solid base with overlapping spherical subtractions
/* [Plate Dimensions] */
width = 100; // X dimension (mm)
length = 100; // Y dimension (mm)
plate_height = 10; // Total thickness of the block (mm)
/* [Texture Settings] */
cell_spacing = 10; // Distance between craters (smaller = more dense)
sphere_radius = 12; // Radius of the carving spheres (must be > cell_spacing/2)
randomness = 4; // Organic jitter (mm)
sink_depth = 4; // How deep the spheres sit into the plate
seed = 123; // Random seed for the pattern
/* [Resolution] */
$fn = 44; // Faceting of the craters (20-30 looks best)
module organic_plate() {
difference() {
// 1. The solid base plate
cube([width, length, plate_height]);
// 2. The subtractive texture grid
// We expand the grid slightly beyond edges to ensure full coverage
for (x = [-cell_spacing : cell_spacing : width + cell_spacing]) {
for (y = [-cell_spacing : cell_spacing : length + cell_spacing]) {
// Deterministic randomness based on grid position
offsets = rands(-randomness, randomness, 2, seed + x + y*10);
off_x = offsets[0];
off_y = offsets[1];
// Position spheres so they carve into the top surface
// Z = plate_height + (sphere_radius - sink_depth)
translate([x + off_x, y + off_y, plate_height + sphere_radius - sink_depth])
sphere(r = sphere_radius);
}
}
}
}
// Render
organic_plate();