Skip to content

autoBool

![autoBool Hero Image - TODO: Add image showing modal interface and boolean operations in action]


What is it?

autoBool is an intelligent modal operator that automatically detects nearby objects and applies boolean operations between them. It features a real-time modal interface for selecting operation types (Union, Difference, Intersect) and integrates seamlessly with HardOps workflows through automatic "cutters" collection management.


Access and Shortcuts

  • Pie Menu: Hard Surface section → "autoBool"
  • Operator: damtools.auto_bool
  • Icon: Boolean modifier icon in DAMTools pie menu

Workflow

  1. Position cutting objects near target objects (proximity detection is automatic)
  2. Activate autoBool from the pie menu
  3. Modal interface appears showing detected cutter → target pairs
  4. Select operation using mouse wheel:
  5. Union: Join objects together
  6. Difference: Cut/subtract objects
  7. Intersect: Keep only overlapping areas
  8. Apply with Click/Space or Cancel with ESC/Right-click

TODO: Add GIF showing modal interface operation selection and boolean application


Dynamic Header: Shows current operation (e.g., "Auto Bool - Difference")

Operation Selection: - • Union ← Green text when selected - • Difference
- • Intersect

Controls: - Mouse wheel: Change operation - Click/Space: Apply selected operation - ESC/Right-click: Cancel

Status Info: Shows detected pairs (e.g., "1 cutters → 1 targets")


Parameters

Detection System

  • Proximity-based: Automatically finds objects with overlapping or near-overlapping bounding boxes
  • Smart pairing: Each cutting object is paired with nearby target objects
  • Real-time feedback: Modal interface shows detected pairs count

Boolean Operations

  • Union: Non-destructive boolean modifier using 'UNION' operation
  • Difference: Non-destructive boolean modifier using 'DIFFERENCE' operation
  • Intersect: Non-destructive boolean modifier using 'INTERSECT' operation

HardOps Integration

Cutters Collection Management

  • Automatic creation: Creates "cutters" collection if it doesn't exist
  • Proper positioning: Places cutters collection in 2nd position (HardOps standard)
  • Cutter object setup:
  • Converts to wireframe display mode
  • Excludes from renders automatically
  • Maintains object for non-destructive workflow

Workflow Compatibility

  • Non-destructive approach: Uses boolean modifiers instead of direct mesh operations
  • Professional organization: Follows HardOps collection standards
  • Industry workflow: Compatible with established hard-surface modeling practices

Tips

  • Object positioning: Place cutting objects to overlap or touch target objects for detection
  • Multiple targets: One cutter can affect multiple nearby targets automatically
  • Modifier-based: Operations create modifiers, keeping geometry editable
  • Collection organization: Cutters are automatically organized following HardOps standards
  • Visual feedback: Modal interface follows DAMTools theme with consistent colors and sizing

Technical Features

  • Bounding box detection: Uses utils.are_bboxes_close() for proximity detection
  • Modal UI system: Integrates with DAMTools theme system for consistent appearance
  • Error handling: Graceful handling of edge cases and user feedback
  • Memory management: Proper cleanup of modal handlers and draw callbacks

Use Cases

  • Hard surface modeling: Quick boolean operations for mechanical details
  • Architectural elements: Cutting windows, doors, and openings
  • Product design: Creating complex shapes through boolean combinations
  • Rapid prototyping: Fast iteration on design concepts
  • HardOps workflows: Professional hard-surface modeling integration

Known Limitations

  • Proximity requirement: Objects must be positioned close enough for bounding box detection
  • Mesh-only: Works with mesh objects only
  • Modifier stack: Adds modifiers to the target objects (may affect existing modifier stack)

See Also

  • InternalUnion: For specific union operations
  • HardOps addon: Professional hard-surface modeling toolkit
  • Blender Boolean modifiers: Native boolean system documentation