5d15a1fd82
Move the Ring solar siding adapter into its own directory, add repo and project documentation, and introduce a preview script (OpenSCAD+xvfb or PyVista fallback) for catalog images.
5.6 KiB
5.6 KiB
Ring Solar Siding Adapter
Parametric adapter plate that sits between a Ring Solar Charger (integrated battery-doorbell solar unit) and horizontal beaded vinyl lap siding.
| Source | ring-solar-siding-adapter.scad |
| Footprint | ~93 × 171 mm (matches the Ring back) |
| Units | Millimeters throughout |
What it is
- Front face: flat — the Ring unit mounts here.
- Rear face: shaped to match siding — bead groove at the top, flat shelf in the middle, curved taper at the bottom.
What it's for
The Ring's back is flat; siding is not. Without an adapter, you get gaps, uneven pressure, and a poor mount.
This plate:
- Conforms to the siding profile so the rear sits flush against the wall.
- Receives the siding bead in a semicircular groove near the top.
- Provides two through-holes aligned with the Ring's house-mount screws — screws pass through Ring → adapter → siding → sheathing.
Typical stack:
Ring Solar Charger
↓ screws
Adapter plate ← this part
↓
Vinyl siding
↓
Sheathing
Rear profile (side view, bottom → top)
plate top ───────────── bead coping groove (receives siding bead)
flat rear shelf
taper start ───────────── flat_upper_ratio sets this boundary
curved taper
plate bottom ──────────── deepest projection toward front
Depth convention: lower depth = toward the wall; higher depth = toward the front (Ring).
Parameters
Plate
| Parameter | Meaning |
|---|---|
plate_width |
Width of the adapter (Ring back width). |
plate_height |
Height of the adapter (Ring back height). |
min_wall_thickness |
Minimum solid depth at the thinnest point (bead groove pinch). Also scales bottom taper reach. |
edge_round |
Rounds front edges via minkowski. Keep 0 while tuning; set ~1 for final print (slower render). |
Siding profile
| Parameter | Meaning |
|---|---|
siding_projection |
Nominal max siding depth from wall. Feeds face_inset_z via clearance and inset. |
face_inset_depth |
How far the flat upper rear sits in from max projection. |
bead_coping_radius |
Radius of the semicircular bead groove (measured on your siding). |
bead_coping_offset_top |
Distance from plate top to center of the bead groove. |
flat_upper_ratio |
Fraction of plate height (from top down) with a flat rear. Lower = taper starts higher. |
bottom_taper_depth_ratio |
How far the bottom rear reaches toward the front beyond the flat shelf: min_wall_thickness × this. Higher = more projection at bottom. |
rear_extension |
Pushes flat rear and taper toward the wall without moving the front face or bead groove vs front/top. Adds overall depth. |
course_pitch |
Bead-to-bead spacing on your siding (~6.5"). Reference for tuning. |
profile_segments |
Curve sampling resolution. Higher = smoother, slower. |
profile_mode |
curved = smooth taper; stepped = debug fallback with sharp transitions. |
rear_clearance |
Small gap so the part doesn't bind on siding. |
Common tuning relationships:
| Goal | Parameter |
|---|---|
| Move taper start up/down | flat_upper_ratio |
| Bottom taper more/less toward front | bottom_taper_depth_ratio |
| Whole plate deeper front-to-back (bead stays put) | rear_extension |
| Bead groove up/down | bead_coping_offset_top |
| Groove size | bead_coping_radius |
Mounting holes
| Parameter | Meaning |
|---|---|
mount_hole_offset_top |
Upper hole center distance from plate top. |
mount_hole_offset_bottom |
Lower hole center distance from plate bottom. |
mount_hole_dia |
Hole diameter (4.5 mm for 4 mm Ring screws). |
mount_hole_x |
Horizontal offset from center (0 = centered). |
Export
| Parameter | Meaning |
|---|---|
part_mode |
What to generate (see below). |
profile_strip_width |
Width of the narrow siding fit-test strip. |
front_slice_depth |
Thickness of the front-face test cap (mm). |
Export modes:
| Mode | Purpose |
|---|---|
full |
Complete adapter with holes — final part. |
profile_strip |
Narrow strip through the rear profile — cheap siding fit test. |
front_slice |
Thin front cap with holes — check width, height, hole placement vs Ring. |
Suggested workflow
profile_strip— tune siding profile (flat_upper_ratio,bottom_taper_depth_ratio,rear_extension, bead params).front_slice— verify Ring hole alignment.full— print final plate (PETG/ASA recommended outdoors; PLA OK for tests).
Print orientation: front face (Ring side) on the bed, rear profile vertical.
Related files
| File | Purpose |
|---|---|
ring-solar-siding-adapter.backup.scad |
Earlier geometry — flat upper rear + lower taper only, no bead coping groove |
*.stl |
Exported meshes (gitignored; export locally) |
Regenerate preview
From the repo root:
pip install pyvista # headless fallback (WSL without display)
sudo apt install xvfb # optional — native OpenSCAD PNG export
python3 scripts/render-preview.py ring-solar-siding-adapter
Or export a PNG directly from OpenSCAD when a display (or xvfb-run) is available:
xvfb-run -a openscad --render --viewall --imgsize=1200,900 \
-o ring-solar-siding-adapter/preview.png \
ring-solar-siding-adapter/ring-solar-siding-adapter.scad
