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¶
- Position cutting objects near target objects (proximity detection is automatic)
- Activate autoBool from the pie menu
- Modal interface appears showing detected cutter → target pairs
- Select operation using mouse wheel:
- Union: Join objects together
- Difference: Cut/subtract objects
- Intersect: Keep only overlapping areas
- Apply with Click/Space or Cancel with ESC/Right-click
TODO: Add GIF showing modal interface operation selection and boolean application
Modal Interface¶
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