Bill of Materials for Rhino

Does anyone have a good suggestion for creating a detailed Bill of Materials (BOM) from Rhino 7?
We are designing a boat with hundreds of parts, as well as nested plate cutouts, and we need a way to create a BOM with detailed info like part number, quantities, manufacture info, weights, materials, etc., that can be extracted from our model.
Thanks in advance!

Well, it won’t do quantities, but otherwise my plugin, Peterstools, might fit the bill.

1 Like

Petertools is great…Pretty simple to just export or paste the results into excel to total quantities.

1 Like

If all your parts are blocks, you can utilize the count feature in block manager. Obviously that comes with the initial overhead of set up and modeling, coupled with the poor performance of nested blocks in rhino, but if you are already modeling like that, this should give you everything you are asking about.

1 Like

Thank you. This is what I was thinking. Do you know if there is a way to export this data to a spreadsheet, and how much info can be extracted (ex. material, weights, part numbers, etc.)

Here is a screen shot on the info that can be pulled from objects with the above mentioned Petertools…


Once you select/check the boxes and hit OK it gives you the option to either create a CSV file or put the info on the clipboard which can then just be pasted directly pasted into an open excel sheet.


I would recommend using elefront to help organize your blocks with attributes. I couldn’t find a good tool that provides a live database. I tested out Antfarm but it doesn’t seem to be in active development and was missing some features. I’m using swiftlet to write data to an online database like Airtable or Xano. That way you have a way of keeping track of your BOM as you model. You could also use Make or integromate to manipulate your data, for example if you wanted to group your BOM by assembly and pre-populate a google doc. The real problem is going to keeping the model accurate in terms of counts and getting the right count for the the right type, ie SF, LF etc. SF is typically the surface area of one side of a volume for example. Counts will need to align to objects so it you have objects in a block those won’t get counted correctly, or conversely if several blocks make up one object then you might overcount. Sounds simple but the devil is in the details. There might be some nautical software that takes care of all of this for you based on your industries standards, but I’m not aware of any.

1 Like

Hi Ryan,
Here is simple Py script that will write the block name, description, and counts to a CSV file.
It will work in Rhino 7 or 8, Windows or Mac. (1.2 KB)

  1. Open Rhino.
  2. Type RunPythonScript and load
  3. It writes all blocks count and info to a CSV file with the file name and location that you specify.
  4. You can open it is Xcel to sort, format and run reports.

Command: RunPythonScript
Block counts exported to the file name and location that you specify.

Video here:

We have also logged wish: RH-78336/Enhanced-Block-Count
If you like the way this works or want it to work differently, start learning scripting here Scripting category on this Forum.

Mary Ann Fugier


Here is version 3! (1.8 KB)

This one includes a dialog to select Block definition properties to export.

I wrote this Toolbar macro, but you will need to replace my path with your own:
! -RunPythonScript “C:/Users/mary/Desktop/Scripts/” Enter

If you are using Rhino 8, try Dale’s Garage to add an panel for your Python scripts.
Rhino 8: type command PackageManager → Garage. Install and open Scripts panel:
Use the file folder icon to browser to your Python scripts folder. I keep one right under the Desktop and when I write or download a script, it always goes there.


Let us know if this works for you.
Mary Ann Fugier


This is so awesome Mary!!! This is going to make BOM’s in Rhino so much easier and user friendly!

Thank you so much for developing this wonder tool!!!



This is incredible! You put a lot of smiles of faces here at my office. I can’t thank you enough for getting this done. This is so good.

Much appreciated.

Ryan Luke
Aurora Marine Design