Best way to create BOM / parts lists in Rhino?

Best way to create BOM / parts lists in Rhino?

Hi everyone,

I currently use Rhino 7 and I’m considering upgrading to Rhino 8. At work we use SketchUp, mainly because of parts lists, but I would prefer to use Rhino long term.

Is there a simple way to create reusable blocks/components with information such as:

  • Article number
  • Manufacturer
  • Dimensions
  • Price
  • Quantity

For example, an OCTANORM frame that Rhino automatically counts and exports into an Excel/CSV parts list.

Would you recommend Rhino Blocks + User Text, Grasshopper, Python, VisualARQ or another solution?

I have no scripting experience, so a beginner-friendly explanation or example would be very helpful.

Also, does Rhino 8 make this easier than Rhino 7, and would you choose Rhino or SketchUp for this workflow?

Thank you!

Pretty easy to setup in Grasshopper, do you have an example file.

Do you use out-of-the-box Sketchup or a plugin (or plugins)? Sketchup has lots of really great plugins. Rhino is catching up in the “everyday” plugin department. There is lots of very advanced mathematical stuff out there, but not many practical stools (like a BOM generator) that you can just plug in and use.
I would say that Rhino 8 is better than Rhino 7 but not quite for the answer(s) you’re looking for. Scripting is way better in Rhino 8 for a few different reasons. I think it’s only a matter of time until a really good BOM is created. I could probably make one if I spent 1 whole weekend and I’m not much a programmer to be honest. The two big changes are that AI has more or less made up for the lack of documentation, and Rhino 8 uses Python 3.
I was working on a “part generator” for lumber take-offs. Most the hard stuff was solved and I was about to work on the table generation (my table would just be linework but look like a table). The big focus for that project was figuring out the nominal size(s) when pieces were cut certain ways. I was trying to get the script to recognize 2x4’s, 2x6’s, plywood, etc… automatically.

I don’t know exactly what you’re doing but I would guess that you’d need:

  • Some sort of quick way to add the attributes to the block instead of creating them all manually. Maybe some automatic naming too. A simple ETO form could help with this. Seems easy enough but I’ve never done anything like that before
  • The export / Table Generation tool - this is something that could be vibe-coded literally in seconds.

If the time taken to create blocks doesn’t wear you down too much, the program’s native capabilities combined with some relatively simple scripting might make building something pretty easy. In a recent project I stuck to a good naming convention and was actually able to use the block manager to get ‘live’ quantities. The block management tools in Rhino 8 get a lot of flack here but I think they’re really good. I think they were added in R8 but I’m not sure (ages since I used R7).

Visual Arq had some issues for me when trying to generate tables. Example: A door or window schedule was displaying feet-inches inconsistently. I think the number was correct just different formats (very easy fix but nobody wanted to fix it I guess).

I don’t think Grasshopper is the best solution for this. You’d have to open the Grasshopper window every time where as a script is much easier to port to a command alias. It didn’t seem to have the right tools I needed unless I made a custom script component (meaning what’s the point). I might be wrong here, but if I am then something probably already exists.

Do you need that for it? Could you help me with this? That would be so kind of you. I dont have it now

Hi Dale, thank you so much! This already sounds a lot simpler than most of what I’ve been reading.

How do I get this version exactly? I currently have a Rhino 7. Do I first install Rhino 8 testversion and then install the beta separately?

I also still have Rhino 7, so if you could tell me whether this is possible there as well, that would be amazing.

Your help would honestly be really appreciated — I think this could help a lot of people.

Probably the best today is the free plugin byRhinoGadget
https://www.food4rhino.com/en/app/byrhinogadget
That contains BOM and exploded view as well.

Check this also:

Hi Dale, where can I download this function?

Rhino V8 functions won’t work in Rhino 7.
You must update to the new version first.
Once you have a V8 license you can try the v9 beta version.

Hey, thank you so much for your quick reply!

I have one more question. Would it make sense for me to try the Rhino 8 trial first and then upgrade directly from Rhino 7 to Rhino 9 once it is released?

I’m still a student and currently have a Rhino 7 student license. I’m just wondering about the costs, because if I upgrade from Rhino 7 to Rhino 8 now and then later from Rhino 8 to Rhino 9, I assume I would have to pay for two upgrades.

Would it therefore be better to stay on Rhino 7 for now, test Rhino 8 with the trial version, and then upgrade directly to Rhino 9 later? How would you recommend doing it?

This one worked for me in the past, here is an updated version.

I haven’t fully tested going to multiple layouts with multiple cvs yet… EDIT: Content Cache for Model Space, Bake for Layouts


GH-BomTable.gh (24.9 KB)

BomTableBlocks.3dm (168.2 KB)

a companion to this is a Rhino plugin with two commands

BomFromBlocks which will asks for a selection and has a few options in the command line.

or BomTable which will take a CSV (option to Qty as well) and place a table.

BomTableRhino.rhp (61.5 KB)

install the plugin by dragging and dropping, then restart Rhino.