Site Tools

Peter's Tools 1.98

Summary: Miscellaneous scripts (no longer compiled into a plug-in, just scripts and toolbar) (developed primarily by Peter Harris).

I'm not supporting Rhino V4 or V5 anymore, though the old plugins for those versions are still linked at the bottom of this page. Also, please remember that these are free tools that you use at your own risk, of course.

What's new since Version 1.95

  • This update is primarily to go back to making these scripts into a plugin. They will run faster this way & be simpler to install. I also made the DotWithData tool work with meshes in more cases. Other changes are minor bug fixes.


I've created 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. The download link is at the bottom of the page. Thanks to all who have helped me on these scripts! Especially Pascal, David, Dale, and Mitch.


The commands currently available in the PetersTools plug-in are:

BOM and object properties tools

  1. BOM - Calculates object weights 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 weight calculations. See next tool…) 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 & Weight, Box Size (bounding box), Object Notes, Volume, Surface Area, Layer, Volume Centroid, and Area Centroid. This tool has a lot in common with Rhino's built-in properties export (export → .csv), except that this includes real material and weight, so if you don't need those properties, try the built-in tool first!
  2. RealMaterialTools - Includes options to set a real material to objects (includes a way to create custom materials based on the density, and it comes with some plastics already in there), match real materials, select objects with no real material, or delete real material data from selected objects.
  3. ObjectNoteTools - Includes options to set 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.
  4. DotWithData - Adds annotation dots to selected objects with text option of either part names, layer, real materials, weight, object volumes, object surface areas, object notes, volume centroid, area centroid, or bounding box dimensions.
  5. SelUnnamed - Selects all unnamed objects.
  6. NameObjects - Lets you name a bunch of objects in serial fashion (brings up a box for each selected object one by one.)

Geometry-creating or editing tools

  1. MagicCap - Creates a planar surface from any selection of curves and/or surface edges. Here's how it works:

  1. JoinCurvesByClosestEnds - Joins two curves by closest ends by adding two straight lines.
  2. 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.
  3. SplitBoth - Splits two sets of surfaces with each other.
  4. SplitWithEdgesAndCurves - Script that automates typing in 'crv' after picking the split command.
  5. 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.
  6. TrimAtZero - Same, but starts line at 0,0
  7. SetX - Flattens an object in the world X direction.
  8. SetXTo0 - Flattens an object in the world X direction to 0.
  9. SetY - Flattens an object in the world Y direction.
  10. SetYTo0 - Flattens an object in the world Y direction to 0.
  11. SetZ - Flattens an object in the world Z direction.
  12. SetZTo0 - Flattens an object in the world Z direction to 0.

File utilities

  1. BatchSaveSmall - Lets you automate saving a folder of Rhino files small (including subfolders, optionally). This command does not work well on Rhino files from older versions if you are running the command from Rhino 6 because it will ask if you really want to save as V6 for each file. I cannot find a way around that warning.
  2. Open3dmFileInNewWorkspace - Opens a Rhino file without closing the currently open Rhino file.
  3. OpenSelectedInNewWorkspace - Opens the currently selected objects in a new Rhino window.
  4. PickScriptFromFolder - This script creates a list of the scripts that are on your computer and that are listed in your search paths in the Rhino options. You can click on any script in the list to run it.

Misc tools

  1. TimerTools - Simple tools for keeping track of time spent on a task. Nested options include StartTimer, StopTimer, SetProjectNumber, and TimerLog. If you StartTimer or StopTimer without a project name, you'll be prompted to add one. The TimerLog is a text file of the start and stop times along with project numbers.
  2. DetailsTools - Tools for modifying all details in a layout at once. Includes ability to change display mode in all, zoom extents in all, make scale match in all, or apply your own macro or command to all details.
  3. HideAllUnselectedCurves - Hides all unlocked visible unselected curves.
  4. HideAllUnselectedPoints - Hides all unlocked visible unselected points.
  5. ZoomToUnlocked - Zooms to all unlocked objects ('normal' objects).
  6. ZoomToUnlockedAll - Same as zoom to unlocked, but all views.
  7. AboutPetersTools - Brings up a box showing you what version you are running.

Installation in Rhino 5, 6, or 7

  1. Download the zip file to either your downloads folder or a user folder (C:\Users\(user-name). Unzip to the same place.
  2. Right-click on the PetersTools.rhp file and select Properties. On the General tab, see if the file is blocked. (It'll say so near the bottom of the page.) If so, unblock it. This cannot be done unless the file is in your downloads or user folder. (Actually, I've heard that desktop works, too.)
  3. It may work to drag & drop both files into the Rhino window. This is the easiest solution. If that doesn't work, try:
  4. Copy the PetersTools.rhp file to your Rhinoceros 5.0 or 6.0 or 7.0 (64-bit)\Plug-ins folder.
  5. Copy the PetersTools.rui file to wherever you like to keep toolbars.
  6. Start Rhino.
  7. Run PluginManager and press the install button. Browse to your Rhinoceros 5.0 (64-bit)\Plug-ins directory and select PetersTools.rhp.
  8. Load the toolbar that you saved by going to the Tools menu, pick Toolbar Layout, then File/Open the toolbar file.
  9. If you then try to use the tools and encounter 'unknown command', go to Tools→options→plugins, check to make sure Rhinoscript is Enabled.


Download link for Rhino 6 and 7 users:

Download link for Rhino 5 users:

Here's the Rhino 4 version, which may have different options… Download link for Rhino 4 users (I think this is the right file!):

E-mail me with your questions and feedback on this plug-in. I get very little feedback, so anything I get really helps!

people/peterharris.txt · Last modified: 2020/08/14 (external edit)