3.0 KiB
3.0 KiB
Corner Decoration — Design Spec
Date: 2026-06-11
Overview
A 1-meter-tall decorative piece for a 90° wall corner. Twisted flat ribbon blade emerging from a hollow triangular spine. Split into 4 × 25cm 3D-printed pieces. Cable routing channel through the spine.
Geometry
Overall
- Total height: 1000mm (4 × 250mm pieces)
- Corner angle: 90°
- Ribbon protrusion: 80mm from corner to ribbon centre axis (along 45° diagonal); ribbon extends 50mm either side → near edge at 30mm, far edge at 130mm from corner
- Twist rate: 360° per 250mm piece (ribbon returns to same orientation at each joint)
Ribbon Blade
- Width: 100mm
- Thickness: 4mm
- Cross-section: flat rectangle (blade / ribbon profile)
- Path: helical, centered on the 45° diagonal axis of the corner
- One full twist (360°) per piece — top and bottom faces of each piece are geometrically identical
Triangular Spine
- Profile: right isosceles triangle, legs ~20mm × 20mm
- Sits flush in the 90° corner; hypotenuse face at 45° to both walls
- Two flanges (~5mm thick, 20mm wide) extend along each wall surface for gluing
- Cable channel: 12mm diameter circular hole through the centroid of the triangle, running full height
- Ribbon attaches at the midpoint of the hypotenuse face
Piece Joinery
- Alignment peg: 4mm square peg on top face, matching socket on bottom face
- Cable hole aligns automatically via peg
- Pieces glued wall-to-wall and to each other with construction adhesive
Print Settings
| Parameter | Value |
|---|---|
| Orientation | Vertical (upright) |
| Supports | Required (ribbon overhangs during twist) |
| Layer height | 0.15mm |
| Infill | 15% gyroid |
| Material | PLA |
| Pieces | 4 identical pieces |
Fallback if supports leave bad finish: split each piece into spine + ribbon, print separately, glue.
Generation
Python script using cadquery. All dimensions as named constants at top of file. Outputs one STL per piece (all 4 identical).
Key construction steps
- Build spine: extrude right-isosceles triangle profile × 250mm, subtract 12mm cylinder for cable hole, add flanges on two legs
- Build ribbon: sweep a 100mm × 4mm rectangle along a 250mm helix path (pitch = 250mm for 360°/piece), centered on the 45° diagonal axis
- Boolean union spine + ribbon
- Add alignment peg (top face) and socket (bottom face)
- Export STL
Parameters (all tunable)
PIECE_HEIGHT = 250 # mm
NUM_PIECES = 4
RIBBON_WIDTH = 100 # mm
RIBBON_THICKNESS = 4 # mm
PROTRUSION = 80 # mm — corner to ribbon centre axis along 45° diagonal
TWIST_DEG = 360 # degrees per piece
SPINE_LEG = 20 # mm — triangle leg length
FLANGE_WIDTH = 20 # mm
FLANGE_THICKNESS = 5 # mm
CABLE_HOLE_DIA = 12 # mm
PEG_SIZE = 4 # mm square
PEG_HEIGHT = 5 # mm
Mounting
- Glue flanges to both walls with construction adhesive (e.g. Liquid Nails)
- Stack pieces bottom-up, aligning pegs
- Thread cable through spine channel before gluing upper pieces
- No visible hardware