Claude
Skills
Sign in
Back

opengrid-openscad

Included with Lifetime
$97 forever

Interpretive guidance for generating OpenSCAD code for OpenGrid/MultiConnect wall-mounted organizers. Provides pattern selection frameworks, mounting system integration, and dimensional constraints specific to this ecosystem. Use when generating OpenSCAD files for OpenGrid items.

General

What this skill does


# OpenGrid OpenSCAD Code Generation

Generates OpenSCAD code for wall-mounted storage items compatible with OpenGrid boards (28mm grid) and MultiConnect mounting system.

## Required Reading Before Generating Code

**Official specifications:**

- **OpenGrid Spec**: 28mm grid spacing standard
- **MultiConnect Mounting**: Slotted backplate system using `multiconnectBack()` module (see ./common_items/backplate_mount.md)

**Pattern references** (read as needed):

- ./common_items/\*.md - Full OpenSCAD modules for each pattern
- ./enhancements.md - Optional feature modules

## Core Understanding (Critical Architecture)

### What Makes OpenGrid Different From Generic 3D Modeling

**Grid constraint**: All items must align to 28mm grid. This affects:

- Mounting backplate width (multiples of 28mm via `distanceBetweenSlots=28`)
- Horizontal dimensions should consider grid alignment for aesthetic consistency
- Vertical dimensions are unconstrained

**MultiConnect mounting system**: Items don't attach directly to wall. They:

1. Have slotted backplate created by `multiconnectBack(width, height, 28)`
2. Slide onto MultiConnect connectors mounted to OpenGrid board
3. Can be repositioned without tools

**Critical parameter relationships**:

```openscad
// These are interdependent:
backWidth = internal_width + wall_thickness*2;  // Total object width
slotCount = floor(backWidth/28);                // Number of connectors
actual_slots = max(1, slotCount);               // Minimum 1 slot
```

**Why this matters**: User requests "50mm wide bin" but code must account for walls, ensure at least one mounting slot, and ideally align to grid aesthetically.

## Pattern Selection Framework (Decision Layer)

### When User Requests Storage

Use this decision tree to select pattern:

| User wants to store               | Primary pattern        | Alternative                               | Read module                                      |
| --------------------------------- | ---------------------- | ----------------------------------------- | ------------------------------------------------ |
| Small hardware (screws, bits)     | Basic Bin              | Shallow Tray (if flat)                    | basic_bin.md                                     |
| Writing tools (pens, markers)     | Vertical Holder        | Angled Storage Row (if visibility needed) | vertical_holder.md, angled_storage_row.md        |
| Hand tools (screwdrivers, pliers) | Tool Holder with Hooks | Angled Storage Row                        | tool_holder_with_hooks.md, angled_storage_row.md |
| Bottles, spray cans               | Round Item Holder      | Advanced Bin (if accessibility needed)    | round_item_holder.md, advanced_bin.md            |
| Mixed items in sections           | Divided Bin            | Multiple basic bins                       | divided_bin.md                                   |
| Light shelving needs              | Shelf Bracket          | N/A                                       | shelf_bracket.md                                 |
| Easy-access items (cables, tape)  | Open Basket            | Multi-Access Holder                       | open_basket.md, multi_access_holder.md           |
| Keys, lightweight hangables       | Hook Array             | Curved Hook (for smooth finish)           | hook_array.md, curved_hook.md                    |
| Phone/charger/electronics         | Multi-Access Holder    | Advanced Bin                              | multi_access_holder.md, advanced_bin.md          |
| Items needing angled visibility   | Angled Storage Row     | Basic Bin                                 | angled_storage_row.md                            |
| Professional-quality bins         | Advanced Bin           | Basic Bin                                 | advanced_bin.md                                  |

### When Pattern Is Unclear

**Ask these questions:**

1. **Access pattern**: Top access (bin), side access (basket), or hanging (hooks)?
2. **Item orientation**: Vertical storage or horizontal?
3. **Item count**: Single type or mixed organization?
4. **Visibility**: Need to see contents from front?
5. **Quality level**: Quick prototype (basic patterns) or production quality (advanced patterns with BOSL2)?

**Default**: When unclear, use Basic Bin - most versatile, user can refine.

## Tolerance Tuning (Printer Calibration)

QuackWorks patterns provide calibration parameters for perfect fit across different printers:

| Parameter                | Range        | Default | Purpose                            |
| ------------------------ | ------------ | ------- | ---------------------------------- |
| slotTolerance            | 0.925-1.075  | 1.00    | Scale slot width (tight/loose fit) |
| dimpleScale              | 0.5-1.5      | 1.0     | Scale dimple size (snap strength)  |
| slotDepthMicroadjustment | -0.5 to +0.5 | 0       | Fine-tune slot depth               |

**Calibration Process:**

1. Print test piece with default values (`slotTolerance=1.00`)
2. If slots too loose (item slides off): decrease by 0.01-0.02
3. If slots too tight (hard to mount): increase by 0.01-0.02
4. Adjust `dimpleScale` for snap strength (v1) or triangle lock (v2)
5. Use `slotDepthMicroadjustment` for final fine-tuning

**When to tune:**

- New printer or filament type
- Temperature changes affecting dimensional accuracy
- Switching between PLA/PETG/ABS
- First print on a new OpenGrid system

## On-Ramp System

On-ramps are conical guides that ease mounting of heavy or tall items onto MultiConnect slots:

| Parameter             | Default | Purpose                                           |
| --------------------- | ------- | ------------------------------------------------- |
| onRampEnabled         | true    | Add guide cones to slots                          |
| On_Ramp_Every_X_Slots | 2       | Frequency (1=every slot, 2=every 2nd slot)        |
| onRampHalfOffset      | false   | Stagger ramps between grid points for better grip |

**When to enable:**

- Large/heavy items needing positioning help
- Tall items that are hard to align while lifting
- Items mounted high on wall (harder to see slots)

**When to disable:**

- Small, lightweight items
- Frequently repositioned items (ramps add friction)
- Minimal profile needed (ramps add material)

**Visual:**

```text
Without ramps:     With ramps:
    ║                  ║▲
    ║                  ║ ▲
────╫────         ────╫──▲────
    ║                  ║   ▲
```

Ramps guide item onto slots, especially helpful when you can't see the back of the item.

## Mounting Options Beyond Basic MultiConnect

QuackWorks supports multiple mounting systems. Choose based on your wall setup:

| Option          | Back Thickness | Grid    | Use Case                           |
| --------------- | -------------- | ------- | ---------------------------------- |
| Multiconnect V1 | 6.5mm          | 25/28mm | Standard, dimple-based hold        |
| Multiconnect V2 | 6.5mm          | 25/28mm | Triangle snap, stronger hold       |
| Multipoint      | 4.8mm          | 25mm    | Thinner profile, Multiboard system |
| GOEWS           | 7mm            | Custom  | Alternative slot design            |
| Command Strip   | N/A            | N/A     | Adhesive mount, rental-friendly    |

### Multiconnect V2 vs V1

**V2 advantages:**

- Triangle cutouts in slots create mechanical lock
- Stronger hold for heavier items
- More positive "snap" feedback when mounted

**V2 parameter:**

```openscad
multiConnectVersion = "v2";  // or "v1"
slotQuickRelease = false;    // Set true to disable triangle locks
```

**When to use V2:**

- Heavy items (>500g)
- Items that vibrate or move (power tools, fans)
- Production designs (better user experience)

**When to use V1:**

- Existing V1 connector infrastructure
- Frequently repositioned items (easier release)
- Prototyping (simpler geometry)

## Code Generation Best Practices

### Parameter Organization

**Always declare these parameters** at top o

Related in General