🗂️ Zone Management

Grouping Blades for Mass Configuration

Overview

Zone Management provides a way to group blades together and apply common properties to all blades within a zone. This simplifies configuration of complex fixtures where different regions require different settings.

What is a Zone?

A zone is a collection of blades that share common properties. Blades within a zone can intersect each other at any angle in 3D space and will use the zone's retention mechanism to interlock.

Key Concepts

TermDescription
ZoneA named group of blades sharing common properties
Zone MemberA blade that belongs to exactly one zone
Bridge BladeA blade that connects blades from different zones
Neutral SettingsDefault properties applied to bridge blades
Unassigned BladeA blade not in any zone (uses fixture defaults)

🆕 Why Use Zones?

  • Mass configuration - Change one setting, affect all blades in the zone
  • Visual organization - Different colors/transparency per zone
  • Different retention types - Keyhole in one zone, friction-slot in another
  • Export control - Generate separate DXF files per zone
  • Feature application - Apply grippers only to certain zones

Zone Architecture

Visual Example

FIXTURE WITH THREE ZONES ======================== Zone A (Blue) Zone B (Red) Zone C (Green) Retention: Keyhole Retention: Friction Retention: None ┌─────┬─────┐ ┌─────┬─────┐ ┌─────┐ │ │ │ │ │ │ │ │ ├─────┼─────┤ ├─────┼─────┤ │ │ │ │ │ │ │ │ │ │ └─────┴──┬──┘ └──┬──┴─────┘ └─────┘ │ │ │ ┌─────────┐ │ └────┤ BRIDGE ├────┘ │ (Gray) │ └─────────┘ Bridge blade uses NEUTRAL settings (neither Zone A nor Zone B)

Zone Independence

Zones are independent islands of blades:

  • Blades within Zone A interlock with each other using Zone A's retention type
  • Blades within Zone B interlock with each other using Zone B's retention type
  • Zone A blades do NOT directly interlock with Zone B blades
  • If physical connection is needed between zones, a bridge blade is used

Blade Classification Flow

┌─────────────────────┐ │ For each blade │ └──────────┬──────────┘ │ ┌──────────▼──────────┐ │ Is blade explicitly │ │ assigned to a zone? │ └──────────┬──────────┘ │ ┌───────────────┴───────────────┐ │ YES │ NO ▼ ▼ ┌──────────────────┐ ┌──────────────────────┐ │ Use zone settings │ │ Does blade intersect │ └──────────────────┘ │ blades from multiple │ │ different zones? │ └──────────┬───────────┘ │ ┌───────────────┴───────────────┐ │ YES │ NO ▼ ▼ ┌──────────────────┐ ┌──────────────────┐ │ BRIDGE BLADE │ │ Use fixture │ │ Use neutral │ │ default settings │ │ settings │ └──────────────────┘ └──────────────────┘

Bridge Blades

Bridge blades solve the problem of connecting zones that use different retention mechanisms.

The Problem

Zone A (Keyhole) Zone B (Friction-slot) ┌─────────────┐ ┌─────────────┐ │ Blade 1 │ │ Blade 5 │ │ Blade 2 │──── Blade X ────────│ Blade 6 │ │ Blade 3 │ │ Blade 7 │ └─────────────┘ └─────────────┘ PROBLEM: Blade X intersects both zones - Should it use keyhole (Zone A)? - Should it use friction-slot (Zone B)? - What if it intersects 3+ zones?

The Solution: Neutral Settings

Bridge blades use a neutral retention type defined at the fixture level. This avoids the complexity of choosing between conflicting zone settings.

Zone A (Keyhole) BRIDGE (Neutral) Zone B (Friction-slot) ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ Blade 1 │ │ │ │ Blade 5 │ │ Blade 2 │─────│ Blade X │───────│ Blade 6 │ │ Blade 3 │ │ (Gray) │ │ Blade 7 │ └─────────────┘ └─────────────┘ └─────────────┘ Blade X uses NEUTRAL settings: - Simple friction fit (no special features) - Neutral color (gray) - Works with any zone it connects to

Auto-Detection vs Manual Assignment

MethodDescriptionUse When
Auto-detect System finds blades that intersect multiple zones Simple fixtures, clear zone boundaries
Manual User explicitly lists bridge blade IDs Complex fixtures, override auto-detection

Multi-Zone Bridges

A bridge blade can connect more than two zones:

Zone A │ │ Zone B ─────── BRIDGE ─────── Zone C │ │ Zone D One bridge blade connecting 4 zones Still uses single neutral settings

Zone Properties

Each zone can define the following properties that apply to all member blades:

Visual Properties

PropertyTypeDescription
colorstringHex color code or named color for zone blades
transparencyinteger0-100% transparency for visualization
layerstringCAD layer name for zone blades

Retention Properties

PropertyTypeDescription
retention.typestring"keyhole", "friction-slot", "weld-only", "none"
retention.reliefHolesobjectRelief hole configuration
retention.keyholeobjectKeyhole entry configuration
retention.alignmentHoleobjectAlignment/dowel hole configuration

Feature Properties

PropertyTypeDescription
edgeFeaturesobjectGripper, plunger settings for zone
dangerZoneobjectSafety marking override for zone
materialobjectThickness/material override

Export Properties

PropertyTypeDescription
export.separateDXFbooleanGenerate separate DXF file for zone
export.filenamePrefixstringPrefix for exported files
export.includeInMasterbooleanInclude in combined fixture DXF

JSON Configuration

Complete Zone Schema

"zones": { "enabled": true, "neutral": { "retention": { "type": "friction-slot", "reliefHoles": { "enabled": false } }, "color": "#808080", "transparency": 0, "description": "Applied to bridge blades connecting multiple zones" }, "autoDetectBridges": true, "bridgeBlades": [], // Manual override: [13, 14, 15] "definitions": [ { "id": "primary-support", "description": "Main load-bearing structure", "blades": [1, 2, 3, 4, 5, 6], "visual": { "color": "#4080C0", "transparency": 0, "layer": "BLADES_PRIMARY" }, "retention": { "type": "keyhole", "slot": { "width": "auto", "length": 25, "terminationRadius": 2 }, "keyhole": { "enabled": true, "entryDiameter": "auto", "position": "bottom" }, "reliefHoles": { "enabled": true, "count": 2, "diameter": 4, "offsetFromSlot": 8 } }, "edgeFeatures": { "grippers": { "enabled": true }, "plungers": { "enabled": true } }, "export": { "separateDXF": true, "filenamePrefix": "primary_" } }, { "id": "inspection-window", "description": "Transparent viewing area", "blades": [10, 11, 12], "visual": { "color": "#40C040", "transparency": 70, "layer": "BLADES_WINDOW" }, "retention": { "type": "none" }, "edgeFeatures": { "grippers": { "enabled": false }, "plungers": { "enabled": false } } } ] }

Blade Assignment Methods

Blades can be assigned to zones in several ways:

// By blade ID (most common) "blades": [1, 2, 3, 4, 5, 6] // By blade name "blades": ["main-vertical-1", "main-vertical-2", "cross-support-A"] // By spatial query (future) "blades": { "query": "intersects", "region": { "xMin": 0, "xMax": 100, "yMin": 0, "yMax": 200 } } // By tag (future) "blades": { "tag": "load-bearing" }

Auto-Detection Algorithm

When autoDetectBridges is enabled, the system automatically identifies bridge blades:

Algorithm

BRIDGE DETECTION ALGORITHM ========================== FOR each blade B in fixture: connectedZones = empty set FOR each blade C that physically intersects B: IF C is assigned to a zone Z: ADD Z to connectedZones IF connectedZones.count > 1: MARK B as BRIDGE blade APPLY neutral settings to B ELSE IF connectedZones.count == 1: IF B is not explicitly assigned to any zone: OPTIONALLY assign B to the single connected zone ELSE: // connectedZones.count == 0 B uses fixture default settings

Intersection Detection

Two blades "intersect" if their 3D solid bodies overlap. This is determined by:

  • Boolean intersection test (SLD INT)
  • Bounding box pre-filter for performance
  • Works at any angle - not limited to 90°

Use Cases

Use Case 1: Serviceable vs Permanent Sections

SERVICEABLE ZONE PERMANENT ZONE (Keyhole + relief holes) (Weld-only) ┌─────────────────────┐ ┌─────────────────────┐ │ ○ │ ○ │ │ │ │ │ │ │ Welded joints │ │ Removable blades │ │ No slots needed │ │ │ │ │ └─────────────────────┘ └─────────────────────┘ - Easy blade replacement - Maximum rigidity - Drill-out removal option - No weak points

Use Case 2: Visual Debugging

Zone A: Blue, 0% transparent - Main structure Zone B: Red, 0% transparent - High-stress area Zone C: Green, 50% transparent - Inspection windows Zone D: Yellow, 30% transparent - Cooling channels Different colors help identify blade groups in complex fixtures

Use Case 3: Phased Manufacturing

Phase 1 Zone: Cut and assemble first Phase 2 Zone: Add after Phase 1 complete Phase 3 Zone: Final additions - Separate DXF exports per phase - Different filename prefixes - Assembly sequence documentation

Best Practices

✅ Do

  • Keep zones as independent islands where possible
  • Use descriptive zone IDs ("primary-support" not "zone1")
  • Define neutral settings even if you don't expect bridges
  • Use visual differentiation (color/transparency) for debugging
  • Document zone purposes in the description field

❌ Don't

  • Assign one blade to multiple zones
  • Create zones with only one blade (use defaults instead)
  • Rely solely on auto-detection for complex fixtures
  • Mix incompatible retention types without bridges

Zone Planning Checklist

  1. Identify logical blade groupings (by function, location, or phase)
  2. Determine retention type for each group
  3. Identify potential bridge blades at zone boundaries
  4. Define neutral settings for bridges
  5. Assign visual properties for debugging
  6. Configure export settings if separate files needed

Related Topics