Cramo Tools?
Cramo Tools is a Blender extension designed to minimize repetitive actions and administrative tasks. It does so by adding to or extending Blender's existing capabilities while adding completely new ones for efficiency and ease—made to minimize grunt work.
Ok, but why?
Because toggling object transformation locks to prevent accidental changes, creating and managing collections, naming objects and hierarchies (with appropriate family, parent, and child IDs), mass importing/exporting is super boring but also a necessity if you aim to be organized. These tasks are as fun as watching paint dry, but Cramo Tools has got you covered and then some.
Usage
Mouse cursor must be over a 3D viewport to trigger the menu. F1 by default, changeable in preferences.
Lock Tools
Scene/Geometry/Cameras/Lights:b
Scene Lock, Geometry Lock, Camera Lock, and Light Lock do exactly what the names imply - lock the location, rotation, and scale transformations for those object types with a single click. This helps prevent unintended changes of carefully positioned elements in your scene. With the exception of Scene Lock (because it affects all object types and ignores selections) each tool only affects the current selection. If nothing's selected, it locks everything of that type.
Operation:
- With selection: Locks/unlocks only the selected objects of that type.
- Without selection: Locks/unlocks all objects of that type.
- Repeat the same action to unlock.
Wireframe
The Wireframe tool is amongst the simplest but still useful tools. Blender has two wireframe display options: a global option within the viewport overlay setting and an object specific setting in object properties. Due to this redundancy, some objects show their wireframes at times and others don’t despite the overlay option being toggled on. The Wireframe tool simply syncs these settings, enabling consistent wireframe toggling.
Collector
With a single click Collector sorts objects into collections based on type, including complex hierarchies with multiple object types. Cameras go to a "Cameras" collection, lights to a "Lights" collection, curves to a "Curves" collection - etc. This is perfect when the outliner is chaotic and needs order.
Existing collections will NOT be affected and default collection names can be set via preferences.
Preferences
- Custom collection names for each object type.
Camera and Light Group
Camera Group and Light Group create basic rigs by parenting them to empty objects. Each camera or light is also configured with a "Track To" constraint, with the empty object serving as both the parent and the Track To target.
Note:
- Duplicating a camera will result in Blender’s default ".001, .002, ..." naming convention.
- To maintain proper sequential naming, use with Name Sync:
Default Duplicate Naming | Duplicate Naming after Name Sync |
---|---|
Light-G1 (Parent) | Camera-G1 (Parent) |
- Light-G1-01 | - Light-G1-01 |
- Light-G1-01.001 | - Camera-G1-02 |
- Light-G1-01.002 | - Light-G1-03 |
Combo Breaker
Combo Breaker builds upon Blender's "Separate by Loose Parts" function by implementing a more sensible naming convention as well as organization options for better outliner management and readability.
Default Naming | Combo Breaker | w/ Parent Object |
---|---|---|
Cube | Cube-Part-01 | Cube (Parent) |
Cube.001 | Cube-Part-02 | - Cube-Part-01 |
Cube.002 | Cube-Part-03 | - Cube-Part-02 |
Preferences
- Parent the loose parts to an Empty.
- Add the loose parts to a collection.
Dual Screenshot
Dual Screenshot captures two consecutive screenshots. The first is a standard screenshot of the entire main Blender application window, the second is an OpenGL render of the largest 3d viewport. This is great and convenient for generating asset browser thumbnails, proving context or even sharing ideas.
The screenshots are saved in a "Screenshots" folder at the .blend file’s location. If no .blend file is found, the "Screenshots" folder is created on the desktop alongside an "Untitled" .blend file.
Note: The OpenGL render only works in Eevee/Material Preview or Workbench. If in Cycles, it will appear black.
Compatibility:
- The OpenGL render is only compatible with Eevee/Material Preview and Benchmark Renderer.
- It is intended for look development only.
Preferences
- Choose image format.
- Set max height for OpenGL render.
- Set OpenGL aspect ratio.
- Set OpenGL shading mode.
Prmary
Secondary (OpenGL)
Quick Export
Quickly exports the selected geometry in FBX, OBJ, GLB, and STL formats (using mostly default settings) in just two clicks.
Files will be exported to an "Exports" folder at the current .blend file’s location. If no .blend file exists, an “Untitled” .blend file will be saved to the desktop. The "Exports" folder will be saved to the desktop as well, with a "Textures" folder inside that contains any textures that were applied to the models. Future versions of Cramo Tools will allow default export settings to be set.
Operation:
Select all the models you wish to export and choose quick export from the Cramo Tools menu (F1 by default). Next to each item selected or format buttons that can be clicked. Models will be exported to the location seen below.
Quick Import
Searches the current location of the .blend file, "Downloads" and "Desktop" folders for supported file types. Found files appear in a checklist, allowing for selection of which ones to import. Multiple files can be imported simultaneously with a single click. Duplicate imports will initiate a sequential naming sequence.
Example:
If a "Door" mesh already exists in the scene, the new/re-imported mesh will be renamed "Door_02".
Face Orientation
Simply toggles the face orientation overlay on and off.
Flip Normals
Flips the normals of the selected faces while in edit mode or all faces when in object mode.
Unify Normals
Simply reorients the normals to the “outside” of the selected mesh. Object mode only.
Name Sync
Name Sync overrides Blender's default naming conventions by establishing a new, sequential structure for objects and their associated data names when applicable. It automatically identifies and labels praent objects with the appropriate Parent or Family tag for a more organized outliner.
Key Features:
- Synchronizes object names with their mesh data names.
- Automatically applies "Parent" or "Family" to a parent/root object depending on complexity.
- Applies sequential naming to hierarchical structures for readability and organization.
- Cleans up any orphan data without a fake user if it conflicts with naming.
- Children's names/data can be synced independently, but can be overwritten by a synced parent.
- Adapts to existing name separators (- or _) in children, or defaults to underscore.
Without Name Sync | With Name Sync |
---|---|
Cube | Cube (Parent) |
├── Cube | ├── Cube_01 |
├── Cube.001 | ├── Cube_02 |
├── Cube.001 | ├── Cube_03 |
Without Name Sync |
With Name Sync |
---|---|
Vehicles | Vehicles (Family) |
├── Car | ├── Car (Parent) |
├── Car.001 | ├── Car_01 |
├── Car.002 | ├── Car_02 |
├── Truck | ├── Truck (Parent) |
├── Truck.001 | ├── Truck_01 |
├── Truck.002 | ├── Truck_02 |
Note: Hierarchy gets a "Family" suffix if two or more "Parent" exist underneath a root object
Backup
Creates organized backups of selected objects and stores them in a hidden (by default) "Backup" collection. It maintains object hierarchies and runs other tools like Name Sync simultaneously in the background to improve organization and readability.
Key Features:
- Preserves parent-child relationships to maintain hierarchy integrity.
- Automatically synchronizes object and mesh data names for consistency.
- Cleans up orphaned mesh data if it's not marked as a fake user.
Cleanup
A cleanup utility that removes unused data-blocks and empty collections from the scene, helping maintain a clean and efficient .blend file.
Key Features:
- Removes empty collections: Recursively deletes collections (and their empty children).
- Deletes empty material slots.
- Purges unused data blocks—including materials, textures, images, actions, meshes, lights, cameras, and node groups.
Support
Created by Craig O. Monroe
Contact/Support: craigmonroe.com/contact
Portfolio: craigmonroe.com
Website: cramosaurus.com