This is a collection of scripts that I've written (with the help of many people) which I turned into a plugin and a toolbar to go with it. There are geometry-creating/editing tools, Bill of Materials, Mass calculation, and other data tools, a project timer, an archiving script, and more. Here is a list of available commands:
Bill of Materials and object data tools
- BOM - Calculates object weights (actually, mass) based on density and exports object notes and other attributes to a .csv file or to the clipboard. (Note: Objects need to have a "real material" assigned in order to do the mass calculations. See below...) Now includes more options and lets users select which columns to export. Items that can be exported to the bill of materials includes Part Name, Real Material, Mass(Weight), Box Size, Object Note, Volume, Surface Area, Layer, Volume Centroid, and Area Centroid. New: all options are now on the command line, making it macro-friendly (and faster to use.)
- Mass - Shows mass of one or more objects on the command line (if multiple objects are selected, the command line shows the cumulative mass.)
- AddMassText - creates a live text object linked to any object that's had a real material applied.
- ScaleObjectToSpecificMass - Scales the selected object to a target mass from the user.
- RealMaterialTools - Includes options to add a real material to objects (includes a way to create custom materials based on the density, and it comes with some materials already in there), match real materials, select objects with no real material, or delete real material data from selected objects. Also there's an option for selecting objects by their material names.
- ObjectNoteTools - Includes options to add an object note to objects, match object notes, select objects with no object notes, or delete notes from objects. Object notes show up in the BOM or in the DotWithData tool.
- DotWithData - Adds annotation dots to selected objects with text option of either part name, layer, real material, mass, object volume, object surface area, object note, volume centroid, area centroid, or bounding box dimension. New in 2.1: Create a dot that shows the Cumulative Center of Gravity of a group of closed objects based on their various weights.
- SelUnnamed - Selects all unnamed objects.
- NameObjects - Lets you name a bunch of objects in serial fashion (brings up a box for each selected object one by one.)
- BatchNameModifier - Lets you add text to a batch of object names at once, either at the front or end of the name.
Geometry-creating or editing tools
- TrimAtLine - Prompts you to draw a line to use as a trim line, pick whatever you want to trim, then right-click to delete the line.
- TrimAtZero - Same, but starts line at 0,0
- SplitBoth - Splits two sets of surfaces with each other
- SplitWithEdgesAndCurves - Script that automates typing in 'crv' after picking the split command.
- JoinCurvesByClosestEnds - Joins two curves by closest ends by adding two straight lines.
- QuickCage - Click one of 15 numbers (2 through 16) on the command line or type in a number, and the tool creates a bounding-box cage around your object with that many points in each direction. Great for quick edits.
- SetX - Flattens an object in the world X direction.
- SetXTo0 - Flattens an object in the world X direction to 0.
- SetY - Flattens an object in the world Y direction.
- SetYTo0 - Flattens an object in the world Y direction to 0.
- SetZ - Flattens an object in the world Z direction.
- SetZTo0 - Flattens an object in the world Z direction to 0.
- MagicCap - Creates a planar surface from any selection of curves and/or surface edges.
- HideAllUnselectedCurves - Hides all unlocked visible unselected curves.
HideAllUnselectedPoints - Hides all unlocked visible unselected points.
TimerTools - Simple tools for keeping track of time spent on a project. Nested options include StartTimer, StopTimer, TimerLog, and CalculateTotalHours. The TimerLog is a text file of the start and stop times and it is part of your current rhino document. It can be edited manually if you make a mistake - just open TimerLog.
This group of tools manages an archive of bits of geometry you might need later. It does this by creating a layer called Archive that stays turned off, and it manages adding or retrieving items from that layer. I created this because I use Hide just to hide things for a few moments, and I needed something else for longer-term holding of things I wanted to keep around just in case they are needed later.
Archive Command - Has 3 nested options. ArchiveObjects moves objects to archive layer. ArchiveCopy moves a copy of objects to the archive layer. UnarchiveSelected lets you pick objects from the archive layer to move from that layer to the current layer.
- ZoomToUnlocked - Zooms to all unlocked objects ('normal' objects).
- ZoomToUnlockedAll - Same as zoom to unlocked, but all views.
- DetailsTools - Tools for modifying all details in a layout at once. Includes ability to change display mode in all, zoom extents in all, or make scale match in all details.
- AddPointAtBBoxCentroid - Adds a point at an object's bounding-box center.
- AboutPetersTools - Brings up a box showing you what version you are running and link to more info.