BOM (Bill Of Materials) function

Have some feature requests, feedback, cool stuff to share, or want to know where FreeCAD is going? This is the place.
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
User avatar
Kunda1
Posts: 5135
Joined: Thu Jan 05, 2017 9:03 pm

BOM (Bill Of Materials) function

Postby Kunda1 » Wed Jul 26, 2017 11:39 am

Is a BOM function available in FC?
Want to contribute back to FC? Checkout:
#lowhangingfruit | Use the Source, Luke. | How to Help FreeCAD | How to report FC bugs and features
User avatar
r-frank
Posts: 2181
Joined: Thu Jan 24, 2013 6:26 pm
Location: Möckmühl, Germany
Contact:

Re: BOM (Bill Of Materials) function

Postby r-frank » Wed Jul 26, 2017 11:47 am

Deutsche FreeCAD Tutorials auf Youtube
My GrabCAD FreeCAD-Projects
FreeCAD lessons for beginners in english

Native german speaker - so apologies for my english, no offense intended :)
User avatar
Kunda1
Posts: 5135
Joined: Thu Jan 05, 2017 9:03 pm

Re: BOM (Bill Of Materials) function

Postby Kunda1 » Wed Jul 26, 2017 11:53 am

r-frank wrote:
Wed Jul 26, 2017 11:47 am
Macro_Dump_Objects
Interesting Thanks @r-frank
Question: Is there a method to integrate the FC Spreadsheet WB with this macro ?
Want to contribute back to FC? Checkout:
#lowhangingfruit | Use the Source, Luke. | How to Help FreeCAD | How to report FC bugs and features
Jee-Bee
Posts: 1940
Joined: Tue Jun 16, 2015 10:32 am
Location: Netherlands

Re: BOM (Bill Of Materials) function

Postby Jee-Bee » Wed Jul 26, 2017 12:26 pm

Thought that Assembly2 had something similar but that works as far as i know with drawing workbench and not Techdraw...
User avatar
NormandC
Posts: 18534
Joined: Sat Feb 06, 2010 9:52 pm
Location: Québec, Canada

Re: BOM (Bill Of Materials) function

Postby NormandC » Fri Jul 28, 2017 1:19 am

A BOM is typically something you generate from a technical drawing, not from the 3D model. At least that's what I know from the few commercial parametric CAD software I've used. Logically this function should be added to TechDraw at some point in the future.

As for a BOM generated from the 3D model, I guess this could be useful, but in what form would it be created (BOM object in the tree?), and how would it be displayed?
triplus
Posts: 8605
Joined: Mon Dec 12, 2011 4:45 pm

Re: BOM (Bill Of Materials) function

Postby triplus » Fri Jul 28, 2017 12:58 pm

A lot of workbenches offer BOM feature for the specialized purpose of the workbench itself. One not mentioned yet is Fasteners workbench. As for more general solution ATM you can insert Spreadsheet View into a drawing and use it to create a BOM. As for filling the BOM with data there are more options. For smal tasks you could do that manually or/and use a macro to reduce the amount of work:

https://forum.freecadweb.org/viewtopic. ... 415#p99829

For managing (small and) bigger tasks Arch Schedule feature can be used:

https://forum.freecadweb.org/viewtopic.php?f=9&t=17243
User avatar
yorik
Site Admin
Posts: 11458
Joined: Tue Feb 17, 2009 9:16 pm
Location: São Paulo, Brazil
Contact:

Re: BOM (Bill Of Materials) function

Postby yorik » Fri Jul 28, 2017 5:18 pm

The problem with BOMs is that it is a very, very large concept. It's basically "data gathered from the model". But depending on your specialty, or what you intend to do with it, it can be hundreds of different things and have hundreds of different forms. It is very hard to define an implementable model that would serve them all...

I tried a kind of generic approach with the Arch schedule too (it fills a spreadsheet, each line being a "query" you do on some parts of your model), but it's pretty complex. Maybe a series of simpler tools, each for a specific type of BOM would be better. That can be done with macros.

Basically it's simple: it's just a matter of filling the cells of a spreadsheet. Then, TechDraw has a tool to show a spreadsheet on a sheet...
Jee-Bee
Posts: 1940
Joined: Tue Jun 16, 2015 10:32 am
Location: Netherlands

Re: BOM (Bill Of Materials) function

Postby Jee-Bee » Fri Jul 28, 2017 6:24 pm

I don't like the idea of macro's for creating a BOM.
From my machine building experiece it is 99% of the time something like this

Code: Select all

Asseembly
 |_ part 1
 |_ part 2
 |_ assembly 1
     |_ part 1
     |_ part 2
     |_ part 3
     |_ part 4
 |_ part 3
 |_ Assembly 2
     |_ part 1
     |_ part 2
     |_ part 3
 
The BOM of my assembly is
Asseembly
|_ part 1
|_ part 2
|_ assembly 1
|_ part 3
|_ Assembly 2

From my assembly 1
|_ part 1
|_ part 2
|_ part 3
|_ part 4

etc.
Sometimes for you want to add lets say assembly 2 to the BOM of Assembly. In Creo you have to do this manually...

I can imagine that every work field/ workbench have it's own methods... but i would say that Techdraw goes to functions in the desired workbench for it's information...
emills2
Posts: 576
Joined: Tue Apr 28, 2015 11:23 pm

Re: BOM (Bill Of Materials) function

Postby emills2 » Fri Jul 28, 2017 9:27 pm

In the context of mechanical assemblies, there is a generally accepted core concept for the BOM. It is the list of parts and associated quantities at the level of the assembly in question.

Tabulating raw materials is kept separate ( bags of cement, feet of steel square tubing, blocks of aluminum billet). Figuring out cut lists and non integer quantities is best left out of the basic BOM. In fact you can't do these calcs unless you have a good integer bom already. There are several mathematical problems with no closed form solutions in this field. Unless you like nightmares, you really want the first bom simple. After you have correctly reported the number of identical wall sections, you can go right ahead and add volume/length/surface areas to each BOM entry and compute the non integer material requirements.

The most practical thing is the parts-only BOM: compile and count identical parts across all subassemblies.

Next most useful is the hierarchical BOM: compile and count the actual entries (whether part or subassembly) at the current assembly level.

In either case, you need to a way to flag an assembly to report as a single part for BOM purposes to account for purchased subassemblies or those you already have in stock.

Correctly setting this 'expand/contract' will let you generate 99% of the BOMs you need until you're ready for SAP
User avatar
yorik
Site Admin
Posts: 11458
Joined: Tue Feb 17, 2009 9:16 pm
Location: São Paulo, Brazil
Contact:

Re: BOM (Bill Of Materials) function

Postby yorik » Sat Jul 29, 2017 3:05 pm

Great, we're heading somewhere... But there are still some particularities everywhere, for ex:

1) Organizing things "by assembly" requires that a BOM script will be able to know which object depends on which assembly. That pretty much restricts things to a strict structure like PartDesign bodies, for example. If you model some loose things with other workbenches, or choose to "unite" things in a way the person who coded the BOM script didn't think of, they might fall out of scope of the BOM.

2) If we say "a BOM is a list of parts + associated quantities", even so, there are particularities. For example, if you have a machine which contains rods and screws. You will want to get the lengths of the rods, but for the screws you will want only the amount, not their length.

Is there any app out there that does a good job at building BOMs? Would be interesting to look at what makes them do a good job...